Skip to content

Commit

Permalink
Merge pull request #18398 from ThanHenderson/14987
Browse files Browse the repository at this point in the history
Adapt cross package interface test to correctly handle Java 8
  • Loading branch information
babsingh committed Nov 7, 2023
2 parents bb39169 + 50f84c7 commit 3ba8567
Showing 1 changed file with 12 additions and 1 deletion.
Expand Up @@ -21,6 +21,7 @@
*******************************************************************************/
package com.ibm.j9.jsr292;

import org.openj9.test.util.VersionCheck;
import org.testng.annotations.Test;
import org.testng.Assert;
import org.testng.AssertJUnit;
Expand Down Expand Up @@ -2106,7 +2107,17 @@ public void test_FindSpecial_Public_CrossPackage_InnerClass() throws Throwable {
*/
@Test(groups = { "level.extended" })
public void test_FindSpecial_Default_CrossPackage_Interface() throws Throwable {
MethodHandle example = MethodHandles.lookup().findSpecial(CrossPackageDefaultMethodInterface.class, "addDefault", MethodType.methodType(int.class, int.class, int.class), CrossPackageDefaultMethodInterface.class);
try {
Class<?> cls = CrossPackageDefaultMethodInterface.class;
MethodType mt = MethodType.methodType(int.class, int.class, int.class);
MethodHandles.lookup().findSpecial(cls, "addDefault", mt, cls);
} catch (IllegalAccessException e) {
// JEP 274 is implemented from Java 9 onwards; Java 8 with OpenJDK MethodHandles
// expects an IllegalAccessException.
if (VersionCheck.major() > 8) {
Assert.fail("[Java 9+] Since JEP 274, an IllegalAccessException should not be thrown ", e);
}
}
}

/**
Expand Down

0 comments on commit 3ba8567

Please sign in to comment.