1
0
forked from VimPlug/jedi

Fix an issue with async for

This commit is contained in:
Dave Halter
2018-02-21 00:41:59 +01:00
parent bc0210af70
commit de5d7961e8
2 changed files with 7 additions and 3 deletions

View File

@@ -173,14 +173,14 @@ class Context(BaseContext):
return None return None
def iterate_contexts(contexts, contextualized_node=None): def iterate_contexts(contexts, contextualized_node=None, is_async=False):
""" """
Calls `iterate`, on all contexts but ignores the ordering and just returns Calls `iterate`, on all contexts but ignores the ordering and just returns
all contexts that the iterate functions yield. all contexts that the iterate functions yield.
""" """
return ContextSet.from_sets( return ContextSet.from_sets(
lazy_context.infer() lazy_context.infer()
for lazy_context in contexts.iterate(contextualized_node) for lazy_context in contexts.iterate(contextualized_node, is_async=is_async)
) )

View File

@@ -499,7 +499,11 @@ def tree_name_to_contexts(evaluator, context, tree_name):
types = context.predefined_names[node][tree_name.value] types = context.predefined_names[node][tree_name.value]
except KeyError: except KeyError:
cn = ContextualizedNode(context, node.children[3]) cn = ContextualizedNode(context, node.children[3])
for_types = iterate_contexts(cn.infer(), cn) for_types = iterate_contexts(
cn.infer(),
contextualized_node=cn,
is_async=node.parent.type == 'async_stmt',
)
c_node = ContextualizedName(context, tree_name) c_node = ContextualizedName(context, tree_name)
types = check_tuple_assignments(evaluator, c_node, for_types) types = check_tuple_assignments(evaluator, c_node, for_types)
elif typ == 'expr_stmt': elif typ == 'expr_stmt':