1
0
forked from VimPlug/jedi

used_names -> get_used_names().

This commit is contained in:
Dave Halter
2017-04-12 08:56:11 +02:00
parent b0ac07228b
commit a0b65b52c6
13 changed files with 13 additions and 16 deletions

View File

@@ -41,7 +41,7 @@ def usages(evaluator, definition_names, mods):
definition_names = set(resolve_names(definition_names))
for m in imports.get_modules_containing_name(evaluator, mods, search_name):
if isinstance(m, ModuleContext):
for name_node in m.tree_node.used_names.get(search_name, []):
for name_node in m.tree_node.get_used_names().get(search_name, []):
context = evaluator.create_context(m, name_node)
result = evaluator.goto(context, name_node)
if any(compare_contexts(c1, c2)

View File

@@ -99,7 +99,7 @@ def _check_for_setattr(instance):
node = module.tree_node
try:
stmts = node.used_names['setattr']
stmts = node.get_used_names()['setattr']
except KeyError:
return False

View File

@@ -50,7 +50,7 @@ class CheckAttribute(object):
class CompiledObject(Context):
path = None # modules have this attribute - set it to None.
used_names = {} # To be consistent with modules.
used_names = lambda self: {} # To be consistent with modules.
def __init__(self, evaluator, obj, parent_context=None, faked_class=None):
super(CompiledObject, self).__init__(evaluator, parent_context)

View File

@@ -198,7 +198,7 @@ def get_faked(evaluator, module, obj, name=None, parent_context=None):
faked, fake_module = _get_faked(module and module.obj, obj, name)
if module is not None:
module.used_names = fake_module.used_names
module.get_used_names = fake_module.get_used_names
return faked

View File

@@ -145,7 +145,7 @@ def find_syntax_node_name(evaluator, python_object):
# Doesn't always work (e.g. os.stat_result)
try:
names = module.used_names[name_str]
names = module.get_used_names()[name_str]
except KeyError:
return None, None
names = [n for n in names if n.is_definition()]

View File

@@ -137,7 +137,7 @@ def _search_function_executions(evaluator, module_context, funcdef):
def _get_possible_nodes(module_context, func_string_name):
try:
names = module_context.tree_node.used_names[func_string_name]
names = module_context.tree_node.get_used_names()[func_string_name]
except KeyError:
return

View File

@@ -139,7 +139,7 @@ class AbstractUsedNamesFilter(AbstractFilter):
def __init__(self, context, parser_scope):
self._parser_scope = parser_scope
self._used_names = self._parser_scope.get_root_node().used_names
self._used_names = self._parser_scope.get_root_node().get_used_names()
self.context = context
def get(self, name):

View File

@@ -301,7 +301,7 @@ def _check_flow_information(context, flow, search_name, pos):
# Check for asserts.
module_node = flow.get_root_node()
try:
names = module_node.used_names[search_name.value]
names = module_node.get_used_names()[search_name.value]
except KeyError:
return None
names = reversed([

View File

@@ -137,7 +137,7 @@ def get_module_names(module, all_scopes):
Returns a dictionary with name parts as keys and their call paths as
values.
"""
names = chain.from_iterable(module.used_names.values())
names = chain.from_iterable(module.get_used_names().values())
if not all_scopes:
# We have to filter all the names that don't have the module as a
# parent_scope. There's None as a parent, because nodes in the module

View File

@@ -738,7 +738,7 @@ def _check_array_additions(context, sequence):
added_types = set()
for add_name in search_names:
try:
possible_names = module_context.tree_node.used_names[add_name]
possible_names = module_context.tree_node.get_used_names()[add_name]
except KeyError:
continue
else:

View File

@@ -167,10 +167,8 @@ def _check_module(module_context):
return sys_path
try:
possible_names = module_context.tree_node.used_names['path']
possible_names = module_context.tree_node.get_used_names()['path']
except KeyError:
# module.used_names is MergedNamesDict whose getitem never throws
# keyerror, this is superfluous.
pass
else:
for name, power in get_sys_path_powers(possible_names):

View File

@@ -417,8 +417,7 @@ class Module(Scope):
return True
return False
@property
def used_names(self):
def get_used_names(self):
if self._used_names is None:
# Don't directly use self._used_names to eliminate a lookup.
dct = {}

View File

@@ -25,7 +25,7 @@ def test_carriage_return_splitting():
'''))
source = source.replace('\n', '\r\n')
module = parse(source)
assert [n.value for lst in module.used_names.values() for n in lst] == ['Foo']
assert [n.value for lst in module.get_used_names().values() for n in lst] == ['Foo']
def test_class_in_docstr():