mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
GH-90997: Wrap yield from/await in a virtual try/except StopIteration (GH-96010)
This commit is contained in:
parent
2d9f252c0c
commit
5bfb3c372b
11 changed files with 142 additions and 106 deletions
|
@ -507,26 +507,31 @@ dis_asyncwith = """\
|
|||
LOAD_CONST 0 (None)
|
||||
RETURN_VALUE
|
||||
|
||||
%3d >> PUSH_EXC_INFO
|
||||
%3d >> CLEANUP_THROW
|
||||
JUMP_BACKWARD 24 (to 22)
|
||||
>> CLEANUP_THROW
|
||||
JUMP_BACKWARD 9 (to 56)
|
||||
>> PUSH_EXC_INFO
|
||||
WITH_EXCEPT_START
|
||||
GET_AWAITABLE 2
|
||||
LOAD_CONST 0 (None)
|
||||
>> SEND 3 (to 82)
|
||||
>> SEND 4 (to 92)
|
||||
YIELD_VALUE 6
|
||||
RESUME 3
|
||||
JUMP_BACKWARD_NO_INTERRUPT 4 (to 74)
|
||||
>> POP_JUMP_FORWARD_IF_TRUE 1 (to 86)
|
||||
JUMP_BACKWARD_NO_INTERRUPT 4 (to 82)
|
||||
>> CLEANUP_THROW
|
||||
>> POP_JUMP_FORWARD_IF_TRUE 1 (to 96)
|
||||
RERAISE 2
|
||||
>> POP_TOP
|
||||
POP_EXCEPT
|
||||
POP_TOP
|
||||
POP_TOP
|
||||
JUMP_BACKWARD 19 (to 58)
|
||||
JUMP_BACKWARD 24 (to 58)
|
||||
>> COPY 3
|
||||
POP_EXCEPT
|
||||
RERAISE 1
|
||||
ExceptionTable:
|
||||
2 rows
|
||||
6 rows
|
||||
""" % (_asyncwith.__code__.co_firstlineno,
|
||||
_asyncwith.__code__.co_firstlineno + 1,
|
||||
_asyncwith.__code__.co_firstlineno + 2,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue