diff --git a/jedi/api/classes.py b/jedi/api/classes.py index bbb86bc2..1937cc60 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -17,8 +17,7 @@ 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.evaluate.context.function import FunctionContext, FunctionExecutionContext -from jedi.evaluate.context import ClassContext +from jedi.evaluate.context import ClassContext, FunctionContext, FunctionExecutionContext from jedi.api.keywords import KeywordName diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index f6dd034b..702c6b70 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -69,6 +69,7 @@ from parso.python import tree import parso from jedi import debug +from jedi import parser_utils from jedi.evaluate.utils import unite from jedi.evaluate import imports from jedi.evaluate import recursion @@ -76,15 +77,13 @@ 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.context.iterable import CompForContext -from jedi.evaluate.context.instance import AnonymousInstance, BoundMethod from jedi.evaluate.base_context import ContextualizedName, ContextualizedNode, \ ContextSet, NO_CONTEXTS, iterate_contexts -from jedi.evaluate.context.function import FunctionContext +from jedi.evaluate.context import ClassContext, FunctionContext +from jedi.evaluate.context.iterable import CompForContext +from jedi.evaluate.context.instance import AnonymousInstance, BoundMethod from jedi.evaluate.syntax_tree import eval_trailer, eval_expr_stmt, \ eval_node, check_tuple_assignments -from jedi import parser_utils -from jedi.evaluate.context import ClassContext class Evaluator(object): diff --git a/jedi/evaluate/base_context.py b/jedi/evaluate/base_context.py index fbde4d3d..3af4f5b8 100644 --- a/jedi/evaluate/base_context.py +++ b/jedi/evaluate/base_context.py @@ -242,7 +242,7 @@ class ContextSet(BaseContextSet): return ContextSet.from_iterable(c.py__class__() for c in self._set) def iterate(self, contextualized_node=None): - from jedi.evaluate.context.lazy import get_merged_lazy_context + from jedi.evaluate.lazy_context import get_merged_lazy_context type_iters = [c.iterate(contextualized_node) for c in self._set] for lazy_contexts in zip_longest(*type_iters): yield get_merged_lazy_context( diff --git a/jedi/evaluate/context/__init__.py b/jedi/evaluate/context/__init__.py index ab3352b9..50feaca9 100644 --- a/jedi/evaluate/context/__init__.py +++ b/jedi/evaluate/context/__init__.py @@ -1,3 +1,3 @@ from jedi.evaluate.context.module import ModuleContext from jedi.evaluate.context.klass import ClassContext -#from jedi.evaluate.context.function import FunctionContext +from jedi.evaluate.context.function import FunctionContext, FunctionExecutionContext diff --git a/jedi/evaluate/docstrings.py b/jedi/evaluate/docstrings.py index ff4a284b..f9c11412 100644 --- a/jedi/evaluate/docstrings.py +++ b/jedi/evaluate/docstrings.py @@ -202,7 +202,7 @@ def _evaluate_for_statement_string(module_context, string): except (AttributeError, IndexError): return [] - from jedi.evaluate.context.function import FunctionContext + from jedi.evaluate.context import FunctionContext function_context = FunctionContext( module_context.evaluator, module_context, diff --git a/jedi/evaluate/syntax_tree.py b/jedi/evaluate/syntax_tree.py index 980fb6cd..8a056eb6 100644 --- a/jedi/evaluate/syntax_tree.py +++ b/jedi/evaluate/syntax_tree.py @@ -17,9 +17,8 @@ from jedi.evaluate import helpers from jedi.evaluate import analysis from jedi.evaluate import imports from jedi.evaluate import param -from jedi.evaluate.context import ClassContext +from jedi.evaluate.context import ClassContext, FunctionContext from jedi.evaluate.context import iterable -from jedi.evaluate.context.function import FunctionContext 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