Commit d91bbba8 authored by Jeremy Hylton's avatar Jeremy Hylton

Add support for extra (*) arguments to preorder.

Change default dispatch to use extended call syntax in place of apply.
parent 9ab019be
......@@ -61,13 +61,13 @@ class ASTVisitor:
print "dispatch", className
else:
print "dispatch", className, (meth and meth.__name__ or '')
return apply(meth, (node,) + args)
return meth(node, *args)
def preorder(self, tree, visitor):
def preorder(self, tree, visitor, *args):
"""Do preorder walk of tree using visitor"""
self.visitor = visitor
visitor.visit = self._preorder
self._preorder(tree)
self._preorder(tree, *args) # XXX *args make sense?
_preorder = dispatch
......
......@@ -61,13 +61,13 @@ class ASTVisitor:
print "dispatch", className
else:
print "dispatch", className, (meth and meth.__name__ or '')
return apply(meth, (node,) + args)
return meth(node, *args)
def preorder(self, tree, visitor):
def preorder(self, tree, visitor, *args):
"""Do preorder walk of tree using visitor"""
self.visitor = visitor
visitor.visit = self._preorder
self._preorder(tree)
self._preorder(tree, *args) # XXX *args make sense?
_preorder = dispatch
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment