1
0
forked from VimPlug/jedi

Only resolve names for actual modules

A name can be part of an import statement without being a module.
This commit is contained in:
micbou
2017-03-01 01:58:58 +01:00
committed by Dave Halter
parent 784de85b36
commit a859add6d7
2 changed files with 8 additions and 6 deletions

View File

@@ -14,6 +14,7 @@ def usages(evaluator, definition_names, mods):
if name.api_type == 'module': if name.api_type == 'module':
found = False found = False
for context in name.infer(): for context in name.infer():
if isinstance(context, ModuleContext):
found = True found = True
yield context.name yield context.name
if not found: if not found:

View File

@@ -83,17 +83,18 @@ import module_not_exists
module_not_exists module_not_exists
#< ('rename1', 1,0), (0,24), (3,0), (6,17), ('rename2', 4,5), (10,17), (13,17), ('imports', 72, 16) #< ('rename1', 1,0), (0,24), (3,0), (6,17), ('rename2', 4,5), (11,17), (14,17), ('imports', 72, 16)
from import_tree import rename1 from import_tree import rename1
#< (0,8), ('rename1',3,0), ('rename2',4,20), ('rename2',6,0), (3,32), (7,32), (4,0) #< (0,8), ('rename1',3,0), ('rename2',4,20), ('rename2',6,0), (3,32), (8,32), (5,0)
rename1.abc rename1.abc
#< (-3,8), ('rename1', 3,0), ('rename2', 4,20), ('rename2', 6,0), (0,32), (4,32), (1,0) #< (-3,8), ('rename1', 3,0), ('rename2', 4,20), ('rename2', 6,0), (0,32), (5,32), (2,0)
from import_tree.rename1 import abc from import_tree.rename1 import abc
#< (-5,8), (-2,32), ('rename1', 3,0), ('rename2', 4,20), ('rename2', 6,0), (0,0), (3,32)
abc abc
#< 20 ('rename1', 1,0), ('rename2', 4,5), (-10,24), (-7,0), (-4,17), (0,17), (3,17), ('imports', 72, 16) #< 20 ('rename1', 1,0), ('rename2', 4,5), (-11,24), (-8,0), (-5,17), (0,17), (3,17), ('imports', 72, 16)
from import_tree.rename1 import abc from import_tree.rename1 import abc
#< (0, 32), #< (0, 32),