def __call__(self, t): if isinstance(t, list): for child in t: self.visit(child) elif isinstance(t, ast.AST): self.visit(t) else: assert False, "Unexpected type: %r" % (t,)