< prev index next >

test/langtools/tools/javac/lambda/bytecode/TestLambdaBytecode.java

Print this page

        

*** 270,287 **** (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"); --- 270,287 ---- (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 >