diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-06-15 08:53:15 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-06-15 08:53:15 +0000 |
commit | bae638ad5b782c44c80efe33834cb9039279af46 (patch) | |
tree | 24b40413daece9611aa532bfd04662645a80f783 | |
parent | 4fb5888a4dbc10b6f6d3f847f680baae60b9f757 (diff) | |
download | ruby-bae638ad5b782c44c80efe33834cb9039279af46.tar.gz |
parse.y: Deprecate flip-flops
Ref #5400
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | parse.y | 6 | ||||
-rw-r--r-- | test/ruby/test_syntax.rb | 2 |
2 files changed, 6 insertions, 2 deletions
@@ -9809,8 +9809,10 @@ cond0(struct parser_params *p, NODE *node, int method_op, const YYLTYPE *loc) case NODE_DOT3: node->nd_beg = range_op(p, node->nd_beg, loc); node->nd_end = range_op(p, node->nd_end, loc); - if (nd_type(node) == NODE_DOT2) nd_set_type(node,NODE_FLIP2); - else if (nd_type(node) == NODE_DOT3) nd_set_type(node, NODE_FLIP3); + if (nd_type(node) == NODE_DOT2 || nd_type(node) == NODE_DOT3) { + nd_set_type(node, nd_type(node) == NODE_DOT2 ? NODE_FLIP2 : NODE_FLIP3); + parser_warn(p, node, "flip-flop is deprecated"); + } if (!method_op && !e_option_supplied(p)) { int b = literal_node(node->nd_beg); int e = literal_node(node->nd_end); diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index 6798543fbd..564fc21c47 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -940,7 +940,9 @@ eom eval('1 if !//') end assert_warn('') do + verbose_bak, $VERBOSE = $VERBOSE, nil eval('1 if !(true..false)') + $VERBOSE = verbose_bak end assert_warning('') do eval('1 if !1') |