1.1 --- a/micropython/inspect.py Sat Jun 30 00:15:09 2012 +0200
1.2 +++ b/micropython/inspect.py Sat Jun 30 17:06:37 2012 +0200
1.3 @@ -991,7 +991,7 @@
1.4 self.resume_broken_branches()
1.5
1.6 def visitFrom(self, node):
1.7 - module = self.importer.load(node.modname, 1)
1.8 + module = self.importer.load(node.modname, 1, importer=node)
1.9 if module and not module.loaded:
1.10 print >>sys.stderr, "Warning: a circular import of %s is being attempted in %s" % (node.modname, self.full_name())
1.11
1.12 @@ -1005,7 +1005,7 @@
1.13 # Missing names may refer to submodules.
1.14
1.15 if not module.has_key(name):
1.16 - submodule = self.importer.load(node.modname + "." + name, 1)
1.17 + submodule = self.importer.load(node.modname + "." + name, 1, importer=node)
1.18 if submodule:
1.19 if not submodule.loaded:
1.20 print >>sys.stderr, "Warning: a circular import of %s.%s is being attempted in %s" % (
1.21 @@ -1020,7 +1020,7 @@
1.22 self.store(alias or name, attr)
1.23 self.use_specific_attribute(module.full_name(), name)
1.24 if isinstance(attr.get_value(), Module) and not attr.get_value().loaded:
1.25 - self.importer.load(attr.get_value().name)
1.26 + self.importer.load(attr.get_value().name, importer=node)
1.27 continue
1.28
1.29 # Support the import of names from missing modules.
1.30 @@ -1034,7 +1034,7 @@
1.31 self.store(n, attr)
1.32 self.use_specific_attribute(module.full_name(), n)
1.33 if isinstance(attr.get_value(), Module) and not attr.get_value().loaded:
1.34 - self.importer.load(attr.get_value().name)
1.35 + self.importer.load(attr.get_value().name, importer=node)
1.36
1.37 def visitFunction(self, node):
1.38 return self._visitFunction(node, node.name)
1.39 @@ -1106,10 +1106,10 @@
1.40 def visitImport(self, node):
1.41 for name, alias in node.names:
1.42 if alias is not None:
1.43 - module = self.importer.load(name, 1) or UnresolvedName(None, name, self)
1.44 + module = self.importer.load(name, 1, importer=node) or UnresolvedName(None, name, self)
1.45 self.store(alias, module)
1.46 else:
1.47 - module = self.importer.load(name) or UnresolvedName(None, name.split(".")[0], self)
1.48 + module = self.importer.load(name, importer=node) or UnresolvedName(None, name.split(".")[0], self)
1.49 self.store(name.split(".")[0], module)
1.50
1.51 visitInvert = _visitUnary