[ruby/yarp] Lambda params should not accept blocks
https://github.com/ruby/yarp/commit/706daae0ac
This commit is contained in:
parent
f84690c6e2
commit
3b9085ad24
@ -5,3 +5,7 @@
|
|||||||
->(x: "b#{a}") { }
|
->(x: "b#{a}") { }
|
||||||
|
|
||||||
->(a: b * 3) {}
|
->(a: b * 3) {}
|
||||||
|
|
||||||
|
-> foo = bar do end
|
||||||
|
|
||||||
|
-> foo: bar do end
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
ProgramNode(0...51)(
|
ProgramNode(0...92)(
|
||||||
[],
|
[],
|
||||||
StatementsNode(0...51)(
|
StatementsNode(0...92)(
|
||||||
[LambdaNode(0...14)(
|
[LambdaNode(0...14)(
|
||||||
[:foo],
|
[:foo],
|
||||||
(0...2),
|
(0...2),
|
||||||
@ -104,6 +104,72 @@ ProgramNode(0...51)(
|
|||||||
(47...48)
|
(47...48)
|
||||||
),
|
),
|
||||||
nil
|
nil
|
||||||
|
),
|
||||||
|
LambdaNode(53...72)(
|
||||||
|
[:foo],
|
||||||
|
(53...55),
|
||||||
|
BlockParametersNode(56...65)(
|
||||||
|
ParametersNode(56...65)(
|
||||||
|
[],
|
||||||
|
[OptionalParameterNode(56...65)(
|
||||||
|
:foo,
|
||||||
|
(56...59),
|
||||||
|
(60...61),
|
||||||
|
CallNode(62...65)(
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
(62...65),
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
2,
|
||||||
|
"bar"
|
||||||
|
)
|
||||||
|
)],
|
||||||
|
[],
|
||||||
|
nil,
|
||||||
|
[],
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
|
),
|
||||||
|
[],
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
|
),
|
||||||
|
nil
|
||||||
|
),
|
||||||
|
LambdaNode(74...92)(
|
||||||
|
[:foo],
|
||||||
|
(74...76),
|
||||||
|
BlockParametersNode(77...85)(
|
||||||
|
ParametersNode(77...85)(
|
||||||
|
[],
|
||||||
|
[],
|
||||||
|
[],
|
||||||
|
nil,
|
||||||
|
[KeywordParameterNode(77...85)(
|
||||||
|
(77...81),
|
||||||
|
CallNode(82...85)(
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
(82...85),
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
2,
|
||||||
|
"bar"
|
||||||
|
)
|
||||||
|
)],
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
|
),
|
||||||
|
[],
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
|
),
|
||||||
|
nil
|
||||||
)]
|
)]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -11971,8 +11971,10 @@ parse_expression_prefix(yp_parser_t *parser, yp_binding_power_t binding_power) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case YP_CASE_PARAMETER: {
|
case YP_CASE_PARAMETER: {
|
||||||
|
yp_accepts_block_stack_push(parser, false);
|
||||||
yp_token_t opening = not_provided(parser);
|
yp_token_t opening = not_provided(parser);
|
||||||
params = parse_block_parameters(parser, false, &opening, true);
|
params = parse_block_parameters(parser, false, &opening, true);
|
||||||
|
yp_accepts_block_stack_pop(parser);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user