use of examples.PackageExamples.CrossPackageInnerClass in project openj9 by eclipse.
the class Find_InvokeTracker method test_FindVirtual_Public_CrossPackage_Overridden_InnerClass_Nested_Level2.
/**
* findVirtual test using a public overridden method belonging to a second level inner class
* which is a child of a first level inner class under the same outer class. The lookup class
* is a first level inner class in a different package.
* @throws Throwable
*/
@Test(groups = { "level.extended" })
public void test_FindVirtual_Public_CrossPackage_Overridden_InnerClass_Nested_Level2() throws Throwable {
PackageExamples pe = new PackageExamples();
CrossPackageInnerClass cp_inner1 = pe.new CrossPackageInnerClass();
Lookup publicLookup = cp_inner1.getLookup();
MethodHandle example = publicLookup.findVirtual(SamePackageExample.SamePackageInnerClass2.SamePackageInnerClass2_Nested_Level2_SubOf_Inner1.class, "addPublicInner", MethodType.methodType(int.class, int.class, int.class));
SamePackageExample.SamePackageInnerClass g = ((new SamePackageExample()).new SamePackageInnerClass2()).new SamePackageInnerClass2_Nested_Level2_SubOf_Inner1();
int s = (int) example.invoke(g, 1, 2);
AssertJUnit.assertEquals(23, s);
}
Aggregations