diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2015-11-06 16:01:48 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2015-11-06 16:01:48 (GMT) |
commit | f9827ea61859c6fb3fdac1e5a364d87bd4237622 (patch) | |
tree | db30660124cf9157baeae6638e2cf13ffa0e28f5 /Python/ast.c | |
parent | 82639816df9e2d06fe47687983c13e535895649d (diff) | |
download | cpython-f9827ea61859c6fb3fdac1e5a364d87bd4237622.zip cpython-f9827ea61859c6fb3fdac1e5a364d87bd4237622.tar.gz cpython-f9827ea61859c6fb3fdac1e5a364d87bd4237622.tar.bz2 |
Issue #25555: Fix parser and AST: fill lineno and col_offset of "arg" node when
compiling AST from Python objects.
Diffstat (limited to 'Python/ast.c')
-rw-r--r-- | Python/ast.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/Python/ast.c b/Python/ast.c index dd5187a..7743c31 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -1173,11 +1173,9 @@ ast_for_arg(struct compiling *c, const node *n) return NULL; } - ret = arg(name, annotation, c->c_arena); + ret = arg(name, annotation, LINENO(n), n->n_col_offset, c->c_arena); if (!ret) return NULL; - ret->lineno = LINENO(n); - ret->col_offset = n->n_col_offset; return ret; } @@ -1233,11 +1231,10 @@ handle_keywordonly_args(struct compiling *c, const node *n, int start, goto error; if (forbidden_name(c, argname, ch, 0)) goto error; - arg = arg(argname, annotation, c->c_arena); + arg = arg(argname, annotation, LINENO(ch), ch->n_col_offset, + c->c_arena); if (!arg) goto error; - arg->lineno = LINENO(ch); - arg->col_offset = ch->n_col_offset; asdl_seq_SET(kwonlyargs, j++, arg); i += 2; /* the name and the comma */ break; |