diff --git a/jedi/api/__init__.py b/jedi/api/__init__.py index 9e0719d6..915c89ea 100644 --- a/jedi/api/__init__.py +++ b/jedi/api/__init__.py @@ -30,11 +30,11 @@ from jedi.evaluate import imports from jedi.evaluate.param import try_iter_content from jedi.evaluate.helpers import get_module_names, evaluate_call_of_leaf from jedi.evaluate.sys_path import get_venv_path, dotted_path_in_sys_path -from jedi.evaluate.iterable import unpack_tuple_to_dict from jedi.evaluate.filters import TreeNameDefinition from jedi.evaluate.syntax_tree import tree_name_to_contexts from jedi.evaluate.context import ModuleContext from jedi.evaluate.context.module import ModuleName +from jedi.evaluate.context.iterable import unpack_tuple_to_dict # Jedi uses lots and lots of recursion. By setting this a little bit higher, we # can remove some "maximum recursion depth" errors. diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 3ea594c8..f6dd034b 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -72,11 +72,11 @@ from jedi import debug from jedi.evaluate.utils import unite from jedi.evaluate import imports from jedi.evaluate import recursion -from jedi.evaluate import iterable 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 @@ -120,7 +120,7 @@ class Evaluator(object): self.execution_recursion_detector = recursion.ExecutionRecursionDetector(self) def eval_element(self, context, element): - if isinstance(context, iterable.CompForContext): + if isinstance(context, CompForContext): return eval_node(context, element) if_stmt = element @@ -349,7 +349,7 @@ class Evaluator(object): elif scope_node.type == 'comp_for': if node.start_pos >= scope_node.children[-1].start_pos: return parent_context - return iterable.CompForContext.from_comp_for(parent_context, scope_node) + return CompForContext.from_comp_for(parent_context, scope_node) raise Exception("There's a scope that was not managed.") base_node = base_context.tree_node diff --git a/jedi/evaluate/analysis.py b/jedi/evaluate/analysis.py index 497ff716..f5cc6d7b 100644 --- a/jedi/evaluate/analysis.py +++ b/jedi/evaluate/analysis.py @@ -159,7 +159,7 @@ def _check_for_exception_catch(node_context, jedi_name, exception, payload=None) else: except_classes = node_context.eval_node(node) for cls in except_classes: - from jedi.evaluate import iterable + from jedi.evaluate.context import iterable if isinstance(cls, iterable.AbstractIterable) and \ cls.array_type == 'tuple': # multiple exceptions diff --git a/jedi/evaluate/base_context.py b/jedi/evaluate/base_context.py index d1623989..fbde4d3d 100644 --- a/jedi/evaluate/base_context.py +++ b/jedi/evaluate/base_context.py @@ -81,7 +81,7 @@ class Context(BaseContext): def get_item(self, index_contexts, contextualized_node): from jedi.evaluate.compiled import CompiledObject - from jedi.evaluate.iterable import Slice, AbstractIterable + from jedi.evaluate.context.iterable import Slice, AbstractIterable result = ContextSet() for index in index_contexts: diff --git a/jedi/evaluate/context/function.py b/jedi/evaluate/context/function.py index e758bac2..8355377d 100644 --- a/jedi/evaluate/context/function.py +++ b/jedi/evaluate/context/function.py @@ -10,12 +10,12 @@ from jedi.evaluate import pep0484 from jedi.evaluate import param from jedi.evaluate import flow_analysis from jedi.evaluate import helpers -from jedi.evaluate import iterable from jedi.evaluate.filters import ParserTreeFilter, FunctionExecutionFilter, \ ContextName, AbstractNameDefinition, ParamName from jedi.evaluate.base_context import ContextualizedNode, NO_CONTEXTS, \ ContextSet, TreeContext from jedi.evaluate.context import LazyKnownContexts, LazyKnownContext, LazyTreeContext +from jedi.evaluate.context import iterable from jedi import parser_utils from jedi.evaluate.parser_cache import get_yield_exprs diff --git a/jedi/evaluate/context/instance.py b/jedi/evaluate/context/instance.py index 0a7972c3..da83cbab 100644 --- a/jedi/evaluate/context/instance.py +++ b/jedi/evaluate/context/instance.py @@ -12,7 +12,7 @@ from jedi.evaluate.param import AbstractArguments, AnonymousArguments from jedi.cache import memoize_method from jedi.evaluate.context.function import FunctionExecutionContext, FunctionContext from jedi.evaluate.context.klass import ClassContext, apply_py__get__ -from jedi.evaluate import iterable +from jedi.evaluate.context import iterable from jedi.parser_utils import get_parent_scope diff --git a/jedi/evaluate/iterable.py b/jedi/evaluate/context/iterable.py similarity index 100% rename from jedi/evaluate/iterable.py rename to jedi/evaluate/context/iterable.py diff --git a/jedi/evaluate/docstrings.py b/jedi/evaluate/docstrings.py index 9b60ca00..242b13f7 100644 --- a/jedi/evaluate/docstrings.py +++ b/jedi/evaluate/docstrings.py @@ -234,7 +234,7 @@ def _execute_array_values(evaluator, array): Tuples indicate that there's not just one return value, but the listed ones. `(str, int)` means that it returns a tuple with both types. """ - from jedi.evaluate.iterable import SequenceLiteralContext, FakeSequence + from jedi.evaluate.context.iterable import SequenceLiteralContext, FakeSequence if isinstance(array, SequenceLiteralContext): values = [] for lazy_context in array.py__iter__(): diff --git a/jedi/evaluate/finder.py b/jedi/evaluate/finder.py index a03426b9..8c6b5b63 100644 --- a/jedi/evaluate/finder.py +++ b/jedi/evaluate/finder.py @@ -21,11 +21,11 @@ from jedi import debug from jedi import settings from jedi.evaluate.context.instance import AbstractInstanceContext from jedi.evaluate import compiled -from jedi.evaluate import iterable from jedi.evaluate import analysis from jedi.evaluate import flow_analysis from jedi.evaluate import param from jedi.evaluate import helpers +from jedi.evaluate.context import iterable from jedi.evaluate.filters import get_global_filters, TreeNameDefinition from jedi.evaluate.base_context import ContextSet from jedi.parser_utils import is_scope, get_parent_scope diff --git a/jedi/evaluate/param.py b/jedi/evaluate/param.py index 72e99add..a188a2d1 100644 --- a/jedi/evaluate/param.py +++ b/jedi/evaluate/param.py @@ -4,13 +4,13 @@ from jedi._compatibility import zip_longest from jedi import debug from jedi.evaluate.utils import PushBackIterator from parso.python import tree -from jedi.evaluate import iterable from jedi.evaluate import analysis from jedi.evaluate import context from jedi.evaluate import docstrings from jedi.evaluate import pep0484 from jedi.evaluate.filters import ParamName from jedi.evaluate.base_context import NO_CONTEXTS +from jedi.evaluate.context import iterable def add_argument_issue(parent_context, error_name, lazy_context, message): diff --git a/jedi/evaluate/pep0484.py b/jedi/evaluate/pep0484.py index 95287851..32587b1d 100644 --- a/jedi/evaluate/pep0484.py +++ b/jedi/evaluate/pep0484.py @@ -169,7 +169,7 @@ def py__getitem__(context, typ, node): return None compiled_classname = compiled.create(context.evaluator, type_name) - from jedi.evaluate.iterable import FakeSequence + from jedi.evaluate.context.iterable import FakeSequence args = FakeSequence( context.evaluator, "tuple", diff --git a/jedi/evaluate/stdlib.py b/jedi/evaluate/stdlib.py index cc6d9a00..d7322a03 100644 --- a/jedi/evaluate/stdlib.py +++ b/jedi/evaluate/stdlib.py @@ -12,17 +12,17 @@ compiled module that returns the types for C-builtins. import collections import re +from jedi import debug +from jedi.evaluate import param +from jedi.evaluate import analysis from jedi.evaluate import compiled from jedi.evaluate.context.instance import InstanceFunctionExecution, \ AbstractInstanceContext, CompiledInstance, BoundMethod, \ AnonymousInstanceFunctionExecution -from jedi.evaluate import iterable -from jedi import debug -from jedi.evaluate import param -from jedi.evaluate import analysis from jedi.evaluate.base_context import ContextualizedNode, \ NO_CONTEXTS, ContextSet from jedi.evaluate.context import ClassContext, ModuleContext, LazyTreeContext +from jedi.evaluate.context import iterable from jedi.evaluate.syntax_tree import is_string # Now this is all part of fake tuples in Jedi. However super doesn't work on diff --git a/jedi/evaluate/syntax_tree.py b/jedi/evaluate/syntax_tree.py index 730caa02..980fb6cd 100644 --- a/jedi/evaluate/syntax_tree.py +++ b/jedi/evaluate/syntax_tree.py @@ -15,10 +15,10 @@ from jedi.evaluate import pep0484 from jedi.evaluate import recursion from jedi.evaluate import helpers from jedi.evaluate import analysis -from jedi.evaluate import iterable from jedi.evaluate import imports from jedi.evaluate import param from jedi.evaluate.context import ClassContext +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