def METHOD_NAME(self) -> List[Output]:
    results = []
    for contract in self.compilation_unit.contracts_derived:
        for function in contract.functions:
            if function.entry_point:
                ret: List[Tuple[Variable, Node, Node]] = []
                _detect_write_after_write(function.entry_point, set(), {}, ret)
                for var, node1, node2 in ret:
                    info: DETECTOR_INFO = [
                        var,
                        " is written in both\n\t",
                        node1,
                        "\n\t",
                        node2,
                        "\n",
                    ]
                    res = self.generate_result(info)
                    results.append(res)
    return results