@@ -1147,7 +1147,7 @@ static rb_node_class_t *rb_node_class_new(struct parser_params *p, NODE *nd_cpat
11471147static rb_node_module_t *rb_node_module_new(struct parser_params *p, NODE *nd_cpath, NODE *nd_body, const YYLTYPE *loc);
11481148static rb_node_sclass_t *rb_node_sclass_new(struct parser_params *p, NODE *nd_recv, NODE *nd_body, const YYLTYPE *loc);
11491149static rb_node_colon2_t *rb_node_colon2_new(struct parser_params *p, NODE *nd_head, ID nd_mid, const YYLTYPE *loc, const YYLTYPE *delimiter_loc, const YYLTYPE *name_loc);
1150- static rb_node_colon3_t *rb_node_colon3_new(struct parser_params *p, ID nd_mid, const YYLTYPE *loc);
1150+ static rb_node_colon3_t *rb_node_colon3_new(struct parser_params *p, ID nd_mid, const YYLTYPE *loc, const YYLTYPE *delimiter_loc, const YYLTYPE *name_loc );
11511151static rb_node_dot2_t *rb_node_dot2_new(struct parser_params *p, NODE *nd_beg, NODE *nd_end, const YYLTYPE *loc, const YYLTYPE *operator_loc);
11521152static rb_node_dot3_t *rb_node_dot3_new(struct parser_params *p, NODE *nd_beg, NODE *nd_end, const YYLTYPE *loc, const YYLTYPE *operator_loc);
11531153static rb_node_self_t *rb_node_self_new(struct parser_params *p, const YYLTYPE *loc);
@@ -1255,7 +1255,7 @@ static rb_node_error_t *rb_node_error_new(struct parser_params *p, const YYLTYPE
12551255#define NEW_MODULE(n,b,loc) (NODE *)rb_node_module_new(p,n,b,loc)
12561256#define NEW_SCLASS(r,b,loc) (NODE *)rb_node_sclass_new(p,r,b,loc)
12571257#define NEW_COLON2(c,i,loc,d_loc,n_loc) (NODE *)rb_node_colon2_new(p,c,i,loc,d_loc,n_loc)
1258- #define NEW_COLON3(i,loc) (NODE *)rb_node_colon3_new(p,i,loc)
1258+ #define NEW_COLON3(i,loc,d_loc,n_loc ) (NODE *)rb_node_colon3_new(p,i,loc,d_loc,n_loc )
12591259#define NEW_DOT2(b,e,loc,op_loc) (NODE *)rb_node_dot2_new(p,b,e,loc,op_loc)
12601260#define NEW_DOT3(b,e,loc,op_loc) (NODE *)rb_node_dot3_new(p,b,e,loc,op_loc)
12611261#define NEW_SELF(loc) (NODE *)rb_node_self_new(p,loc)
@@ -3073,7 +3073,7 @@ rb_parser_ary_free(rb_parser_t *p, rb_parser_ary_t *ary)
30733073 | tCOLON3 tCONSTANT tOP_ASGN lex_ctxt rhs
30743074 {
30753075 YYLTYPE loc = code_loc_gen(&@tCOLON3, &@tCONSTANT);
3076- $$ = new_const_op_assign(p, NEW_COLON3($tCONSTANT, &loc), $tOP_ASGN, $rhs, $lex_ctxt, &@$);
3076+ $$ = new_const_op_assign(p, NEW_COLON3($tCONSTANT, &loc, &@tCOLON3, &@tCONSTANT ), $tOP_ASGN, $rhs, $lex_ctxt, &@$);
30773077 /*% ripper: opassign!(top_const_field!($:2), $:3, $:5) %*/
30783078 }
30793079 | backref tOP_ASGN lex_ctxt rhs
@@ -3761,7 +3761,7 @@ mlhs_node : user_or_keyword_variable
37613761 | tCOLON3 tCONSTANT
37623762 {
37633763 /*% ripper: top_const_field!($:2) %*/
3764- $$ = const_decl(p, NEW_COLON3($2, &@$), &@$);
3764+ $$ = const_decl(p, NEW_COLON3($2, &@$, &@1, &@2 ), &@$);
37653765 }
37663766 | backref
37673767 {
@@ -3799,7 +3799,7 @@ lhs : user_or_keyword_variable
37993799 | tCOLON3 tCONSTANT
38003800 {
38013801 /*% ripper: top_const_field!($:2) %*/
3802- $$ = const_decl(p, NEW_COLON3($2, &@$), &@$);
3802+ $$ = const_decl(p, NEW_COLON3($2, &@$, &@1, &@2 ), &@$);
38033803 }
38043804 | backref
38053805 {
@@ -3822,7 +3822,7 @@ cname : tIDENTIFIER
38223822
38233823cpath : tCOLON3 cname
38243824 {
3825- $$ = NEW_COLON3($2, &@$);
3825+ $$ = NEW_COLON3($2, &@$, &@1, &@2 );
38263826 /*% ripper: top_const_ref!($:2) %*/
38273827 }
38283828 | cname
@@ -4390,7 +4390,7 @@ primary : inline_primary
43904390 }
43914391 | tCOLON3 tCONSTANT
43924392 {
4393- $$ = NEW_COLON3($2, &@$);
4393+ $$ = NEW_COLON3($2, &@$, &@1, &@2 );
43944394 /*% ripper: top_const_ref!($:2) %*/
43954395 }
43964396 | tLBRACK aref_args ']'
@@ -5810,7 +5810,7 @@ p_expr_ref : '^' tLPAREN expr_value rparen
58105810
58115811p_const : tCOLON3 cname
58125812 {
5813- $$ = NEW_COLON3($2, &@$);
5813+ $$ = NEW_COLON3($2, &@$, &@1, &@2 );
58145814 /*% ripper: top_const_ref!($:2) %*/
58155815 }
58165816 | p_const tCOLON2 cname
@@ -11565,10 +11565,12 @@ rb_node_colon2_new(struct parser_params *p, NODE *nd_head, ID nd_mid, const YYLT
1156511565}
1156611566
1156711567static rb_node_colon3_t *
11568- rb_node_colon3_new(struct parser_params *p, ID nd_mid, const YYLTYPE *loc)
11568+ rb_node_colon3_new(struct parser_params *p, ID nd_mid, const YYLTYPE *loc, const YYLTYPE *delimiter_loc, const YYLTYPE *name_loc )
1156911569{
1157011570 rb_node_colon3_t *n = NODE_NEWNODE(NODE_COLON3, rb_node_colon3_t, loc);
1157111571 n->nd_mid = nd_mid;
11572+ n->delimiter_loc = *delimiter_loc;
11573+ n->name_loc = *name_loc;
1157211574
1157311575 return n;
1157411576}
0 commit comments