def collect_variables(self): # args[9] is the "link" argument # if self.args.link is None: if self.args[9] is None: return FilteredExpression.collect_variables(self) else: # in this case, it's tricky return set()
def collect_variables(self, context): variables = FilteredExpression.collect_variables(self, context) if self.expressions and self.link is None: variables |= set.union(*[collect_variables(expr, context) for expr in self.expressions]) variables |= collect_variables(self.need, context) variables |= collect_variables(self.take_filter, context) variables |= collect_variables(self.leave_filter, context) return variables