1
0
forked from VimPlug/jedi

Implement Self, fixes #2023, fixes #2068

This commit is contained in:
Dave Halter
2026-04-29 17:51:01 +02:00
parent c30732eb04
commit aa72381ed1
16 changed files with 92 additions and 47 deletions
+2 -2
View File
@@ -338,7 +338,7 @@ class BaseFunctionExecutionContext(ValueContext, TreeContextMixin):
return ValueSet(
GenericClass(c, TupleGenericManager(generics))
for c in async_generator_classes
).execute_annotation()
).execute_annotation(None)
else:
async_classes = inference_state.typing_module.py__getattribute__('Coroutine')
return_values = self.get_return_values()
@@ -346,7 +346,7 @@ class BaseFunctionExecutionContext(ValueContext, TreeContextMixin):
generics = (return_values.py__class__(), NO_VALUES, NO_VALUES)
return ValueSet(
GenericClass(c, TupleGenericManager(generics)) for c in async_classes
).execute_annotation()
).execute_annotation(None)
else:
# If there are annotations, prefer them over anything else.
if self.is_generator() and not self.infer_annotations():
+1 -1
View File
@@ -506,7 +506,7 @@ class SelfName(TreeNameDefinition):
from jedi.inference.gradual.annotation import infer_annotation
values = infer_annotation(
self.parent_context, stmt.children[1].children[1]
).execute_annotation()
).execute_annotation(None)
if values:
return values
return super().infer()
+2 -2
View File
@@ -44,7 +44,7 @@ class GeneratorBase(LazyAttributeOverwrite, IterableMixin):
array_type = None
def _get_wrapped_value(self):
instance, = self._get_cls().execute_annotation()
instance, = self._get_cls().execute_annotation(None)
return instance
def _get_cls(self):
@@ -214,7 +214,7 @@ class Sequence(LazyAttributeOverwrite, IterableMixin):
c, = GenericClass(
klass,
TupleGenericManager(self._cached_generics())
).execute_annotation()
).execute_annotation(None)
return c
def py__bool__(self):