summaryrefslogtreecommitdiff
path: root/astroid/rebuilder.py
diff options
context:
space:
mode:
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