提交 7223135f 编写于 作者: V vromero

8013179: assertion failure in javac when compiling with -source 1.6 -target 1.6

Reviewed-by: jjg
上级 e57cefff
......@@ -674,7 +674,11 @@ public class TransTypes extends TreeTranslator {
if (tree.varargsElement != null)
tree.varargsElement = types.erasure(tree.varargsElement);
else
Assert.check(tree.args.length() == argtypes.length());
if (tree.args.length() != argtypes.length()) {
log.error(tree.pos(),
"method.invoked.with.incorrect.number.arguments",
tree.args.length(), argtypes.length());
}
tree.args = translateArgs(tree.args, argtypes, tree.varargsElement);
tree.type = types.erasure(tree.type);
......
......@@ -918,6 +918,10 @@ compiler.err.signature.doesnt.match.supertype=\
compiler.err.signature.doesnt.match.intf=\
signature does not match {0}; incompatible interfaces
# 0: number, 1: number
compiler.err.method.invoked.with.incorrect.number.arguments=\
method invoked with incorrect number of arguments; expected {0}, found {1}
# 0: symbol, 1: symbol, 2: symbol
compiler.err.does.not.override.abstract=\
{0} is not abstract and does not override abstract method {1} in {2}
......
/*
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
// key: compiler.err.method.invoked.with.incorrect.number.arguments
// options: -Xlint:-options -source 6 -target 6
class MethodInvokedWithWrongNumberOfArgs {
static java.lang.invoke.MethodHandle getNamedMember;
public static Object getMember(String name, Object rec) throws Throwable {
return getNamedMember.invoke(rec, name);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册