parse.y: Fix the location of a target constant of OP_CDECL

```
p RubyVM::AbstractSyntaxTree.parse("::Foo += 1").children
 #=> before: [[], nil, (OP_CDECL@1:0-1:10 (COLON3@1:0-1:10 :Foo) :+ (LIT@1:9-1:10 1))]
 #=> after:  [[], nil, (OP_CDECL@1:0-1:10 (COLON3@1:0-1:5 :Foo) :+ (LIT@1:9-1:10 1))]
```
This commit is contained in:
Yusuke Endoh 2021-06-14 10:02:02 +09:00
Родитель 32b18fe9d0
Коммит 70313ec01a
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -2381,7 +2381,8 @@ arg : lhs '=' lex_ctxt arg_rhs
| tCOLON3 tCONSTANT tOP_ASGN lex_ctxt arg_rhs | tCOLON3 tCONSTANT tOP_ASGN lex_ctxt arg_rhs
{ {
/*%%%*/ /*%%%*/
$$ = new_const_op_assign(p, NEW_COLON3($2, &@$), $3, $5, $4, &@$); YYLTYPE loc = code_loc_gen(&@1, &@2);
$$ = new_const_op_assign(p, NEW_COLON3($2, &loc), $3, $5, $4, &@$);
/*% %*/ /*% %*/
/*% ripper: opassign!(top_const_field!($2), $3, $5) %*/ /*% ripper: opassign!(top_const_field!($2), $3, $5) %*/
} }