summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scoped_nodes.py33
1 files changed, 12 insertions, 21 deletions
diff --git a/scoped_nodes.py b/scoped_nodes.py
index d5f2e71e..cb8fb6cd 100644
--- a/scoped_nodes.py
+++ b/scoped_nodes.py
@@ -170,26 +170,6 @@ def frame(self):
GenExpr.frame = frame
-class GetattrMixIn(object):
- def getattr(self, name, context=None):
- try:
- return self.locals[name]
- except KeyError:
- raise NotFoundError(name)
-
- def igetattr(self, name, context=None):
- """infered getattr"""
- # set lookup name since this is necessary to infer on import nodes for
- # instance
- context = copy_context(context)
- context.lookupname = name
- try:
- return _infer_stmts(self.getattr(name, context), context, frame=self)
- except NotFoundError:
- raise InferenceError(name)
-extend_class(Module, GetattrMixIn)
-extend_class(Class, GetattrMixIn)
-
# Module #####################################################################
class ModuleNG(object):
@@ -232,7 +212,18 @@ class ModuleNG(object):
except:
pass
raise NotFoundError(name)
-
+
+ def igetattr(self, name, context=None):
+ """infered getattr"""
+ # set lookup name since this is necessary to infer on import nodes for
+ # instance
+ context = copy_context(context)
+ context.lookupname = name
+ try:
+ return _infer_stmts(self.getattr(name, context), context, frame=self)
+ except NotFoundError:
+ raise InferenceError(name)
+
def source_line(self):
"""return the source line number, 0 on a module"""
return 0