mirror of
https://github.com/ruby/ruby.git
synced 2026-01-27 04:24:23 +00:00
Remove needless parse.y value_expr macro
In the past parse.y and ripper had different `value_expr` definition so that `value_expr` does nothing for ripper. ```c // parse.y #define value_expr(node) value_expr_gen(p, (node)) // ripper #define value_expr(node) ((void)(node)) ``` However Rearchitect Ripper (89cfc1520717257073012ec07105c551e4b8af7c) removed `value_expr` definition for ripper then this commit removes needless parse.y macro and uses `value_expr_gen` directly.
This commit is contained in:
parent
b43e66d3b3
commit
b79ef73a3b
Notes:
git
2025-12-04 00:40:24 +00:00
47
parse.y
47
parse.y
@ -1402,10 +1402,9 @@ static NODE *logop(struct parser_params*,ID,NODE*,NODE*,const YYLTYPE*,const YYL
|
||||
static NODE *newline_node(NODE*);
|
||||
static void fixpos(NODE*,NODE*);
|
||||
|
||||
static int value_expr_gen(struct parser_params*,NODE*);
|
||||
static int value_expr(struct parser_params*,NODE*);
|
||||
static void void_expr(struct parser_params*,NODE*);
|
||||
static NODE *remove_begin(NODE*);
|
||||
#define value_expr(node) value_expr_gen(p, (node))
|
||||
static NODE *void_stmts(struct parser_params*,NODE*);
|
||||
static void reduce_nodes(struct parser_params*,NODE**);
|
||||
static void block_dup_check(struct parser_params*,NODE*,NODE*);
|
||||
@ -3103,39 +3102,39 @@ rb_parser_ary_free(rb_parser_t *p, rb_parser_ary_t *ary)
|
||||
%rule range_expr(range) <node>
|
||||
: range tDOT2 range
|
||||
{
|
||||
value_expr($1);
|
||||
value_expr($3);
|
||||
value_expr(p, $1);
|
||||
value_expr(p, $3);
|
||||
$$ = NEW_DOT2($1, $3, &@$, &@2);
|
||||
/*% ripper: dot2!($:1, $:3) %*/
|
||||
}
|
||||
| range tDOT3 range
|
||||
{
|
||||
value_expr($1);
|
||||
value_expr($3);
|
||||
value_expr(p, $1);
|
||||
value_expr(p, $3);
|
||||
$$ = NEW_DOT3($1, $3, &@$, &@2);
|
||||
/*% ripper: dot3!($:1, $:3) %*/
|
||||
}
|
||||
| range tDOT2
|
||||
{
|
||||
value_expr($1);
|
||||
value_expr(p, $1);
|
||||
$$ = NEW_DOT2($1, new_nil_at(p, &@2.end_pos), &@$, &@2);
|
||||
/*% ripper: dot2!($:1, Qnil) %*/
|
||||
}
|
||||
| range tDOT3
|
||||
{
|
||||
value_expr($1);
|
||||
value_expr(p, $1);
|
||||
$$ = NEW_DOT3($1, new_nil_at(p, &@2.end_pos), &@$, &@2);
|
||||
/*% ripper: dot3!($:1, Qnil) %*/
|
||||
}
|
||||
| tBDOT2 range
|
||||
{
|
||||
value_expr($2);
|
||||
value_expr(p, $2);
|
||||
$$ = NEW_DOT2(new_nil_at(p, &@1.beg_pos), $2, &@$, &@1);
|
||||
/*% ripper: dot2!(Qnil, $:2) %*/
|
||||
}
|
||||
| tBDOT3 range
|
||||
{
|
||||
value_expr($2);
|
||||
value_expr(p, $2);
|
||||
$$ = NEW_DOT3(new_nil_at(p, &@1.beg_pos), $2, &@$, &@1);
|
||||
/*% ripper: dot3!(Qnil, $:2) %*/
|
||||
}
|
||||
@ -3144,7 +3143,7 @@ rb_parser_ary_free(rb_parser_t *p, rb_parser_ary_t *ary)
|
||||
%rule value_expr(value) <node>
|
||||
: value
|
||||
{
|
||||
value_expr($1);
|
||||
value_expr(p, $1);
|
||||
$$ = $1;
|
||||
}
|
||||
;
|
||||
@ -3467,7 +3466,7 @@ expr : command_call
|
||||
}
|
||||
| arg tASSOC
|
||||
{
|
||||
value_expr($arg);
|
||||
value_expr(p, $arg);
|
||||
}
|
||||
p_in_kwarg[ctxt] p_pvtbl p_pktbl
|
||||
p_top_expr_body[body]
|
||||
@ -3482,7 +3481,7 @@ expr : command_call
|
||||
}
|
||||
| arg keyword_in
|
||||
{
|
||||
value_expr($arg);
|
||||
value_expr(p, $arg);
|
||||
}
|
||||
p_in_kwarg[ctxt] p_pvtbl p_pktbl
|
||||
p_top_expr_body[body]
|
||||
@ -4059,7 +4058,7 @@ arg : asgn(arg_rhs)
|
||||
|
||||
ternary : arg '?' arg '\n'? ':' arg
|
||||
{
|
||||
value_expr($1);
|
||||
value_expr(p, $1);
|
||||
$$ = new_if(p, $1, $3, $6, &@$, &NULL_LOC, &@5, &NULL_LOC);
|
||||
fixpos($$, $1);
|
||||
/*% ripper: ifop!($:1, $:3, $:6) %*/
|
||||
@ -4138,13 +4137,13 @@ aref_args : none
|
||||
|
||||
arg_rhs : arg %prec tOP_ASGN
|
||||
{
|
||||
value_expr($1);
|
||||
value_expr(p, $1);
|
||||
$$ = $1;
|
||||
}
|
||||
| arg modifier_rescue after_rescue arg
|
||||
{
|
||||
p->ctxt.in_rescue = $3.in_rescue;
|
||||
value_expr($1);
|
||||
value_expr(p, $1);
|
||||
$$ = rescued_expr(p, $1, $4, &@1, &@2, &@4);
|
||||
/*% ripper: rescue_mod!($:1, $:4) %*/
|
||||
}
|
||||
@ -12820,8 +12819,8 @@ call_bin_op(struct parser_params *p, NODE *recv, ID id, NODE *arg1,
|
||||
const YYLTYPE *op_loc, const YYLTYPE *loc)
|
||||
{
|
||||
NODE *expr;
|
||||
value_expr(recv);
|
||||
value_expr(arg1);
|
||||
value_expr(p, recv);
|
||||
value_expr(p, arg1);
|
||||
expr = NEW_OPCALL(recv, id, NEW_LIST(arg1, &arg1->nd_loc), loc);
|
||||
nd_set_line(expr, op_loc->beg_pos.lineno);
|
||||
return expr;
|
||||
@ -12831,7 +12830,7 @@ static NODE *
|
||||
call_uni_op(struct parser_params *p, NODE *recv, ID id, const YYLTYPE *op_loc, const YYLTYPE *loc)
|
||||
{
|
||||
NODE *opcall;
|
||||
value_expr(recv);
|
||||
value_expr(p, recv);
|
||||
opcall = NEW_OPCALL(recv, id, 0, loc);
|
||||
nd_set_line(opcall, op_loc->beg_pos.lineno);
|
||||
return opcall;
|
||||
@ -12881,8 +12880,8 @@ match_op(struct parser_params *p, NODE *node1, NODE *node2, const YYLTYPE *op_lo
|
||||
NODE *n;
|
||||
int line = op_loc->beg_pos.lineno;
|
||||
|
||||
value_expr(node1);
|
||||
value_expr(node2);
|
||||
value_expr(p, node1);
|
||||
value_expr(p, node2);
|
||||
|
||||
if ((n = last_expr_once_body(node1)) != 0) {
|
||||
switch (nd_type(n)) {
|
||||
@ -13922,7 +13921,7 @@ value_expr_check(struct parser_params *p, NODE *node)
|
||||
}
|
||||
|
||||
static int
|
||||
value_expr_gen(struct parser_params *p, NODE *node)
|
||||
value_expr(struct parser_params *p, NODE *node)
|
||||
{
|
||||
NODE *void_node = value_expr_check(p, node);
|
||||
if (void_node) {
|
||||
@ -14191,7 +14190,7 @@ range_op(struct parser_params *p, NODE *node, const YYLTYPE *loc)
|
||||
if (node == 0) return 0;
|
||||
|
||||
type = nd_type(node);
|
||||
value_expr(node);
|
||||
value_expr(p, node);
|
||||
if (type == NODE_INTEGER) {
|
||||
if (!e_option_supplied(p)) rb_warn0L(nd_line(node), "integer literal in flip-flop");
|
||||
ID lineno = rb_intern("$.");
|
||||
@ -14328,7 +14327,7 @@ logop(struct parser_params *p, ID id, NODE *left, NODE *right,
|
||||
{
|
||||
enum node_type type = id == idAND || id == idANDOP ? NODE_AND : NODE_OR;
|
||||
NODE *op;
|
||||
value_expr(left);
|
||||
value_expr(p, left);
|
||||
if (left && nd_type_p(left, type)) {
|
||||
NODE *node = left, *second;
|
||||
while ((second = RNODE_AND(node)->nd_2nd) != 0 && nd_type_p(second, type)) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user