From fbb9e6c1eb8ec1870a70b360038430d9ef1b1e08 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 26 Sep 2017 13:40:14 +0000 Subject: [PATCH] parse.y: moved duplicate conditions git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/parse.y b/parse.y index d4462dd691..e187f8c519 100644 --- a/parse.y +++ b/parse.y @@ -8458,16 +8458,16 @@ parser_yylex(struct parser_params *parser) if (IS_BEG()) { c = tLPAREN; } - else if (IS_SPCARG(-1)) { + else if (!space_seen) { + /* foo( ... ) => method call, no ambiguity */ + } + else if (IS_ARG() || IS_lex_state_all(EXPR_END|EXPR_LABEL)) { c = tLPAREN_ARG; } - else if (IS_lex_state(EXPR_ENDFN) && space_seen && !lambda_beginning_p()) { + else if (IS_lex_state(EXPR_ENDFN) && !lambda_beginning_p()) { rb_warning0("parentheses after method name is interpreted as " "an argument list, not a decomposed argument"); } - else if (lex_state == (EXPR_END|EXPR_LABEL) && space_seen) { - c = tLPAREN_ARG; - } paren_nest++; COND_PUSH(0); CMDARG_PUSH(0);