From fb6a489af2765a3b56e301adf0019af6bbad6156 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 24 Oct 2019 01:06:59 +0900 Subject: Revert "Method reference operator" This reverts commit 67c574736912003c377218153f9d3b9c0c96a17b. [Feature #16275] --- parse.y | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 6d0564476d..57b97a92e3 100644 --- a/parse.y +++ b/parse.y @@ -1114,7 +1114,6 @@ static int looking_at_eol_p(struct parser_params *p); %token tRSHFT RUBY_TOKEN(RSHFT) ">>" %token tANDDOT RUBY_TOKEN(ANDDOT) "&." %token tCOLON2 RUBY_TOKEN(COLON2) "::" -%token tMETHREF RUBY_TOKEN(METHREF) ".:" %token tCOLON3 ":: at EXPR_BEG" %token tOP_ASGN "operator-assignment" /* +=, -= etc. */ %token tASSOC "=>" @@ -3064,13 +3063,6 @@ primary : literal /*% %*/ /*% ripper: retry! %*/ } - | primary_value tMETHREF operation2 - { - /*%%%*/ - $$ = NEW_METHREF($1, $3, &@$); - /*% %*/ - /*% ripper: methref!($1, $3) %*/ - } ; primary_value : primary @@ -9232,8 +9224,7 @@ parser_yylex(struct parser_params *p) case '.': { int is_beg = IS_BEG(); SET_LEX_STATE(EXPR_BEG); - switch (c = nextc(p)) { - case '.': + if ((c = nextc(p)) == '.') { if ((c = nextc(p)) == '.') { if (p->lex.paren_nest == 0 && looking_at_eol_p(p)) { rb_warn0("... at EOL, should be parenthesized?"); @@ -9242,23 +9233,6 @@ parser_yylex(struct parser_params *p) } pushback(p, c); return is_beg ? tBDOT2 : tDOT2; - case ':': - switch (c = nextc(p)) { - default: - if (!parser_is_identchar(p)) break; - /* fallthru */ - case '!': case '%': case '&': case '*': case '+': - case '-': case '/': case '<': case '=': case '>': - case '[': case '^': case '`': case '|': case '~': - pushback(p, c); - SET_LEX_STATE(EXPR_DOT); - return tMETHREF; - case -1: - break; - } - pushback(p, c); - c = ':'; - break; } pushback(p, c); if (c != -1 && ISDIGIT(c)) { -- cgit v1.2.3