1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

parse.y: Fix locations of NODE_NIL in endless ranges.

* parse.y: Fix to start with the end of dots.

  e.g. The locations of the NODE_NIL is fixed:

  ```
  1..
  ```

  * Before

  ```
  NODE_NIL (line: 1, location: (1,0)-(1,3))
  ```

  * After

  ```
  NODE_NIL (line: 1, location: (1,3)-(1,3))
  ```

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
yui-knk 2018-05-10 06:34:20 +00:00
parent 18b2cee206
commit 5afa84b028

12
parse.y
View file

@ -1906,16 +1906,24 @@ arg : lhs '=' arg_rhs
| arg tDOT2
{
/*%%%*/
YYLTYPE loc;
loc.beg_pos = @2.end_pos;
loc.end_pos = @2.end_pos;
value_expr($1);
$$ = NEW_DOT2($1, new_nil(&@$), &@$);
$$ = NEW_DOT2($1, new_nil(&loc), &@$);
/*% %*/
/*% ripper: dot2!($1, Qnil) %*/
}
| arg tDOT3
{
/*%%%*/
YYLTYPE loc;
loc.beg_pos = @2.end_pos;
loc.end_pos = @2.end_pos;
value_expr($1);
$$ = NEW_DOT3($1, new_nil(&@$), &@$);
$$ = NEW_DOT3($1, new_nil(&loc), &@$);
/*% %*/
/*% ripper: dot3!($1, Qnil) %*/
}