diff options
author | rr- <rr-@sakuya.pl> | 2017-01-30 09:45:55 +0100 |
---|---|---|
committer | Claudiu Popa <pcmanticore@gmail.com> | 2017-02-09 10:12:29 +0200 |
commit | a4522cf7115a3a1e7cc714d4446cd1a226dab480 (patch) | |
tree | fa200dbe6e507a49942e92d6d20849fef843fe37 /astroid/rebuilder.py | |
parent | 563031aaf13a44adc8db4f8d0ab8020d550aae00 (diff) | |
download | astroid-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.py | 13 |
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 |