def collect_variables(self, context): variables = FilteredExpression.collect_variables(self, context) if self.expressions: variables |= set.union(*[collect_variables(expr, context) for expr in self.expressions]) variables |= collect_variables(self.take_filter, context) variables |= collect_variables(self.leave_filter, context) return variables
def traverse(self, context): for node in FilteredExpression.traverse(self, context): yield node for expr in self.expressions: for node in traverse_expr(expr, context): yield node for node in traverse_expr(self.take_filter, context): yield node for node in traverse_expr(self.leave_filter, context): yield node yield self