parse.y: ambiguous parentheses

* parse.y (parser_yylex): warn ambiguous parentheses after a space
  in method definitions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2016-11-29 10:47:43 +00:00
parent dacf977a42
commit 65e27c8b13
3 changed files with 12 additions and 8 deletions

View File

@ -15,17 +15,17 @@ class Date
protected :d
def zero? () false end
def finite? () false end
def infinite? () d.nonzero? end
def nan? () d.zero? end
def zero?() false end
def finite?() false end
def infinite?() d.nonzero? end
def nan?() d.zero? end
def abs() self.class.new end
def -@ () self.class.new(-d) end
def +@ () self.class.new(+d) end
def -@() self.class.new(-d) end
def +@() self.class.new(+d) end
def <=> (other)
def <=>(other)
case other
when Infinity; return d <=> other.d
when Numeric; return d

View File

@ -381,7 +381,7 @@ module OpenSSL::Buffering
# Writes +s+ to the stream. +s+ will be converted to a String using
# String#to_s.
def << (s)
def <<(s)
do_write(s)
self
end

View File

@ -8520,6 +8520,10 @@ parser_yylex(struct parser_params *parser)
else if (IS_SPCARG(-1)) {
c = tLPAREN_ARG;
}
else if (IS_lex_state(EXPR_ENDFN) && space_seen) {
rb_warning0("parentheses after method name is interpreted as");
rb_warning0("an argument list, not a decomposed argument");
}
paren_nest++;
COND_PUSH(0);
CMDARG_PUSH(0);