def post_order(self):
        '''
        Return the nodes of the graph in post-order i.e we visit all the
        children of a node before visiting the node itself.
        '''

        def _visit(n, cnt):
            visited.add(n)
            for suc in self.all_sucs(n):
                if not suc in visited:
                    for cnt, s in _visit(suc, cnt):
                        yield cnt, s
            n.po = cnt
            yield cnt + 1, n

        visited = set()
        for _, node in _visit(self.entry, 1):
            yield node
dataset/ETHPy150Open androguard/androguard/androguard/decompiler/dad/graph.py/Graph.post_order/original