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))) |