summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-03-19 12:40:34 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-03-19 12:40:34 +0000
commit7e199e4156d57c696ae56f711b7a5af68277cd7e (patch)
tree076539c4765da3d7639066c6de7a067860f0e0d4 /parse.y
parent5399951b008c51d6077d09de53831f1ef2aabf4d (diff)
parse.y: push `do` token info
* parse.y (k_rescue, k_ensure): revert r62838. * parse.y (k_do, k_do_LAMBDA, k_do_block): push token infos of `do`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y22
1 files changed, 16 insertions, 6 deletions
diff --git a/parse.y b/parse.y
index f674e30d61..eb9c00d72b 100644
--- a/parse.y
+++ b/parse.y
@@ -2719,17 +2719,27 @@ k_def : keyword_def
}
;
+k_do : keyword_do
+ {
+ token_info_push(p, "do", &@$);
+ }
+ ;
+
+k_do_block : keyword_do_block
+ {
+ token_info_push(p, "do", &@$);
+ }
+ ;
+
k_rescue : keyword_rescue
{
- if (p->token_info && strcmp(p->token_info->token, "begin") == 0)
- token_info_warn(p, "rescue", p->token_info, &@$);
+ token_info_warn(p, "rescue", p->token_info, &@$);
}
;
k_ensure : keyword_ensure
{
- if (p->token_info && strcmp(p->token_info->token, "begin") == 0)
- token_info_warn(p, "ensure", p->token_info, &@$);
+ token_info_warn(p, "ensure", p->token_info, &@$);
}
;
@@ -3105,7 +3115,7 @@ lambda_body : tLAMBEG compstmt '}'
}
;
-do_block : keyword_do_block do_body keyword_end
+do_block : k_do_block do_body k_end
{
$$ = $2;
/*%%%*/
@@ -3235,7 +3245,7 @@ brace_block : '{' brace_body '}'
nd_set_line($$, @1.end_pos.lineno);
/*% %*/
}
- | keyword_do do_body keyword_end
+ | k_do do_body k_end
{
$$ = $2;
/*%%%*/