< prev index next >
src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java
Print this page
rev 55090 : secret-sfac
*** 127,137 ****
if (refKind == REF_invokeSpecial)
refKind = REF_invokeVirtual;
return make(refKind, refc, member, null /* no callerClass context */);
}
static DirectMethodHandle make(MemberName member) {
! if (member.isConstructor())
return makeAllocator(member);
return make(member.getDeclaringClass(), member);
}
private static DirectMethodHandle makeAllocator(MemberName ctor) {
assert(ctor.isConstructor() && ctor.getName().equals("<init>"));
--- 127,137 ----
if (refKind == REF_invokeSpecial)
refKind = REF_invokeVirtual;
return make(refKind, refc, member, null /* no callerClass context */);
}
static DirectMethodHandle make(MemberName member) {
! if (member.isConstructor() && member.getReturnType() == void.class)
return makeAllocator(member);
return make(member.getDeclaringClass(), member);
}
private static DirectMethodHandle makeAllocator(MemberName ctor) {
assert(ctor.isConstructor() && ctor.getName().equals("<init>"));
< prev index next >