def _children_get(self):
        try:
            return self._memo['children_get']
        except __HOLE__:
            pass

        # The return list may contain duplicate Nodes, especially in
        # source trees where there are a lot of repeated #includes
        # of a tangle of .h files.  Profiling shows, however, that
        # eliminating the duplicates with a brute-force approach that
        # preserves the order (that is, something like:
        #
        #       u = []
        #       for n in list:
        #           if n not in u:
        #               u.append(n)"
        #
        # takes more cycles than just letting the underlying methods
        # hand back cached values if a Node's information is requested
        # multiple times.  (Other methods of removing duplicates, like
        # using dictionary keys, lose the order, and the only ordered
        # dictionary patterns I found all ended up using "not in"
        # internally anyway...)
        if self.ignore_set:
            iter = chain.from_iterable(filter(None, [self.sources, self.depends, self.implicit]))

            children = []
            for i in iter:
                if i not in self.ignore_set:
                    children.append(i)
        else:
            children = self.all_children(scan=0)

        self._memo['children_get'] = children
        return children
dataset/ETHPy150Open kayhayen/Nuitka/nuitka/build/inline_copy/lib/scons-2.3.2/SCons/Node/__init__.py/Node._children_get