< 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,284 **** (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_invokeInterface: kindOK = mk2.inInterface(); break; default: kindOK = false; } if (!kindOK) { ! fail("Bad invoke kind in implementation method handle"); return; } if (!mh.getCPRefInfo().getNameAndTypeInfo().getType().toString().equals(MH_SIG)) { fail("Type mismatch in implementation method handle"); --- 267,284 ---- (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_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: " + mh.reference_kind); return; } if (!mh.getCPRefInfo().getNameAndTypeInfo().getType().toString().equals(MH_SIG)) { fail("Type mismatch in implementation method handle");
< prev index next >