summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authoryui-knk <spiketeika@gmail.com>2022-10-01 17:53:39 +0900
committerYuichiro Kaneko <spiketeika@gmail.com>2022-10-08 17:59:11 +0900
commit3531086095aed9d2898de686bc67ab3a6c2192de (patch)
tree4113b11d14bf2274076b469ceeef1f72f1ac9cba /parse.y
parent4bfdf6d06ddbcf21345461038f2a9e3012f77268 (diff)
downloadruby-3531086095aed9d2898de686bc67ab3a6c2192de.tar.gz
"expr_value" can be error
So that "IF" node is kept in the case below ``` def m if end ``` [Feature #19013]
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y6
1 files changed, 6 insertions, 0 deletions
diff --git a/parse.y b/parse.y
index a8eadfebd3..7d830c2255 100644
--- a/parse.y
+++ b/parse.y
@@ -1901,6 +1901,12 @@ expr_value : expr
value_expr($1);
$$ = $1;
}
+ | error
+ {
+ /*%%%*/
+ $$ = NEW_ERROR(&@$);
+ /*% %*/
+ }
;
expr_value_do : {COND_PUSH(1);} expr_value do {COND_POP();}