mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 14:04:26 +08:00
StubClassContext is now also a ContextWrapper
This commit is contained in:
@@ -205,11 +205,10 @@ class NameWithStubMixin(object):
|
|||||||
)
|
)
|
||||||
elif isinstance(stub_context, StubOnlyClass) \
|
elif isinstance(stub_context, StubOnlyClass) \
|
||||||
and isinstance(actual_context, ClassContext):
|
and isinstance(actual_context, ClassContext):
|
||||||
yield StubClassContext(
|
yield StubClassContext.create_cached(
|
||||||
actual_context.evaluator,
|
actual_context.evaluator,
|
||||||
|
actual_context,
|
||||||
stub_context,
|
stub_context,
|
||||||
actual_context.parent_context,
|
|
||||||
actual_context.tree_node,
|
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
yield stub_context
|
yield stub_context
|
||||||
@@ -348,7 +347,7 @@ class _MixedStubContextMixin(object):
|
|||||||
self.stub_context = stub_context
|
self.stub_context = stub_context
|
||||||
|
|
||||||
|
|
||||||
class _StubContextFilterMixin(_MixedStubContextMixin):
|
class _StubContextFilterMixin(object):
|
||||||
def get_filters(self, search_global=False, until_position=None,
|
def get_filters(self, search_global=False, until_position=None,
|
||||||
origin_scope=None, **kwargs):
|
origin_scope=None, **kwargs):
|
||||||
filters = super(_StubContextFilterMixin, self).get_filters(
|
filters = super(_StubContextFilterMixin, self).get_filters(
|
||||||
@@ -366,11 +365,15 @@ class _StubContextFilterMixin(_MixedStubContextMixin):
|
|||||||
yield f
|
yield f
|
||||||
|
|
||||||
|
|
||||||
class StubModuleContext(_StubContextFilterMixin, ModuleContext):
|
class StubModuleContext(_MixedStubContextMixin, _StubContextFilterMixin, ModuleContext):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class StubClassContext(_StubContextFilterMixin, ClassContext):
|
class StubClassContext(_StubContextFilterMixin, ClassMixin, ContextWrapper):
|
||||||
|
def __init__(self, cls, stub_context):
|
||||||
|
super(StubClassContext, self).__init__(cls)
|
||||||
|
self.stub_context = stub_context
|
||||||
|
|
||||||
def __getattribute__(self, name):
|
def __getattribute__(self, name):
|
||||||
if name in ('py__getitem__', 'py__simple_getitem__', 'py__bases__',
|
if name in ('py__getitem__', 'py__simple_getitem__', 'py__bases__',
|
||||||
'execute_annotation', 'get_stub_only_filter'):
|
'execute_annotation', 'get_stub_only_filter'):
|
||||||
|
|||||||
Reference in New Issue
Block a user