1
0
forked from VimPlug/jedi

Fix some internal name handling.

This commit is contained in:
Dave Halter
2016-12-05 22:27:18 +01:00
parent fe64df2e42
commit cb4f405f7d
6 changed files with 56 additions and 50 deletions

View File

@@ -143,7 +143,7 @@ class Script(object):
@cache.memoize_method
def _get_module(self):
module = er.ModuleContext(self._evaluator, self._get_module_node())
imports.add_module(self._evaluator, unicode(module.name), module)
imports.add_module(self._evaluator, module.name.string_name, module)
return module
@property
@@ -437,17 +437,18 @@ def names(source=None, path=None, encoding='utf-8', all_scopes=False,
is_def = _def._name.tree_name.is_definition()
return definitions and is_def or references and not is_def
def get_definitions():
for tree_name in get_module_names(script._get_module_node(), all_scopes):
name = TreeNameDefinition(
module_context.create_context(tree_name),
tree_name
)
yield classes.Definition(script._evaluator, name)
# Set line/column to a random position, because they don't matter.
script = Script(source, line=1, column=0, path=path, encoding=encoding)
module_context = script._get_module()
defs = [
classes.Definition(
script._evaluator,
TreeNameDefinition(
module_context.create_context(name),
name
)
) for name in get_module_names(script._get_module_node(), all_scopes)
]
return sorted(filter(def_ref_filter, defs), key=lambda x: (x.line, x.column))