@@ -15281,6 +15281,7 @@ parse_method_definition_name(pm_parser_t *parser) {
15281
15281
parser_lex(parser);
15282
15282
return parser->previous;
15283
15283
default:
15284
+ PM_PARSER_ERR_TOKEN_FORMAT(parser, parser->current, PM_ERR_DEF_NAME, pm_token_type_human(parser->current.type));
15284
15285
return (pm_token_t) { .type = PM_TOKEN_MISSING, .start = parser->current.start, .end = parser->current.end };
15285
15286
}
15286
15287
}
@@ -17722,7 +17723,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
17722
17723
17723
17724
pm_node_t *receiver = NULL;
17724
17725
pm_token_t operator = not_provided(parser);
17725
- pm_token_t name = (pm_token_t) { .type = PM_TOKEN_MISSING, .start = def_keyword.end, .end = def_keyword.end } ;
17726
+ pm_token_t name;
17726
17727
17727
17728
// This context is necessary for lexing `...` in a bare params
17728
17729
// correctly. It must be pushed before lexing the first param, so it
@@ -17804,7 +17805,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
17804
17805
receiver = (pm_node_t *) pm_true_node_create(parser, &identifier);
17805
17806
break;
17806
17807
case PM_TOKEN_KEYWORD_FALSE:
17807
- receiver = (pm_node_t *)pm_false_node_create(parser, &identifier);
17808
+ receiver = (pm_node_t *) pm_false_node_create(parser, &identifier);
17808
17809
break;
17809
17810
case PM_TOKEN_KEYWORD___FILE__:
17810
17811
receiver = (pm_node_t *) pm_source_file_node_create(parser, &identifier);
@@ -17826,9 +17827,10 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
17826
17827
break;
17827
17828
}
17828
17829
case PM_TOKEN_PARENTHESIS_LEFT: {
17829
- // The current context is `PM_CONTEXT_DEF_PARAMS`, however the inner expression
17830
- // of this parenthesis should not be processed under this context.
17831
- // Thus, the context is popped here.
17830
+ // The current context is `PM_CONTEXT_DEF_PARAMS`, however
17831
+ // the inner expression of this parenthesis should not be
17832
+ // processed under this context. Thus, the context is popped
17833
+ // here.
17832
17834
context_pop(parser);
17833
17835
parser_lex(parser);
17834
17836
@@ -17845,7 +17847,8 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
17845
17847
operator = parser->previous;
17846
17848
receiver = (pm_node_t *) pm_parentheses_node_create(parser, &lparen, expression, &rparen);
17847
17849
17848
- // To push `PM_CONTEXT_DEF_PARAMS` again is for the same reason as described the above.
17850
+ // To push `PM_CONTEXT_DEF_PARAMS` again is for the same
17851
+ // reason as described the above.
17849
17852
pm_parser_scope_push(parser, true);
17850
17853
context_push(parser, PM_CONTEXT_DEF_PARAMS);
17851
17854
name = parse_method_definition_name(parser);
@@ -17857,12 +17860,6 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
17857
17860
break;
17858
17861
}
17859
17862
17860
- // If, after all that, we were unable to find a method name, add an
17861
- // error to the error list.
17862
- if (name.type == PM_TOKEN_MISSING) {
17863
- pm_parser_err_previous(parser, PM_ERR_DEF_NAME);
17864
- }
17865
-
17866
17863
pm_token_t lparen;
17867
17864
pm_token_t rparen;
17868
17865
pm_parameters_node_t *params;
@@ -19856,7 +19853,7 @@ parse_expression_infix(pm_parser_t *parser, pm_node_t *node, pm_binding_power_t
19856
19853
break;
19857
19854
}
19858
19855
default: {
19859
- pm_parser_err_current (parser, PM_ERR_DEF_NAME );
19856
+ PM_PARSER_ERR_TOKEN_FORMAT (parser, parser->current, PM_ERR_EXPECT_MESSAGE, pm_token_type_human(parser->current.type) );
19860
19857
message = (pm_token_t) { .type = PM_TOKEN_MISSING, .start = parser->previous.end, .end = parser->previous.end };
19861
19858
}
19862
19859
}
0 commit comments