From 7b5d9d70860a5441b8084c255b2fc493418f0baf Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 21 Jun 2006 05:13:48 +0000 Subject: * parse.y (method_call): remove (fn)(args) style lambda invocation, add fn.(args) instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 7fc86e1987..3af47099ff 100644 --- a/parse.y +++ b/parse.y @@ -3264,6 +3264,28 @@ method_call : operation paren_args $$ = dispatch3(call, $1, ripper_intern("::"), $3); %*/ } + | primary_value '.' paren_args + { + /*%%%*/ + $$ = NEW_CALL($1, rb_intern("call"), $3); + fixpos($$, $1); + /*% + $$ = dispatch3(call, dispatch1(paren, $1), + ripper_id2sym('.'), rb_intern("call")); + $$ = method_optarg($$, $3); + %*/ + } + | primary_value tCOLON2 paren_args + { + /*%%%*/ + $$ = NEW_CALL($1, rb_intern("call"), $3); + fixpos($$, $1); + /*% + $$ = dispatch3(call, dispatch1(paren, $1), + ripper_id2sym('.'), rb_intern("call")); + $$ = method_optarg($$, $3); + %*/ + } | kSUPER paren_args { /*%%%*/ @@ -3280,18 +3302,6 @@ method_call : operation paren_args $$ = dispatch0(zsuper); %*/ } - | tLPAREN compstmt ')' paren_args - { - /*%%%*/ - if (!$2) $2 = NEW_NIL(); - $$ = NEW_CALL($2, rb_intern("call"), $4); - fixpos($$, $2); - /*% - $$ = dispatch3(call, dispatch1(paren, $2), - ripper_id2sym('.'), rb_intern("call")); - $$ = method_optarg($$, $4); - %*/ - } | primary_value '[' opt_call_args rbracket { /*%%%*/ -- cgit v1.2.3