mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-07 22:44:27 +08:00
ClassContext is now importable from context.
This commit is contained in:
@@ -18,7 +18,7 @@ from jedi.evaluate.filters import ParamName
|
|||||||
from jedi.evaluate.imports import ImportName
|
from jedi.evaluate.imports import ImportName
|
||||||
from jedi.evaluate.context import instance
|
from jedi.evaluate.context import instance
|
||||||
from jedi.evaluate.context.function import FunctionContext, FunctionExecutionContext
|
from jedi.evaluate.context.function import FunctionContext, FunctionExecutionContext
|
||||||
from jedi.evaluate.context.klass import ClassContext
|
from jedi.evaluate.context import ClassContext
|
||||||
from jedi.api.keywords import KeywordName
|
from jedi.api.keywords import KeywordName
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ from jedi.evaluate.context.function import FunctionContext
|
|||||||
from jedi.evaluate.syntax_tree import eval_trailer, eval_expr_stmt, \
|
from jedi.evaluate.syntax_tree import eval_trailer, eval_expr_stmt, \
|
||||||
eval_node, check_tuple_assignments
|
eval_node, check_tuple_assignments
|
||||||
from jedi import parser_utils
|
from jedi import parser_utils
|
||||||
from jedi.evaluate.context.klass import ClassContext
|
from jedi.evaluate.context import ClassContext
|
||||||
|
|
||||||
|
|
||||||
class Evaluator(object):
|
class Evaluator(object):
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
from jedi.evaluate.context.lazy import AbstractLazyContext, LazyKnownContext, \
|
from jedi.evaluate.context.lazy import AbstractLazyContext, LazyKnownContext, \
|
||||||
LazyKnownContexts, LazyTreeContext, LazyUnknownContext, get_merged_lazy_context
|
LazyKnownContexts, LazyTreeContext, LazyUnknownContext, get_merged_lazy_context
|
||||||
from jedi.evaluate.context.module import ModuleContext
|
from jedi.evaluate.context.module import ModuleContext
|
||||||
|
from jedi.evaluate.context.klass import ClassContext
|
||||||
|
|||||||
@@ -40,12 +40,10 @@ py__doc__(include_call_signature: Returns the docstring for a context.
|
|||||||
from jedi._compatibility import use_metaclass
|
from jedi._compatibility import use_metaclass
|
||||||
from jedi.evaluate.cache import evaluator_method_cache, CachedMetaClass
|
from jedi.evaluate.cache import evaluator_method_cache, CachedMetaClass
|
||||||
from jedi.evaluate import compiled
|
from jedi.evaluate import compiled
|
||||||
from jedi.evaluate import param
|
|
||||||
from jedi.evaluate.filters import ParserTreeFilter, TreeNameDefinition, \
|
from jedi.evaluate.filters import ParserTreeFilter, TreeNameDefinition, \
|
||||||
ContextName, AnonymousInstanceParamName
|
ContextName, AnonymousInstanceParamName
|
||||||
from jedi.evaluate.base_context import ContextSet, iterator_to_context_set, \
|
from jedi.evaluate.base_context import ContextSet, iterator_to_context_set, \
|
||||||
TreeContext
|
TreeContext
|
||||||
from jedi.evaluate.context import LazyKnownContext
|
|
||||||
|
|
||||||
|
|
||||||
def apply_py__get__(context, base_context):
|
def apply_py__get__(context, base_context):
|
||||||
@@ -136,9 +134,11 @@ class ClassContext(use_metaclass(CachedMetaClass, TreeContext)):
|
|||||||
def py__bases__(self):
|
def py__bases__(self):
|
||||||
arglist = self.tree_node.get_super_arglist()
|
arglist = self.tree_node.get_super_arglist()
|
||||||
if arglist:
|
if arglist:
|
||||||
|
from jedi.evaluate import param
|
||||||
args = param.TreeArguments(self.evaluator, self, arglist)
|
args = param.TreeArguments(self.evaluator, self, arglist)
|
||||||
return [value for key, value in args.unpack() if key is None]
|
return [value for key, value in args.unpack() if key is None]
|
||||||
else:
|
else:
|
||||||
|
from jedi.evaluate.context import LazyKnownContext
|
||||||
return [LazyKnownContext(compiled.create(self.evaluator, object))]
|
return [LazyKnownContext(compiled.create(self.evaluator, object))]
|
||||||
|
|
||||||
def py__call__(self, params):
|
def py__call__(self, params):
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ from parso import parse
|
|||||||
from jedi._compatibility import u
|
from jedi._compatibility import u
|
||||||
from jedi.evaluate.utils import indent_block
|
from jedi.evaluate.utils import indent_block
|
||||||
from jedi.evaluate.cache import evaluator_method_cache
|
from jedi.evaluate.cache import evaluator_method_cache
|
||||||
from jedi.evaluate.iterable import SequenceLiteralContext, FakeSequence
|
|
||||||
from jedi.evaluate.base_context import iterator_to_context_set, ContextSet, \
|
from jedi.evaluate.base_context import iterator_to_context_set, ContextSet, \
|
||||||
NO_CONTEXTS
|
NO_CONTEXTS
|
||||||
from jedi.evaluate.context import LazyKnownContexts
|
from jedi.evaluate.context import LazyKnownContexts
|
||||||
@@ -235,6 +234,7 @@ def _execute_array_values(evaluator, array):
|
|||||||
Tuples indicate that there's not just one return value, but the listed
|
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.
|
ones. `(str, int)` means that it returns a tuple with both types.
|
||||||
"""
|
"""
|
||||||
|
from jedi.evaluate.iterable import SequenceLiteralContext, FakeSequence
|
||||||
if isinstance(array, SequenceLiteralContext):
|
if isinstance(array, SequenceLiteralContext):
|
||||||
values = []
|
values = []
|
||||||
for lazy_context in array.py__iter__():
|
for lazy_context in array.py__iter__():
|
||||||
|
|||||||
@@ -22,9 +22,7 @@ from jedi.evaluate import param
|
|||||||
from jedi.evaluate import analysis
|
from jedi.evaluate import analysis
|
||||||
from jedi.evaluate.base_context import ContextualizedNode, \
|
from jedi.evaluate.base_context import ContextualizedNode, \
|
||||||
NO_CONTEXTS, ContextSet
|
NO_CONTEXTS, ContextSet
|
||||||
from jedi.evaluate.context import LazyTreeContext
|
from jedi.evaluate.context import ClassContext, ModuleContext, LazyTreeContext
|
||||||
from jedi.evaluate.context.klass import ClassContext
|
|
||||||
from jedi.evaluate.context import ModuleContext
|
|
||||||
from jedi.evaluate.syntax_tree import is_string
|
from jedi.evaluate.syntax_tree import is_string
|
||||||
|
|
||||||
# Now this is all part of fake tuples in Jedi. However super doesn't work on
|
# Now this is all part of fake tuples in Jedi. However super doesn't work on
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from jedi.evaluate import analysis
|
|||||||
from jedi.evaluate import iterable
|
from jedi.evaluate import iterable
|
||||||
from jedi.evaluate import imports
|
from jedi.evaluate import imports
|
||||||
from jedi.evaluate import param
|
from jedi.evaluate import param
|
||||||
from jedi.evaluate.context.klass import ClassContext
|
from jedi.evaluate.context import ClassContext
|
||||||
from jedi.evaluate.context.function import FunctionContext
|
from jedi.evaluate.context.function import FunctionContext
|
||||||
from jedi.evaluate.context.instance import TreeInstance, CompiledInstance
|
from jedi.evaluate.context.instance import TreeInstance, CompiledInstance
|
||||||
from jedi.evaluate.finder import NameFinder
|
from jedi.evaluate.finder import NameFinder
|
||||||
|
|||||||
Reference in New Issue
Block a user