diff --git a/jedi/evaluate/helpers.py b/jedi/evaluate/helpers.py index 65149131..7967b869 100644 --- a/jedi/evaluate/helpers.py +++ b/jedi/evaluate/helpers.py @@ -345,6 +345,9 @@ class FakeImport(pr.Import): self._level = level self.name = name + def aliases(self): + return {} + @property def level(self): return self._level diff --git a/jedi/parser/representation.py b/jedi/parser/representation.py index 135c6519..95a5072f 100644 --- a/jedi/parser/representation.py +++ b/jedi/parser/representation.py @@ -1145,9 +1145,11 @@ class ImportFrom(Import): for n in self.children[1:]: if n not in ('.', '...'): break - if is_node(n, 'dotted_name'): + if is_node(n, 'dotted_name'): # from x.y import dotted = n.children[::2] - else: + elif n == 'import': # from . import + dotted = [] + else: # from x import dotted = [n] return [dotted + [name] for name, alias in self._as_name_tuples()] diff --git a/test/completion/imports.py b/test/completion/imports.py index cc829f0b..4cf48d18 100644 --- a/test/completion/imports.py +++ b/test/completion/imports.py @@ -211,9 +211,6 @@ from . import datetime as mod1 #? [] mod1. -#? str() -imp_tree.a - # self import # this can cause recursions from imports import *