mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 05:54:25 +08:00
Move py__mro__ calls to direct calls, because it's defined on ClassMixin
This commit is contained in:
@@ -81,8 +81,7 @@ class HelperContextMixin:
|
||||
return self.py__iter__(contextualized_node)
|
||||
|
||||
def is_sub_class_of(self, class_context):
|
||||
from jedi.evaluate.context.klass import py__mro__
|
||||
for cls in py__mro__(self):
|
||||
for cls in self.py__mro__():
|
||||
if cls.is_same_class(class_context):
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -11,9 +11,9 @@ from jedi.evaluate.cache import evaluator_method_cache
|
||||
from jedi.evaluate.arguments import AnonymousArguments, \
|
||||
ValuesArguments, TreeArgumentsWrapper
|
||||
from jedi.evaluate.context.function import FunctionExecutionContext, \
|
||||
FunctionContext, FunctionMixin, OverloadedFunctionContext, MethodContext
|
||||
FunctionContext, FunctionMixin, OverloadedFunctionContext
|
||||
from jedi.evaluate.context.klass import ClassContext, apply_py__get__, \
|
||||
py__mro__, ClassFilter
|
||||
ClassFilter
|
||||
from jedi.evaluate.context import iterable
|
||||
from jedi.parser_utils import get_parent_scope
|
||||
|
||||
@@ -127,7 +127,7 @@ class AbstractInstanceContext(Context):
|
||||
origin_scope=None, include_self_names=True):
|
||||
class_context = self.get_annotated_class_object()
|
||||
if include_self_names:
|
||||
for cls in py__mro__(class_context):
|
||||
for cls in class_context.py__mro__():
|
||||
if not isinstance(cls, compiled.CompiledObject) \
|
||||
or cls.tree_node is not None:
|
||||
# In this case we're excluding compiled objects that are
|
||||
@@ -135,7 +135,7 @@ class AbstractInstanceContext(Context):
|
||||
# compiled objects to search for self variables.
|
||||
yield SelfAttributeFilter(self.evaluator, self, cls, origin_scope)
|
||||
|
||||
for cls in py__mro__(class_context):
|
||||
for cls in class_context.py__mro__():
|
||||
if isinstance(cls, compiled.CompiledObject):
|
||||
yield CompiledInstanceClassFilter(self.evaluator, self, cls)
|
||||
else:
|
||||
|
||||
@@ -102,7 +102,7 @@ def py__mro__(context):
|
||||
debug.warning('Super class of %s is not a class: %s', context, cls)
|
||||
else:
|
||||
add(cls)
|
||||
for cls_new in py__mro__(cls):
|
||||
for cls_new in cls.py__mro__():
|
||||
add(cls_new)
|
||||
return tuple(mro)
|
||||
|
||||
@@ -208,7 +208,7 @@ class ClassMixin(object):
|
||||
origin_scope=origin_scope
|
||||
)
|
||||
else:
|
||||
for cls in py__mro__(self):
|
||||
for cls in self.py__mro__():
|
||||
if isinstance(cls, compiled.CompiledObject):
|
||||
for filter in cls.get_filters(is_instance=is_instance):
|
||||
yield filter
|
||||
|
||||
@@ -17,7 +17,7 @@ from jedi.evaluate.filters import FilterWrapper, NameWrapper, \
|
||||
AbstractTreeName, AbstractNameDefinition, ContextName
|
||||
from jedi.evaluate.helpers import is_string
|
||||
from jedi.evaluate.imports import Importer
|
||||
from jedi.evaluate.context.klass import py__mro__, ClassMixin
|
||||
from jedi.evaluate.context.klass import ClassMixin
|
||||
|
||||
_PROXY_CLASS_TYPES = 'Tuple Generic Protocol Callable Type'.split()
|
||||
_TYPE_ALIAS_TYPES = {
|
||||
@@ -197,7 +197,7 @@ class TypingContext(_BaseTypingContext):
|
||||
)
|
||||
|
||||
|
||||
class TypingClassMixin(object):
|
||||
class TypingClassMixin(ClassMixin):
|
||||
def py__bases__(self):
|
||||
return [LazyKnownContexts(
|
||||
self.evaluator.builtins_module.py__getattribute__('object')
|
||||
@@ -671,7 +671,7 @@ class LazyAnnotatedBaseClass(object):
|
||||
|
||||
class InstanceWrapper(ContextWrapper):
|
||||
def py__stop_iteration_returns(self):
|
||||
for cls in py__mro__(self._wrapped_context.class_context):
|
||||
for cls in self._wrapped_context.class_context.py__mro__():
|
||||
if cls.py__name__() == 'Generator':
|
||||
given_types = cls.get_given_types()
|
||||
try:
|
||||
|
||||
@@ -24,7 +24,6 @@ from jedi.evaluate.base_context import ContextualizedNode, \
|
||||
NO_CONTEXTS, ContextSet, ContextWrapper
|
||||
from jedi.evaluate.context import ClassContext, ModuleContext, \
|
||||
FunctionExecutionContext
|
||||
from jedi.evaluate.context.klass import py__mro__
|
||||
from jedi.evaluate.context import iterable
|
||||
from jedi.evaluate.lazy_context import LazyTreeContext, LazyKnownContext, \
|
||||
LazyKnownContexts
|
||||
@@ -252,7 +251,7 @@ def builtins_isinstance(objects, types, arguments, evaluator):
|
||||
bool_results = set([True, False])
|
||||
break
|
||||
|
||||
mro = py__mro__(cls)
|
||||
mro = list(cls.py__mro__())
|
||||
|
||||
for cls_or_tup in types:
|
||||
if cls_or_tup.is_class():
|
||||
|
||||
Reference in New Issue
Block a user