forked from VimPlug/jedi
Adds support for "async with" via #1818
This commit is contained in:
@@ -738,6 +738,13 @@ def tree_name_to_values(inference_state, context, tree_name):
|
||||
types = infer_expr_stmt(context, node, tree_name)
|
||||
elif typ == 'with_stmt':
|
||||
value_managers = context.infer_node(node.get_test_node_from_name(tree_name))
|
||||
if node.parent.type == 'async_stmt':
|
||||
# In the case of `async with` statements, we need to
|
||||
# first get the coroutine from the `__aenter__` method,
|
||||
# then "unwrap" via the `__await__` method
|
||||
enter_methods = value_managers.py__getattribute__('__aenter__')
|
||||
coro = enter_methods.execute_with_values()
|
||||
return coro.py__await__().py__stop_iteration_returns()
|
||||
enter_methods = value_managers.py__getattribute__('__enter__')
|
||||
return enter_methods.execute_with_values()
|
||||
elif typ in ('import_from', 'import_name'):
|
||||
|
||||
Reference in New Issue
Block a user