summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudiu Popa <pcmanticore@gmail.com>2014-02-22 14:58:22 +0200
committerClaudiu Popa <pcmanticore@gmail.com>2014-02-22 14:58:22 +0200
commit8506cd2a4577bd0a2a6cdff412201c628912c8d1 (patch)
tree5a5385e9c9bca6495c8bffc5c6daa705b3f7d85d
parent209ac5e51f3a7d1ee8f07dad17b6d35cba70137b (diff)
parent5987a160867a6e1dc00bdece720f2d7fab8634e0 (diff)
downloadastroid-git-8506cd2a4577bd0a2a6cdff412201c628912c8d1.tar.gz
Merged logilab/astroid into default
-rw-r--r--raw_building.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/raw_building.py b/raw_building.py
index 756bec11..9e850559 100644
--- a/raw_building.py
+++ b/raw_building.py
@@ -35,6 +35,13 @@ MANAGER = AstroidManager()
_CONSTANTS = tuple(CONST_CLS) # the keys of CONST_CLS eg python builtin types
+def _io_discrepancy(member):
+ # _io module names itself `io`: http://bugs.python.org/issue18602
+ member_self = getattr(member, '__self__', None)
+ return (member_self and
+ member_self.__name__ == '_io' and
+ member.__module__ == 'io')
+
def _attach_local_node(parent, node, name):
node.name = name # needed by add_local_node
parent.add_local_node(node)
@@ -249,8 +256,9 @@ class InspectBuilder(object):
attach_dummy_node(node, name, member)
else:
object_build_function(node, member, name)
- elif isbuiltin(member):
- if self.imported_member(node, member, name):
+ elif isbuiltin(member):
+ if (not _io_discrepancy(member) and
+ self.imported_member(node, member, name)):
#if obj is object:
# print 'skippp', obj, name, member
continue