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 protected :d
def zero? () false end def zero?() false end
def finite? () false end def finite?() false end
def infinite? () d.nonzero? end def infinite?() d.nonzero? end
def nan? () d.zero? end def nan?() d.zero? end
def abs() self.class.new 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 case other
when Infinity; return d <=> other.d when Infinity; return d <=> other.d
when Numeric; return 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 # Writes +s+ to the stream. +s+ will be converted to a String using
# String#to_s. # String#to_s.
def << (s) def <<(s)
do_write(s) do_write(s)
self self
end end

View File

@ -8520,6 +8520,10 @@ parser_yylex(struct parser_params *parser)
else if (IS_SPCARG(-1)) { else if (IS_SPCARG(-1)) {
c = tLPAREN_ARG; 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++; paren_nest++;
COND_PUSH(0); COND_PUSH(0);
CMDARG_PUSH(0); CMDARG_PUSH(0);