forked from VimPlug/jedi
Fix some async issues
This commit is contained in:
@@ -312,10 +312,9 @@ class FunctionExecutionContext(TreeContext):
|
|||||||
if is_generator:
|
if is_generator:
|
||||||
if evaluator.environment.version_info < (3, 6):
|
if evaluator.environment.version_info < (3, 6):
|
||||||
return NO_CONTEXTS
|
return NO_CONTEXTS
|
||||||
async_generator_class, = evaluator.typing_module \
|
async_generator_classes = evaluator.typing_module \
|
||||||
.py__getattribute__('AsyncGenerator')
|
.py__getattribute__('AsyncGenerator')
|
||||||
|
|
||||||
c = async_generator_class.stub_context
|
|
||||||
yield_contexts = self.merge_yield_contexts(is_async=True)
|
yield_contexts = self.merge_yield_contexts(is_async=True)
|
||||||
return ContextSet(
|
return ContextSet(
|
||||||
AnnotatedSubClass(
|
AnnotatedSubClass(
|
||||||
@@ -324,14 +323,13 @@ class FunctionExecutionContext(TreeContext):
|
|||||||
tree_node=c.tree_node,
|
tree_node=c.tree_node,
|
||||||
# The contravariant doesn't seem to be defined.
|
# The contravariant doesn't seem to be defined.
|
||||||
given_types=(yield_contexts.py__class__(), NO_CONTEXTS)
|
given_types=(yield_contexts.py__class__(), NO_CONTEXTS)
|
||||||
)
|
) for c in async_generator_classes
|
||||||
).execute_annotation()
|
).execute_annotation()
|
||||||
else:
|
else:
|
||||||
if evaluator.environment.version_info < (3, 5):
|
if evaluator.environment.version_info < (3, 5):
|
||||||
return NO_CONTEXTS
|
return NO_CONTEXTS
|
||||||
async_class, = evaluator.typing_module .py__getattribute__('Coroutine')
|
async_classes = evaluator.typing_module .py__getattribute__('Coroutine')
|
||||||
return_contexts = self.get_return_values()
|
return_contexts = self.get_return_values()
|
||||||
c = async_class.stub_context
|
|
||||||
return ContextSet(
|
return ContextSet(
|
||||||
AnnotatedSubClass(
|
AnnotatedSubClass(
|
||||||
evaluator,
|
evaluator,
|
||||||
@@ -339,7 +337,7 @@ class FunctionExecutionContext(TreeContext):
|
|||||||
tree_node=c.tree_node,
|
tree_node=c.tree_node,
|
||||||
# Only the first generic is relevant.
|
# Only the first generic is relevant.
|
||||||
given_types=(return_contexts.py__class__(), NO_CONTEXTS, NO_CONTEXTS)
|
given_types=(return_contexts.py__class__(), NO_CONTEXTS, NO_CONTEXTS)
|
||||||
)
|
) for c in async_classes
|
||||||
).execute_annotation()
|
).execute_annotation()
|
||||||
else:
|
else:
|
||||||
if is_generator:
|
if is_generator:
|
||||||
|
|||||||
Reference in New Issue
Block a user