< prev index next >
test/langtools/tools/javac/lambda/bytecode/TestLambdaBytecode.java
Print this page
rev 58565 : 8238358: Implementation of JEP 371: Hidden Classes
Reviewed-by: duke
Contributed-by: mandy.chung@oracle.com, lois.foltan@oracle.com, david.holmes@oracle.com, harold.seigel@oracle.com, serguei.spitsyn@oracle.com, alex.buckley@oracle.com, jamsheed.c.m@oracle.com
@@ -267,18 +267,18 @@
(CONSTANT_MethodHandle_info)cf.constant_pool.get(bsm_spec.bootstrap_arguments[1]);
boolean kindOK;
switch (mh.reference_kind) {
case REF_invokeStatic: kindOK = mk2.isStatic(); break;
- case REF_invokeSpecial: kindOK = !mk2.isStatic(); break;
+ case REF_invokeVirtual: kindOK = !mk2.isStatic() && !mk2.inInterface(); break;
case REF_invokeInterface: kindOK = mk2.inInterface(); break;
default:
kindOK = false;
}
if (!kindOK) {
- fail("Bad invoke kind in implementation method handle");
+ fail("Bad invoke kind in implementation method handle: " + mh.reference_kind);
return;
}
if (!mh.getCPRefInfo().getNameAndTypeInfo().getType().toString().equals(MH_SIG)) {
fail("Type mismatch in implementation method handle");
< prev index next >