diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-04-22 18:56:06 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-04-22 18:56:06 +0900 |
commit | 02ad393cd6bd87a7cc21ef71d5b21ad0f3fe2f34 (patch) | |
tree | 92a273a63391a9930a1a69a8c1b4fefda93b6f78 | |
parent | d6ec8da689ae097e442219b7feab491120060cba (diff) | |
download | ruby-02ad393cd6bd87a7cc21ef71d5b21ad0f3fe2f34.tar.gz |
Revert "Allow simple R-assign in endless def"
This reverts commit 67bcac879a2e0ddfb4e7bbd7cb5e5401422de76a.
-rw-r--r-- | parse.y | 20 | ||||
-rw-r--r-- | test/ruby/test_syntax.rb | 1 |
2 files changed, 3 insertions, 18 deletions
@@ -1104,7 +1104,7 @@ static int looking_at_eol_p(struct parser_params *p); %type <node> string_contents xstring_contents regexp_contents string_content %type <node> words symbols symbol_list qwords qsymbols word_list qword_list qsym_list word %type <node> literal numeric simple_numeric ssym dsym symbol cpath def_name defn_head defs_head -%type <node> top_compstmt top_stmts top_stmt begin_block rassign arg_rassign +%type <node> top_compstmt top_stmts top_stmt begin_block rassign %type <node> bodystmt compstmt stmts stmt_or_begin stmt expr arg primary command command_call method_call %type <node> expr_value expr_value_do arg_value primary_value fcall rel_expr %type <node> if_tail opt_else case_body case_args cases opt_rescue exc_list exc_var opt_ensure @@ -1195,7 +1195,6 @@ static int looking_at_eol_p(struct parser_params *p); %nonassoc tLOWEST %nonassoc tLBRACE_ARG -%left tASSOC %nonassoc modifier_if modifier_unless modifier_while modifier_until keyword_in %left keyword_or keyword_and @@ -1537,19 +1536,6 @@ rassign : arg_value tASSOC lhs } ; -arg_rassign : arg tASSOC lhs %prec tLOWEST - { - /*%%%*/ - $$ = node_assign(p, $3, $1, &@$); - /*% %*/ - /*% ripper: assign!($3, $1) %*/ - } - | arg %prec tLOWEST - { - $$ = $1; - } - ; - command_asgn : lhs '=' command_rhs { /*%%%*/ @@ -2459,7 +2445,7 @@ arg : lhs '=' arg_rhs /*% %*/ /*% ripper: ifop!($1, $3, $6) %*/ } - | defn_head f_arglist_opt '=' arg_rassign + | defn_head f_arglist_opt '=' arg { restore_defun(p, $<node>1->nd_defn); /*%%%*/ @@ -2468,7 +2454,7 @@ arg : lhs '=' arg_rhs /*% ripper: def!(get_value($1), $2, $4) %*/ local_pop(p); } - | defs_head f_arglist_opt '=' arg_rassign + | defs_head f_arglist_opt '=' arg { restore_defun(p, $<node>1->nd_defn); /*%%%*/ diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index ddb813fef9..2f81d72959 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -1419,7 +1419,6 @@ eom assert_valid_syntax('private def inc(x) = x + 1') assert_valid_syntax('private def obj.foo = 42') assert_valid_syntax('private def obj.inc(x) = x + 1') - assert_valid_syntax('private def obj.inc(x) = x + 1 => @x') end def test_methoddef_in_cond |