diff options
Diffstat (limited to 'src/engine/SCons/Node')
-rw-r--r-- | src/engine/SCons/Node/__init__.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py index 6b4c996..f1150c4 100644 --- a/src/engine/SCons/Node/__init__.py +++ b/src/engine/SCons/Node/__init__.py @@ -584,13 +584,13 @@ class Node: executor = self.get_executor() sourcelist = executor.get_source_binfo(calc) + depends = self.depends + implicit = self.implicit or [] - sourcelist = filter(lambda t, s=self: s.do_not_ignore(t[0]), sourcelist) - depends = filter(self.do_not_ignore, self.depends) - if self.implicit is None: - implicit = [] - else: - implicit = filter(self.do_not_ignore, self.implicit) + if self.ignore: + sourcelist = filter(lambda t, s=self: s.do_not_ignore(t[0]), sourcelist) + depends = filter(self.do_not_ignore, depends) + implicit = filter(self.do_not_ignore, implicit) def calc_signature(node, calc=calc): return node.calc_signature(calc) @@ -761,7 +761,10 @@ class Node: def _children_get(self): "__cacheable__" - return filter(self.do_not_ignore, self.all_children(scan=0)) + children = self.all_children(scan=0) + if self.ignore: + children = filter(self.do_not_ignore, children) + return children def children(self, scan=1): """Return a list of the node's direct children, minus those |