summaryrefslogtreecommitdiffstats
path: root/Python/ast.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-11-06 16:01:48 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2015-11-06 16:01:48 (GMT)
commitf9827ea61859c6fb3fdac1e5a364d87bd4237622 (patch)
treedb30660124cf9157baeae6638e2cf13ffa0e28f5 /Python/ast.c
parent82639816df9e2d06fe47687983c13e535895649d (diff)
downloadcpython-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.c9
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;