[Bug #19851] Ripper: Hide internal block argument ID
This commit is contained in:
parent
61c5c2f1c8
commit
40efbc7e40
Notes:
git
2023-08-25 17:09:14 +00:00
7
parse.y
7
parse.y
@ -1145,6 +1145,11 @@ static void numparam_pop(struct parser_params *p, NODE *prev_inner);
|
|||||||
#define idFWD_KWREST idPow /* Use simple "**", as tDSTAR is "**arg" */
|
#define idFWD_KWREST idPow /* Use simple "**", as tDSTAR is "**arg" */
|
||||||
#define idFWD_BLOCK '&'
|
#define idFWD_BLOCK '&'
|
||||||
#define idFWD_ALL idDot3
|
#define idFWD_ALL idDot3
|
||||||
|
#ifdef RIPPER
|
||||||
|
#define arg_FWD_BLOCK Qnone
|
||||||
|
#else
|
||||||
|
#define arg_FWD_BLOCK idFWD_BLOCK
|
||||||
|
#endif
|
||||||
#define FORWARD_ARGS_WITH_RUBY2_KEYWORDS
|
#define FORWARD_ARGS_WITH_RUBY2_KEYWORDS
|
||||||
|
|
||||||
#define RE_OPTION_ONCE (1<<16)
|
#define RE_OPTION_ONCE (1<<16)
|
||||||
@ -5628,7 +5633,7 @@ args_tail : f_kwarg ',' f_kwrest opt_f_block_arg
|
|||||||
| args_forward
|
| args_forward
|
||||||
{
|
{
|
||||||
add_forwarding_args(p);
|
add_forwarding_args(p);
|
||||||
$$ = new_args_tail(p, Qnone, $1, ID2VAL(idFWD_BLOCK), &@1);
|
$$ = new_args_tail(p, Qnone, $1, arg_FWD_BLOCK, &@1);
|
||||||
/*%%%*/
|
/*%%%*/
|
||||||
($$->nd_ainfo)->forwarding = 1;
|
($$->nd_ainfo)->forwarding = 1;
|
||||||
/*% %*/
|
/*% %*/
|
||||||
|
@ -152,6 +152,7 @@ class TestRipper::ParserEvents < Test::Unit::TestCase
|
|||||||
thru_args_forward = false
|
thru_args_forward = false
|
||||||
parse(code, :on_args_forward) {thru_args_forward = true}
|
parse(code, :on_args_forward) {thru_args_forward = true}
|
||||||
assert_equal true, thru_args_forward, "no args_forward for: #{code}"
|
assert_equal true, thru_args_forward, "no args_forward for: #{code}"
|
||||||
|
parse(code, :on_params) {|*, block| assert_nil(block)}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user