зеркало из https://github.com/github/ruby.git
[ruby/yarp] Lambda params should not accept blocks
https://github.com/ruby/yarp/commit/706daae0ac
This commit is contained in:
Родитель
f84690c6e2
Коммит
3b9085ad24
|
@ -5,3 +5,7 @@
|
|||
->(x: "b#{a}") { }
|
||||
|
||||
->(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)(
|
||||
[:foo],
|
||||
(0...2),
|
||||
|
@ -104,6 +104,72 @@ ProgramNode(0...51)(
|
|||
(47...48)
|
||||
),
|
||||
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;
|
||||
}
|
||||
case YP_CASE_PARAMETER: {
|
||||
yp_accepts_block_stack_push(parser, false);
|
||||
yp_token_t opening = not_provided(parser);
|
||||
params = parse_block_parameters(parser, false, &opening, true);
|
||||
yp_accepts_block_stack_pop(parser);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
|
|
Загрузка…
Ссылка в новой задаче