@@ -1146,7 +1146,7 @@ static rb_node_undef_t *rb_node_undef_new(struct parser_params *p, NODE *nd_unde
11461146static rb_node_class_t *rb_node_class_new(struct parser_params *p, NODE *nd_cpath, NODE *nd_body, NODE *nd_super, const YYLTYPE *loc, const YYLTYPE *class_keyword_loc, const YYLTYPE *inheritance_operator_loc, const YYLTYPE *end_keyword_loc);
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);
1149- static rb_node_colon2_t *rb_node_colon2_new(struct parser_params *p, NODE *nd_head, ID nd_mid, const YYLTYPE *loc);
1149+ static 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 );
11501150static rb_node_colon3_t *rb_node_colon3_new(struct parser_params *p, ID nd_mid, const YYLTYPE *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);
@@ -1254,7 +1254,7 @@ static rb_node_error_t *rb_node_error_new(struct parser_params *p, const YYLTYPE
12541254#define NEW_CLASS(n,b,s,loc,ck_loc,io_loc,ek_loc) (NODE *)rb_node_class_new(p,n,b,s,loc,ck_loc,io_loc,ek_loc)
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)
1257- #define NEW_COLON2(c,i,loc) (NODE *)rb_node_colon2_new(p,c,i,loc)
1257+ #define NEW_COLON2(c,i,loc,d_loc,n_loc ) (NODE *)rb_node_colon2_new(p,c,i,loc,d_loc,n_loc )
12581258#define NEW_COLON3(i,loc) (NODE *)rb_node_colon3_new(p,i,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)
@@ -3067,7 +3067,7 @@ rb_parser_ary_free(rb_parser_t *p, rb_parser_ary_t *ary)
30673067 | primary_value tCOLON2 tCONSTANT tOP_ASGN lex_ctxt rhs
30683068 {
30693069 YYLTYPE loc = code_loc_gen(&@primary_value, &@tCONSTANT);
3070- $$ = new_const_op_assign(p, NEW_COLON2($primary_value, $tCONSTANT, &loc), $tOP_ASGN, $rhs, $lex_ctxt, &@$);
3070+ $$ = new_const_op_assign(p, NEW_COLON2($primary_value, $tCONSTANT, &loc, &@tCOLON2, &@tCONSTANT ), $tOP_ASGN, $rhs, $lex_ctxt, &@$);
30713071 /*% ripper: opassign!(const_path_field!($:1, $:3), $:4, $:6) %*/
30723072 }
30733073 | tCOLON3 tCONSTANT tOP_ASGN lex_ctxt rhs
@@ -3756,7 +3756,7 @@ mlhs_node : user_or_keyword_variable
37563756 | primary_value tCOLON2 tCONSTANT
37573757 {
37583758 /*% ripper: const_path_field!($:1, $:3) %*/
3759- $$ = const_decl(p, NEW_COLON2($1, $3, &@$), &@$);
3759+ $$ = const_decl(p, NEW_COLON2($1, $3, &@$, &@2, &@3 ), &@$);
37603760 }
37613761 | tCOLON3 tCONSTANT
37623762 {
@@ -3794,7 +3794,7 @@ lhs : user_or_keyword_variable
37943794 | primary_value tCOLON2 tCONSTANT
37953795 {
37963796 /*% ripper: const_path_field!($:1, $:3) %*/
3797- $$ = const_decl(p, NEW_COLON2($1, $3, &@$), &@$);
3797+ $$ = const_decl(p, NEW_COLON2($1, $3, &@$, &@2, &@3 ), &@$);
37983798 }
37993799 | tCOLON3 tCONSTANT
38003800 {
@@ -3827,12 +3827,12 @@ cpath : tCOLON3 cname
38273827 }
38283828 | cname
38293829 {
3830- $$ = NEW_COLON2(0, $1, &@$);
3830+ $$ = NEW_COLON2(0, $1, &@$, &NULL_LOC, &@1 );
38313831 /*% ripper: const_ref!($:1) %*/
38323832 }
38333833 | primary_value tCOLON2 cname
38343834 {
3835- $$ = NEW_COLON2($1, $3, &@$);
3835+ $$ = NEW_COLON2($1, $3, &@$, &@2, &@3 );
38363836 /*% ripper: const_path_ref!($:1, $:3) %*/
38373837 }
38383838 ;
@@ -4385,7 +4385,7 @@ primary : inline_primary
43854385 }
43864386 | primary_value tCOLON2 tCONSTANT
43874387 {
4388- $$ = NEW_COLON2($1, $3, &@$);
4388+ $$ = NEW_COLON2($1, $3, &@$, &@2, &@3 );
43894389 /*% ripper: const_path_ref!($:1, $:3) %*/
43904390 }
43914391 | tCOLON3 tCONSTANT
@@ -5815,7 +5815,7 @@ p_const : tCOLON3 cname
58155815 }
58165816 | p_const tCOLON2 cname
58175817 {
5818- $$ = NEW_COLON2($1, $3, &@$);
5818+ $$ = NEW_COLON2($1, $3, &@$, &@2, &@3 );
58195819 /*% ripper: const_path_ref!($:1, $:3) %*/
58205820 }
58215821 | tCONSTANT
@@ -11553,11 +11553,13 @@ rb_node_until_new(struct parser_params *p, NODE *nd_cond, NODE *nd_body, long nd
1155311553}
1155411554
1155511555static rb_node_colon2_t *
11556- rb_node_colon2_new(struct parser_params *p, NODE *nd_head, ID nd_mid, const YYLTYPE *loc)
11556+ 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 )
1155711557{
1155811558 rb_node_colon2_t *n = NODE_NEWNODE(NODE_COLON2, rb_node_colon2_t, loc);
1155911559 n->nd_head = nd_head;
1156011560 n->nd_mid = nd_mid;
11561+ n->delimiter_loc = *delimiter_loc;
11562+ n->name_loc = *name_loc;
1156111563
1156211564 return n;
1156311565}
0 commit comments