diff options
| author | Julien Cristau <julien.cristau@logilab.fr> | 2013-06-20 15:45:35 +0200 |
|---|---|---|
| committer | Julien Cristau <julien.cristau@logilab.fr> | 2013-06-20 15:45:35 +0200 |
| commit | f816bceffc7c43c049773223f94b776961fd3e78 (patch) | |
| tree | a325fe54a04100b89d99e66c32f59826df27114f /node_classes.py | |
| parent | 3630cf510922ef1afd15ecf00bbf6e82adcd41b4 (diff) | |
| download | astroid-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.py | 17 |
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""" |
