bpo-34013: Don't consider a grouped expression when reporting legacy … · python/cpython@35035bc (original) (raw)
`@@ -18180,7 +18180,7 @@ expression_without_invalid_rule(Parser *p)
`
18180
18180
` return _res;
`
18181
18181
`}
`
18182
18182
``
18183
``
`-
// invalid_legacy_expression: NAME star_expressions
`
``
18183
`+
// invalid_legacy_expression: NAME !'(' star_expressions
`
18184
18184
`static void *
`
18185
18185
`invalid_legacy_expression_rule(Parser *p)
`
18186
18186
`{
`
`@@ -18191,21 +18191,23 @@ invalid_legacy_expression_rule(Parser *p)
`
18191
18191
` }
`
18192
18192
` void * _res = NULL;
`
18193
18193
` int _mark = p->mark;
`
18194
``
`-
{ // NAME star_expressions
`
``
18194
`+
{ // NAME !'(' star_expressions
`
18195
18195
` if (p->error_indicator) {
`
18196
18196
` D(p->level--);
`
18197
18197
` return NULL;
`
18198
18198
` }
`
18199
``
`-
D(fprintf(stderr, "%*c> invalid_legacy_expression[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "NAME star_expressions"));
`
``
18199
`+
D(fprintf(stderr, "%*c> invalid_legacy_expression[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "NAME !'(' star_expressions"));
`
18200
18200
` expr_ty a;
`
18201
18201
` expr_ty b;
`
18202
18202
` if (
`
18203
18203
` (a = _PyPegen_name_token(p)) // NAME
`
18204
18204
` &&
`
``
18205
`+
_PyPegen_lookahead_with_int(0, _PyPegen_expect_token, p, 7) // token='('
`
``
18206
`+
&&
`
18205
18207
` (b = star_expressions_rule(p)) // star_expressions
`
18206
18208
` )
`
18207
18209
` {
`
18208
``
`-
D(fprintf(stderr, "%*c+ invalid_legacy_expression[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "NAME star_expressions"));
`
``
18210
`+
D(fprintf(stderr, "%*c+ invalid_legacy_expression[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "NAME !'(' star_expressions"));
`
18209
18211
` _res = _PyPegen_check_legacy_stmt ( p , a ) ? RAISE_SYNTAX_ERROR_KNOWN_RANGE ( a , b , "Missing parentheses in call to '%U'. Did you mean %U(...)?" , a -> v . Name . id , a -> v . Name . id ) : NULL;
`
18210
18212
` if (_res == NULL && PyErr_Occurred()) {
`
18211
18213
` p->error_indicator = 1;
`
`@@ -18216,7 +18218,7 @@ invalid_legacy_expression_rule(Parser *p)
`
18216
18218
` }
`
18217
18219
` p->mark = _mark;
`
18218
18220
` D(fprintf(stderr, "%*c%s invalid_legacy_expression[%d-%d]: %s failed!\n", p->level, ' ',
`
18219
``
`-
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "NAME star_expressions"));
`
``
18221
`+
p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "NAME !'(' star_expressions"));
`
18220
18222
` }
`
18221
18223
` _res = NULL;
`
18222
18224
` done:
`