From a0b65b52c6ca1ce733dfbccc2344cdea5b9f29e1 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Wed, 12 Apr 2017 08:56:11 +0200 Subject: [PATCH] used_names -> get_used_names(). --- jedi/api/usages.py | 2 +- jedi/evaluate/analysis.py | 2 +- jedi/evaluate/compiled/__init__.py | 2 +- jedi/evaluate/compiled/fake.py | 2 +- jedi/evaluate/compiled/mixed.py | 2 +- jedi/evaluate/dynamic.py | 2 +- jedi/evaluate/filters.py | 2 +- jedi/evaluate/finder.py | 2 +- jedi/evaluate/helpers.py | 2 +- jedi/evaluate/iterable.py | 2 +- jedi/evaluate/sys_path.py | 4 +--- jedi/parser/python/tree.py | 3 +-- test/test_parser/test_old_fast_parser.py | 2 +- 13 files changed, 13 insertions(+), 16 deletions(-) diff --git a/jedi/api/usages.py b/jedi/api/usages.py index 868334e7..a524d678 100644 --- a/jedi/api/usages.py +++ b/jedi/api/usages.py @@ -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) diff --git a/jedi/evaluate/analysis.py b/jedi/evaluate/analysis.py index 1a8d13f1..4dbe524b 100644 --- a/jedi/evaluate/analysis.py +++ b/jedi/evaluate/analysis.py @@ -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 diff --git a/jedi/evaluate/compiled/__init__.py b/jedi/evaluate/compiled/__init__.py index 994e6998..5d5fb1ac 100644 --- a/jedi/evaluate/compiled/__init__.py +++ b/jedi/evaluate/compiled/__init__.py @@ -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) diff --git a/jedi/evaluate/compiled/fake.py b/jedi/evaluate/compiled/fake.py index c3540ff1..597a77fa 100644 --- a/jedi/evaluate/compiled/fake.py +++ b/jedi/evaluate/compiled/fake.py @@ -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 diff --git a/jedi/evaluate/compiled/mixed.py b/jedi/evaluate/compiled/mixed.py index e56373eb..dfb49657 100644 --- a/jedi/evaluate/compiled/mixed.py +++ b/jedi/evaluate/compiled/mixed.py @@ -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()] diff --git a/jedi/evaluate/dynamic.py b/jedi/evaluate/dynamic.py index 584ab9ed..58c6f083 100644 --- a/jedi/evaluate/dynamic.py +++ b/jedi/evaluate/dynamic.py @@ -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 diff --git a/jedi/evaluate/filters.py b/jedi/evaluate/filters.py index c0b6e592..231b8825 100644 --- a/jedi/evaluate/filters.py +++ b/jedi/evaluate/filters.py @@ -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): diff --git a/jedi/evaluate/finder.py b/jedi/evaluate/finder.py index c9bf4621..40837501 100644 --- a/jedi/evaluate/finder.py +++ b/jedi/evaluate/finder.py @@ -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([ diff --git a/jedi/evaluate/helpers.py b/jedi/evaluate/helpers.py index 36c1868c..99bb49f6 100644 --- a/jedi/evaluate/helpers.py +++ b/jedi/evaluate/helpers.py @@ -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 diff --git a/jedi/evaluate/iterable.py b/jedi/evaluate/iterable.py index 800dbcdc..f7ea897d 100644 --- a/jedi/evaluate/iterable.py +++ b/jedi/evaluate/iterable.py @@ -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: diff --git a/jedi/evaluate/sys_path.py b/jedi/evaluate/sys_path.py index 952d5bb8..e967f6ee 100644 --- a/jedi/evaluate/sys_path.py +++ b/jedi/evaluate/sys_path.py @@ -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): diff --git a/jedi/parser/python/tree.py b/jedi/parser/python/tree.py index 588dbce3..8816587c 100644 --- a/jedi/parser/python/tree.py +++ b/jedi/parser/python/tree.py @@ -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 = {} diff --git a/test/test_parser/test_old_fast_parser.py b/test/test_parser/test_old_fast_parser.py index 77e92c23..6fe989b4 100644 --- a/test/test_parser/test_old_fast_parser.py +++ b/test/test_parser/test_old_fast_parser.py @@ -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():