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 | 650f0a151ca98b8e91a91c11305b84f771c64dbb (patch) | |
tree | a2a923ec8d2699b1fe6bd38b595e07bc1b672f30 /node_classes.py | |
parent | cbaee0645c621ecb043a2bf39f66c5df391cbe8b (diff) | |
download | astroid-git-650f0a151ca98b8e91a91c11305b84f771c64dbb.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 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): |