[ruby/prism] Ignore newlines in labelled lambda arguments
https://github.com/ruby/prism/commit/4ce6bcf182
This commit is contained in:
parent
a21237571e
commit
0dc35f0d30
Notes:
git
2024-12-16 15:51:42 +00:00
@ -14523,6 +14523,7 @@ parse_parameters(
|
||||
bool allows_trailing_comma,
|
||||
bool allows_forwarding_parameters,
|
||||
bool accepts_blocks_in_defaults,
|
||||
bool in_block,
|
||||
uint16_t depth
|
||||
) {
|
||||
pm_do_loop_stack_push(parser, false);
|
||||
@ -14687,7 +14688,7 @@ parse_parameters(
|
||||
break;
|
||||
}
|
||||
case PM_TOKEN_LABEL: {
|
||||
if (!uses_parentheses) parser->in_keyword_arg = true;
|
||||
if (!uses_parentheses && !in_block) parser->in_keyword_arg = true;
|
||||
update_parameter_state(parser, &parser->current, &order);
|
||||
|
||||
context_push(parser, PM_CONTEXT_DEFAULT_PARAMS);
|
||||
@ -15251,6 +15252,7 @@ parse_block_parameters(
|
||||
allows_trailing_comma,
|
||||
false,
|
||||
accepts_blocks_in_defaults,
|
||||
true,
|
||||
(uint16_t) (depth + 1)
|
||||
);
|
||||
}
|
||||
@ -19405,7 +19407,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
|
||||
if (match1(parser, PM_TOKEN_PARENTHESIS_RIGHT)) {
|
||||
params = NULL;
|
||||
} else {
|
||||
params = parse_parameters(parser, PM_BINDING_POWER_DEFINED, true, false, true, true, (uint16_t) (depth + 1));
|
||||
params = parse_parameters(parser, PM_BINDING_POWER_DEFINED, true, false, true, true, false, (uint16_t) (depth + 1));
|
||||
}
|
||||
|
||||
lex_state_set(parser, PM_LEX_STATE_BEG);
|
||||
@ -19430,7 +19432,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
|
||||
|
||||
lparen = not_provided(parser);
|
||||
rparen = not_provided(parser);
|
||||
params = parse_parameters(parser, PM_BINDING_POWER_DEFINED, false, false, true, true, (uint16_t) (depth + 1));
|
||||
params = parse_parameters(parser, PM_BINDING_POWER_DEFINED, false, false, true, true, false, (uint16_t) (depth + 1));
|
||||
|
||||
context_pop(parser);
|
||||
break;
|
||||
|
@ -9,3 +9,15 @@
|
||||
-> foo = bar do end
|
||||
|
||||
-> foo: bar do end
|
||||
|
||||
p{|a:
|
||||
b|}
|
||||
|
||||
->(a:
|
||||
b){}
|
||||
|
||||
->a:
|
||||
b{}
|
||||
|
||||
->a:
|
||||
{}
|
||||
|
Loading…
x
Reference in New Issue
Block a user