8022795: Method.isVarargs of dynamic proxy generated method to match the proxy interface method

Reviewed-by: rriggs, darcy
This commit is contained in:
Mandy Chung 2020-08-04 10:26:39 -07:00
parent b0ceab23dd
commit 38af8be984
2 changed files with 119 additions and 1 deletions

View file

@ -670,7 +670,10 @@ final class ProxyGenerator extends ClassWriter {
private void generateMethod(ClassWriter cw, String className) {
MethodType mt = MethodType.methodType(returnType, parameterTypes);
String desc = mt.toMethodDescriptorString();
MethodVisitor mv = cw.visitMethod(ACC_PUBLIC | ACC_FINAL,
int accessFlags = ACC_PUBLIC | ACC_FINAL;
if (method.isVarArgs()) accessFlags |= ACC_VARARGS;
MethodVisitor mv = cw.visitMethod(accessFlags,
method.getName(), desc, null,
typeNames(Arrays.asList(exceptionTypes)));