diff --git a/jedi/evaluate/helpers.py b/jedi/evaluate/helpers.py index 7cb30eab..0b04976d 100644 --- a/jedi/evaluate/helpers.py +++ b/jedi/evaluate/helpers.py @@ -187,9 +187,10 @@ class FakeStatement(pr.Statement): class FakeImport(pr.Import): - def __init__(self, name, parent): + def __init__(self, name, parent, level=0): p = 0, 0 - super(FakeImport, self).__init__(FakeSubModule, p, p, name) + super(FakeImport, self).__init__(FakeSubModule, p, p, name, + relative_count=level) self.parent = parent diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index ce6c561b..81847ae4 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -561,7 +561,8 @@ class ModuleWrapper(pr.Module): mods = pkgutil.iter_modules([os.path.dirname(path)]) for module_loader, name, is_pkg in mods: name = helpers.FakeName(name) - imp = helpers.FakeImport(name, self) + # It's obviously a relative import to the current module. + imp = helpers.FakeImport(name, self, level=1) name.parent = imp names.append(name) return names diff --git a/test/static_analysis/attribute_error.py b/test/static_analysis/attribute_error.py index c4bd7330..383d38a2 100644 --- a/test/static_analysis/attribute_error.py +++ b/test/static_analysis/attribute_error.py @@ -76,7 +76,7 @@ return_one(''.undefined_attribute) [r for r in [1, 2]] -# some random error throw +# some random error that showed up class NotCalled(): def match_something(self, param): seems_to_need_an_assignment = param