diff options
| author | Claudiu Popa <pcmanticore@gmail.com> | 2014-02-22 14:58:22 +0200 |
|---|---|---|
| committer | Claudiu Popa <pcmanticore@gmail.com> | 2014-02-22 14:58:22 +0200 |
| commit | 8506cd2a4577bd0a2a6cdff412201c628912c8d1 (patch) | |
| tree | 5a5385e9c9bca6495c8bffc5c6daa705b3f7d85d | |
| parent | 209ac5e51f3a7d1ee8f07dad17b6d35cba70137b (diff) | |
| parent | 5987a160867a6e1dc00bdece720f2d7fab8634e0 (diff) | |
| download | astroid-git-8506cd2a4577bd0a2a6cdff412201c628912c8d1.tar.gz | |
Merged logilab/astroid into default
| -rw-r--r-- | raw_building.py | 12 |
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 |
