1
0
forked from VimPlug/jedi

Remove the disabling of dynamic flow information

We should be able to handle this anyway also in completions. Don't hide issues here.
This commit is contained in:
Dave Halter
2017-10-07 10:52:43 +02:00
parent 8dba08eeb2
commit 4ddf7bf56d
2 changed files with 21 additions and 25 deletions

View File

@@ -241,34 +241,29 @@ class Script(object):
:rtype: list of :class:`classes.Definition` :rtype: list of :class:`classes.Definition`
""" """
temp, settings.dynamic_flow_information = \ module_node = self._get_module_node()
settings.dynamic_flow_information, False user_stmt = get_statement_of_position(module_node, self._pos)
try: definition_names = self._goto()
module_node = self._get_module_node() if not definition_names and isinstance(user_stmt, tree.Import):
user_stmt = get_statement_of_position(module_node, self._pos) # For not defined imports (goto doesn't find something, we take
definition_names = self._goto() # the name as a definition. This is enough, because every name
if not definition_names and isinstance(user_stmt, tree.Import): # points to it.
# For not defined imports (goto doesn't find something, we take name = user_stmt.get_name_of_position(self._pos)
# the name as a definition. This is enough, because every name if name is None:
# points to it. # Must be syntax
name = user_stmt.get_name_of_position(self._pos)
if name is None:
# Must be syntax
return []
definition_names = [TreeNameDefinition(self._get_module(), name)]
if not definition_names:
# Without a definition for a name we cannot find references.
return [] return []
definition_names = [TreeNameDefinition(self._get_module(), name)]
definition_names = usages.resolve_potential_imports(self._evaluator, if not definition_names:
definition_names) # Without a definition for a name we cannot find references.
return []
modules = set([d.get_root_context() for d in definition_names]) definition_names = usages.resolve_potential_imports(self._evaluator,
modules.add(self._get_module()) definition_names)
definitions = usages.usages(self._evaluator, definition_names, modules)
finally: modules = set([d.get_root_context() for d in definition_names])
settings.dynamic_flow_information = temp modules.add(self._get_module())
definitions = usages.usages(self._evaluator, definition_names, modules)
return helpers.sorted_definitions(set(definitions)) return helpers.sorted_definitions(set(definitions))

View File

@@ -13,6 +13,7 @@ from jedi.evaluate import compiled
from jedi.evaluate.base_context import TreeContext from jedi.evaluate.base_context import TreeContext
from jedi.evaluate.imports import SubModuleName, infer_import from jedi.evaluate.imports import SubModuleName, infer_import
class _ModuleAttributeName(AbstractNameDefinition): class _ModuleAttributeName(AbstractNameDefinition):
""" """
For module attributes like __file__, __str__ and so on. For module attributes like __file__, __str__ and so on.