diff options
| author | Emile Anclin <emile.anclin@logilab.fr> | 2010-10-12 10:31:00 +0200 |
|---|---|---|
| committer | Emile Anclin <emile.anclin@logilab.fr> | 2010-10-12 10:31:00 +0200 |
| commit | f553f07ca297ed0f9395654785744e58f80f8bc6 (patch) | |
| tree | 2defb7ff88d45f908d60a25942cfe98a32741c70 /node_classes.py | |
| parent | 9b544fe9b943b4df2a4f4e41a21f612ab6a549f4 (diff) | |
| download | astroid-f553f07ca297ed0f9395654785744e58f80f8bc6.tar.gz | |
py3k / Raise : use "exc" instead of "type"
have other attributes explicitly different for 2.x and 3.x
Diffstat (limited to 'node_classes.py')
| -rw-r--r-- | node_classes.py | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/node_classes.py b/node_classes.py index f93ad4a..58f91f4 100644 --- a/node_classes.py +++ b/node_classes.py @@ -20,6 +20,7 @@ """Module for some node classes. More nodes in scoped_nodes.py """ +import sys from itertools import chain, imap from logilab.astng import NoDefault @@ -667,12 +668,25 @@ class Print(StmtMixIn, NodeNG): values = None + class Raise(StmtMixIn, NodeNG): """class representing a Raise node""" - _astng_fields = ('type', 'inst', 'tback') - type = None - inst = None - tback = None + exc = None + if sys.version_info < (3, 0): + _astng_fields = ('exc', 'inst', 'tback') + inst = None + tback = None + else: + _astng_fields = ('exc', 'cause') + inst = None + tback = None + + def raises_not_implemented(self): + if not self.exc: + return + for name in self.exc.nodes_of_class(Name): + if name.name == 'NotImplementedError': + return True class Return(StmtMixIn, NodeNG): |
