src/share/classes/com/sun/tools/javac/comp/Check.java

changeset 1904
b577222ef7b3
parent 1864
e42c27026290
child 1907
e990e6bcecbe
equal deleted inserted replaced
1903:155809b1b969 1904:b577222ef7b3
895 JCTree arg = args.head; 895 JCTree arg = args.head;
896 Warner warn = convertWarner(arg.pos(), arg.type, varArg); 896 Warner warn = convertWarner(arg.pos(), arg.type, varArg);
897 assertConvertible(arg, arg.type, varArg, warn); 897 assertConvertible(arg, arg.type, varArg, warn);
898 args = args.tail; 898 args = args.tail;
899 } 899 }
900 } else if ((sym.flags() & VARARGS) != 0 && allowVarargs) { 900 } else if ((sym.flags() & (VARARGS | SIGNATURE_POLYMORPHIC)) == VARARGS &&
901 allowVarargs) {
901 // non-varargs call to varargs method 902 // non-varargs call to varargs method
902 Type varParam = owntype.getParameterTypes().last(); 903 Type varParam = owntype.getParameterTypes().last();
903 Type lastArg = argtypes.last(); 904 Type lastArg = argtypes.last();
904 if (types.isSubtypeUnchecked(lastArg, types.elemtype(varParam)) && 905 if (types.isSubtypeUnchecked(lastArg, types.elemtype(varParam)) &&
905 !types.isSameType(types.erasure(varParam), types.erasure(lastArg))) 906 !types.isSameType(types.erasure(varParam), types.erasure(lastArg)))

mercurial