summaryrefslogtreecommitdiff
path: root/astroid/rebuilder.py
diff options
context:
space:
mode:
authorrr- <rr-@sakuya.pl>2017-01-30 09:45:55 +0100
committerClaudiu Popa <pcmanticore@gmail.com>2017-02-09 10:12:29 +0200
commita4522cf7115a3a1e7cc714d4446cd1a226dab480 (patch)
treefa200dbe6e507a49942e92d6d20849fef843fe37 /astroid/rebuilder.py
parent563031aaf13a44adc8db4f8d0ab8020d550aae00 (diff)
downloadastroid-git-a4522cf7115a3a1e7cc714d4446cd1a226dab480.tar.gz
Add support for Python 3.6's annotated assignment nodes
Diffstat (limited to 'astroid/rebuilder.py')
-rw-r--r--astroid/rebuilder.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/astroid/rebuilder.py b/astroid/rebuilder.py
index b81f182b..f66809bc 100644
--- a/astroid/rebuilder.py
+++ b/astroid/rebuilder.py
@@ -333,7 +333,8 @@ class TreeRebuilder(object):
def visit_const(self, node, parent):
"""visit a Const node by returning a fresh instance of it"""
- return nodes.Const(node.value, getattr(node, 'lineno', None),
+ return nodes.Const(node.value,
+ getattr(node, 'lineno', None),
getattr(node, 'col_offset', None), parent)
def visit_continue(self, node, parent):
@@ -828,6 +829,16 @@ class TreeRebuilder3(TreeRebuilder):
elif node.handlers:
return self.visit_tryexcept(node, parent)
+ def visit_annassign(self, node, parent):
+ """visit an AnnAssign node by returning a fresh instance of it"""
+ newnode = nodes.AnnAssign(node.lineno, node.col_offset, parent)
+ annotation = _visit_or_none(node, 'annotation', self, newnode)
+ newnode.postinit(target=self.visit(node.target, newnode),
+ annotation=annotation,
+ simple=node.simple,
+ value=_visit_or_none(node, 'value', self, newnode))
+ return newnode
+
def _visit_with(self, cls, node, parent):
if 'items' not in node._fields:
# python < 3.3