From ad321cdea5b2ccb3cb6e8e56d2cb26604de00717 Mon Sep 17 00:00:00 2001 From: yui-knk Date: Sun, 10 Dec 2017 23:27:58 +0000 Subject: parse.y: Change the first location of NODE_ARRAY in NODE_DSTR (nd_next->nd_next) * parse.y (list_append_gen): Change the first location to start with the location of item if new list is generated. e.g. The locations of the NODE_ARRAY is changed: ``` "#{a}.#{b}" ``` * Before ``` NODE_ARRAY (line: 1, code_range: (1,0)-(1,6)) ``` * After ``` NODE_ARRAY (line: 1, code_range: (1,5)-(1,6)) ``` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/parse.y b/parse.y index b7607663fe..31e303c059 100644 --- a/parse.y +++ b/parse.y @@ -9039,7 +9039,7 @@ list_append_gen(struct parser_params *parser, NODE *list, NODE *item, const YYLT { NODE *last; - if (list == 0) return new_list(item, location); + if (list == 0) return new_list(item, &item->nd_loc); if (list->nd_next) { last = list->nd_next->nd_end; } @@ -9048,7 +9048,7 @@ list_append_gen(struct parser_params *parser, NODE *list, NODE *item, const YYLT } list->nd_alen += 1; - last->nd_next = new_list(item, location); + last->nd_next = new_list(item, &item->nd_loc); list->nd_next->nd_end = last->nd_next; nd_set_last_lineno(list, nd_last_lineno(item)); -- cgit v1.2.3