Set line number of END_ASYNC_FOR so that it doesn't show in traces. (GH-27255)

This commit is contained in:
Mark Shannon 2021-07-20 11:09:56 +01:00 committed by GitHub
parent 9ee12cf325
commit 7ebd7465a5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 50 additions and 0 deletions

View file

@ -2816,6 +2816,12 @@ compiler_async_for(struct compiler *c, stmt_ty s)
/* Except block for __anext__ */
compiler_use_next_block(c, except);
/* We don't want to trace the END_ASYNC_FOR, so make sure
* that it has the same lineno as the following instruction. */
if (asdl_seq_LEN(s->v.For.orelse)) {
SET_LOC(c, (stmt_ty)asdl_seq_GET(s->v.For.orelse, 0));
}
ADDOP(c, END_ASYNC_FOR);
/* `else` block */