diff --git a/jedi/api/classes.py b/jedi/api/classes.py index 4065b910..6f5cf867 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -13,11 +13,11 @@ from jedi import settings from jedi.evaluate.utils import ignored, unite from jedi.cache import memoize_method from jedi.evaluate import representation as er -from jedi.evaluate import instance from jedi.evaluate import imports from jedi.evaluate import compiled from jedi.evaluate.filters import ParamName from jedi.evaluate.imports import ImportName +from jedi.evaluate.context import instance from jedi.api.keywords import KeywordName diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 3f0b9ec8..6261e458 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -78,7 +78,7 @@ from jedi.evaluate.cache import evaluator_function_cache from jedi.evaluate import compiled from jedi.evaluate import helpers from jedi.evaluate.filters import TreeNameDefinition, ParamName -from jedi.evaluate.instance import AnonymousInstance, BoundMethod +from jedi.evaluate.context.instance import AnonymousInstance, BoundMethod from jedi.evaluate.context import ContextualizedName, ContextualizedNode, \ ContextSet, NO_CONTEXTS, iterate_contexts from jedi.evaluate.syntax_tree import eval_trailer, eval_expr_stmt, \ diff --git a/jedi/evaluate/analysis.py b/jedi/evaluate/analysis.py index d4fa6a1b..b4f82d61 100644 --- a/jedi/evaluate/analysis.py +++ b/jedi/evaluate/analysis.py @@ -109,7 +109,7 @@ def _check_for_setattr(instance): def add_attribute_error(name_context, lookup_context, name): message = ('AttributeError: %s has no attribute %s.' % (lookup_context, name)) - from jedi.evaluate.instance import AbstractInstanceContext, CompiledInstanceName + from jedi.evaluate.context.instance import AbstractInstanceContext, CompiledInstanceName # Check for __getattr__/__getattribute__ existance and issue a warning # instead of an error, if that happens. typ = Error diff --git a/jedi/evaluate/compiled/__init__.py b/jedi/evaluate/compiled/__init__.py index 56faef5b..dede6bc2 100644 --- a/jedi/evaluate/compiled/__init__.py +++ b/jedi/evaluate/compiled/__init__.py @@ -82,7 +82,7 @@ class CompiledObject(Context): @CheckAttribute def py__call__(self, params): if inspect.isclass(self.obj): - from jedi.evaluate.instance import CompiledInstance + from jedi.evaluate.context.instance import CompiledInstance return ContextSet(CompiledInstance(self.evaluator, self.parent_context, self, params)) else: return ContextSet.from_iterable(self._execute_function(params)) diff --git a/jedi/evaluate/instance.py b/jedi/evaluate/context/instance.py similarity index 100% rename from jedi/evaluate/instance.py rename to jedi/evaluate/context/instance.py diff --git a/jedi/evaluate/docstrings.py b/jedi/evaluate/docstrings.py index f80036bd..fa8f4c6f 100644 --- a/jedi/evaluate/docstrings.py +++ b/jedi/evaluate/docstrings.py @@ -249,7 +249,7 @@ def _execute_array_values(evaluator, array): @evaluator_method_cache() def infer_param(execution_context, param): - from jedi.evaluate.instance import AnonymousInstanceFunctionExecution + from jedi.evaluate.context.instance import AnonymousInstanceFunctionExecution def eval_docstring(docstring): return ContextSet.from_iterable( diff --git a/jedi/evaluate/dynamic.py b/jedi/evaluate/dynamic.py index 623d7461..1102a10e 100644 --- a/jedi/evaluate/dynamic.py +++ b/jedi/evaluate/dynamic.py @@ -150,7 +150,8 @@ def _get_possible_nodes(module_context, func_string_name): def _check_name_for_execution(evaluator, context, compare_node, name, trailer): - from jedi.evaluate import representation as er, instance + from jedi.evaluate import representation as er + from jedi.evaluate.context import instance def create_func_excs(): arglist = trailer.children[1] diff --git a/jedi/evaluate/finder.py b/jedi/evaluate/finder.py index 9f59c22a..b1f74887 100644 --- a/jedi/evaluate/finder.py +++ b/jedi/evaluate/finder.py @@ -19,7 +19,7 @@ from parso.python import tree from parso.tree import search_ancestor from jedi import debug from jedi import settings -from jedi.evaluate.instance import AbstractInstanceContext +from jedi.evaluate.context.instance import AbstractInstanceContext from jedi.evaluate import compiled from jedi.evaluate import iterable from jedi.evaluate import analysis diff --git a/jedi/evaluate/param.py b/jedi/evaluate/param.py index f5a183a1..447bc129 100644 --- a/jedi/evaluate/param.py +++ b/jedi/evaluate/param.py @@ -385,7 +385,7 @@ def _iterate_star_args(context, array, input_node, funcdef=None): def _star_star_dict(context, array, input_node, funcdef): - from jedi.evaluate.instance import CompiledInstance + from jedi.evaluate.context.instance import CompiledInstance if isinstance(array, CompiledInstance) and array.name.string_name == 'dict': # For now ignore this case. In the future add proper iterators and just # make one call without crazy isinstance checks. diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index 2276e9ee..7cb01d1e 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -158,14 +158,14 @@ class ClassContext(use_metaclass(CachedMetaClass, context.TreeContext)): return [context.LazyKnownContext(compiled.create(self.evaluator, object))] def py__call__(self, params): - from jedi.evaluate.instance import TreeInstance + from jedi.evaluate.context.instance import TreeInstance return ContextSet(TreeInstance(self.evaluator, self.parent_context, self, params)) def py__class__(self): return compiled.create(self.evaluator, type) def get_params(self): - from jedi.evaluate.instance import AnonymousInstance + from jedi.evaluate.context.instance import AnonymousInstance anon = AnonymousInstance(self.evaluator, self.parent_context, self) return [AnonymousInstanceParamName(anon, param.name) for param in self.funcdef.get_params()] diff --git a/jedi/evaluate/stdlib.py b/jedi/evaluate/stdlib.py index 3230c857..c7823dd5 100644 --- a/jedi/evaluate/stdlib.py +++ b/jedi/evaluate/stdlib.py @@ -14,7 +14,7 @@ import re from jedi.evaluate import compiled from jedi.evaluate import representation as er -from jedi.evaluate.instance import InstanceFunctionExecution, \ +from jedi.evaluate.context.instance import InstanceFunctionExecution, \ AbstractInstanceContext, CompiledInstance, BoundMethod, \ AnonymousInstanceFunctionExecution from jedi.evaluate import iterable diff --git a/jedi/evaluate/syntax_tree.py b/jedi/evaluate/syntax_tree.py index a3c50c95..e9a1d07d 100644 --- a/jedi/evaluate/syntax_tree.py +++ b/jedi/evaluate/syntax_tree.py @@ -19,7 +19,7 @@ from jedi.evaluate import iterable from jedi.evaluate import imports from jedi.evaluate import param from jedi.evaluate import representation as er -from jedi.evaluate.instance import TreeInstance, CompiledInstance +from jedi.evaluate.context.instance import TreeInstance, CompiledInstance from jedi.evaluate.finder import NameFinder from jedi.evaluate.helpers import is_string, is_literal, is_number, is_compiled diff --git a/test/test_evaluate/test_compiled.py b/test/test_evaluate/test_compiled.py index 69dcdbe7..fef590b2 100644 --- a/test/test_evaluate/test_compiled.py +++ b/test/test_evaluate/test_compiled.py @@ -3,7 +3,8 @@ from textwrap import dedent import parso from jedi._compatibility import builtins, is_py3 -from jedi.evaluate import compiled, instance +from jedi.evaluate import compiled +from jedi.evaluate.context import instance from jedi.evaluate.representation import FunctionContext from jedi.evaluate import Evaluator from jedi.parser_utils import clean_scope_docstring