summaryrefslogtreecommitdiff
path: root/node_classes.py
diff options
context:
space:
mode:
authorJulien Cristau <julien.cristau@logilab.fr>2013-06-20 15:45:35 +0200
committerJulien Cristau <julien.cristau@logilab.fr>2013-06-20 15:45:35 +0200
commitf816bceffc7c43c049773223f94b776961fd3e78 (patch)
treea325fe54a04100b89d99e66c32f59826df27114f /node_classes.py
parent3630cf510922ef1afd15ecf00bbf6e82adcd41b4 (diff)
downloadastroid-git-f816bceffc7c43c049773223f94b776961fd3e78.tar.gz
Handle python3.3's With nodes
Change With nodes to have a list of (expr, var) items as in python 3.3's ast.
Diffstat (limited to 'node_classes.py')
-rw-r--r--node_classes.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/node_classes.py b/node_classes.py
index 23bf15f7..92a152da 100644
--- a/node_classes.py
+++ b/node_classes.py
@@ -850,17 +850,20 @@ class While(BlockRangeMixIn, Statement):
class With(BlockRangeMixIn, AssignTypeMixin, Statement):
"""class representing a With node"""
- _astroid_fields = ('expr', 'vars', 'body')
- expr = None
- vars = None
+ _astroid_fields = ('items', 'body')
+ items = None
body = None
def _blockstart_toline(self):
- if self.vars:
- return self.vars.tolineno
- else:
- return self.expr.tolineno
+ return self.items[-1][0].tolineno
+ def get_children(self):
+ for expr, var in self.items:
+ yield expr
+ if var:
+ yield var
+ for elt in self.body:
+ yield elt
class Yield(NodeNG):
"""class representing a Yield node"""