aboutsummaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-10-24 01:06:59 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-11-12 17:24:48 +0900
commitfb6a489af2765a3b56e301adf0019af6bbad6156 (patch)
treec024078f3a408d33e41aec446e17f5142907eb87 /parse.y
parentb41a19f92fdd9c8567e0650ceebb72386a96e395 (diff)
downloadruby-fb6a489af2765a3b56e301adf0019af6bbad6156.tar.gz
Revert "Method reference operator"
This reverts commit 67c574736912003c377218153f9d3b9c0c96a17b. [Feature #16275]
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y28
1 files changed, 1 insertions, 27 deletions
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 <id> tANDDOT RUBY_TOKEN(ANDDOT) "&."
%token <id> tCOLON2 RUBY_TOKEN(COLON2) "::"
-%token <id> tMETHREF RUBY_TOKEN(METHREF) ".:"
%token tCOLON3 ":: at EXPR_BEG"
%token <id> 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)) {