summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcpopa <devnull@localhost>2014-01-27 15:56:40 +0200
committercpopa <devnull@localhost>2014-01-27 15:56:40 +0200
commit497bc1cbe3a141a5c1cf58ba6cb3ba8e54e060ec (patch)
treee7a174ad80f41fde33d6692aee4ed1bcd2aa50de
parent76ae10b9d02a11fce661cbf93261e578f7f49030 (diff)
downloadastroid-497bc1cbe3a141a5c1cf58ba6cb3ba8e54e060ec.tar.gz
vararg and kwarg are instances of _arg.arg for Python 3.4, not strings.
-rw-r--r--rebuilder.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/rebuilder.py b/rebuilder.py
index d4b46d3..c9a5a88 100644
--- a/rebuilder.py
+++ b/rebuilder.py
@@ -88,6 +88,7 @@ REDIRECT = {'arguments': 'Arguments',
'Repr': 'Backquote',
}
PY3K = sys.version_info >= (3, 0)
+PY34 = sys.version_info >= (3, 4)
def _init_set_doc(node, newnode):
newnode.doc = None
@@ -854,6 +855,13 @@ class TreeRebuilder3k(TreeRebuilder):
def visit_arguments(self, node, parent):
newnode = super(TreeRebuilder3k, self).visit_arguments(node, parent)
+ if PY34:
+ # change added in 82732 (7c5c678e4164), vararg and kwarg
+ # are instances of `_ast.arg`, not strings
+ if node.vararg:
+ newnode.vararg = node.vararg.arg
+ if node.kwarg:
+ newnode.kwarg = node.kwarg.arg
self.asscontext = "Ass"
newnode.kwonlyargs = [self.visit(child, newnode) for child in node.kwonlyargs]
self.asscontext = None