1
0
forked from VimPlug/jedi

Fix some small import stuff and the whole ordering tests.

This commit is contained in:
Dave Halter
2016-11-11 00:45:16 +01:00
parent 14a8377817
commit 052f6bf9e7
9 changed files with 44 additions and 28 deletions

View File

@@ -217,7 +217,7 @@ class Script(object):
for name in names:
definition = name.get_definition()
if definition.type in ('import_name', 'import_from'):
imp = imports.ImportWrapper(self._evaluator, name)
imp = imports.ImportWrapper(context, name)
for name in filter_follow_imports(imp.follow(is_goto=True)):
yield name
else:
@@ -340,7 +340,7 @@ class Script(object):
if node.is_nested():
import_names |= set(path[-1] for path in node.paths())
for n in import_names:
imports.ImportWrapper(self._evaluator, n).follow()
imports.ImportWrapper(context, n).follow()
elif node.type == 'expr_stmt':
types = self._evaluator.eval_element(node)
for testlist in node.children[:-1:2]:

View File

@@ -170,7 +170,9 @@ class BaseDefinition(object):
par = self._definition
while par is not None:
if isinstance(par, tree.Import):
path += imports.ImportWrapper(self._evaluator, self._name).import_path
# Not self._name.infer()?
raise DeprecationWarning
path += imports.ImportWrapper(self._name.context, self._name).import_path
break
try:
name = par.name
@@ -323,6 +325,8 @@ class BaseDefinition(object):
if self._definition.isinstance(tree.ExprStmt):
return self._evaluator.eval_statement(self._definition)
elif self._definition.isinstance(tree.Import):
raise DeprecationWarning
# TODO self._name.infer()?
return imports.ImportWrapper(self._evaluator, self._name).follow()
else:
return set([self._definition])
@@ -475,6 +479,7 @@ class Completion(BaseDefinition):
"""
definition = self._definition
if isinstance(definition, tree.Import):
raise DeprecationWarning
i = imports.ImportWrapper(self._evaluator, self._name)
if len(i.import_path) > 1 or not fast:
followed = self._follow_statements_imports()
@@ -494,6 +499,7 @@ class Completion(BaseDefinition):
description, look at :attr:`jedi.api.classes.BaseDefinition.type`.
"""
if isinstance(self._definition, tree.Import):
raise DeprecationWarning
i = imports.ImportWrapper(self._evaluator, self._name)
if len(i.import_path) <= 1:
return 'module'
@@ -514,6 +520,7 @@ class Completion(BaseDefinition):
# TODO REMOVE
definition = self._definition
if definition.isinstance(tree.Import):
raise DeprecationWarning
i = imports.ImportWrapper(self._evaluator, self._name)
return i.follow()
return super(Completion, self)._follow_statements_imports()

View File

@@ -44,6 +44,6 @@ def usages_add_import_modules(evaluator, definitions):
for d in definitions:
imp_or_stmt = d.get_definition()
if isinstance(imp_or_stmt, tree.Import):
s = imports.ImportWrapper(evaluator, d)
s = imports.ImportWrapper(context, d)
new |= set(s.follow(is_goto=True))
return set(definitions) | new