diff options
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 f93ad4a8..58f91f43 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): |