зеркало из https://github.com/github/ruby.git
Fix locations of NODE_LAMBDA.
* node.h: Add `nd_first_loc` and `nd_set_first_loc` * parse.y: Fix to start with the beginning of `->` . e.g. The locations of the NODE_LAMBDA is fixed: ``` -> x { 1 + 2 } ``` * Before ``` NODE_LAMBDA (line: 1, location: (1,2)-(1,14)) ``` * After ``` NODE_LAMBDA (line: 1, location: (1,0)-(1,14)) ``` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
f16326fdda
Коммит
46447667f1
2
node.h
2
node.h
|
@ -192,6 +192,8 @@ typedef struct RNode {
|
|||
#define nd_set_first_column(n, v) ((n)->nd_loc.beg_pos.column = (v))
|
||||
#define nd_first_lineno(n) ((int)((n)->nd_loc.beg_pos.lineno))
|
||||
#define nd_set_first_lineno(n, v) ((n)->nd_loc.beg_pos.lineno = (v))
|
||||
#define nd_first_loc(n) ((n)->nd_loc.beg_pos)
|
||||
#define nd_set_first_loc(n, v) (nd_first_loc(n) = (v))
|
||||
|
||||
#define nd_last_column(n) ((int)((n)->nd_loc.end_pos.column))
|
||||
#define nd_set_last_column(n, v) ((n)->nd_loc.end_pos.column = (v))
|
||||
|
|
3
parse.y
3
parse.y
|
@ -2443,6 +2443,9 @@ primary : literal
|
|||
lambda
|
||||
{
|
||||
$$ = $3;
|
||||
/*%%%*/
|
||||
nd_set_first_loc($$, @1.beg_pos);
|
||||
/*% %*/
|
||||
}
|
||||
| k_if expr_value then
|
||||
compstmt
|
||||
|
|
Загрузка…
Ссылка в новой задаче