< prev index next >

test/jdk/java/lang/invoke/defineHiddenClass/HiddenNestmateTest.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
rev 58568 : [mq]: hidden-class-4

*** 52,62 **** assertTrue((lookup.lookupModes() & PRIVATE) != 0); assertTrue((lookup.lookupModes() & MODULE) != 0); Class<?> hiddenClass = lookup.lookupClass(); Class<?> nestHost = hiddenClass.getNestHost(); ! assertTrue(hiddenClass.isHiddenClass()); assertTrue(nestHost == MethodHandles.lookup().lookupClass()); // hidden nestmate is not listed in the return array of getNestMembers assertTrue(Stream.of(nestHost.getNestMembers()).noneMatch(k -> k == hiddenClass)); assertTrue(hiddenClass.isNestmateOf(lookup.lookupClass())); --- 52,62 ---- assertTrue((lookup.lookupModes() & PRIVATE) != 0); assertTrue((lookup.lookupModes() & MODULE) != 0); Class<?> hiddenClass = lookup.lookupClass(); Class<?> nestHost = hiddenClass.getNestHost(); ! assertTrue(hiddenClass.isHidden()); assertTrue(nestHost == MethodHandles.lookup().lookupClass()); // hidden nestmate is not listed in the return array of getNestMembers assertTrue(Stream.of(nestHost.getNestMembers()).noneMatch(k -> k == hiddenClass)); assertTrue(hiddenClass.isNestmateOf(lookup.lookupClass()));
*** 71,81 **** // define a hidden class Lookup lookup = MethodHandles.lookup().defineHiddenClass(bytes, false); Class<?> c = lookup.lookupClass(); assertTrue(lookup.hasFullPrivilegeAccess()); assertTrue(c.getNestHost() == c); // host of its own nest ! assertTrue(c.isHiddenClass()); // invoke int test(HiddenNestmateTest o) via MethodHandle MethodHandle ctor = lookup.findConstructor(c, MethodType.methodType(void.class)); MethodHandle mh = lookup.findVirtual(c, "test", MethodType.methodType(int.class, HiddenNestmateTest.class)); try { --- 71,81 ---- // define a hidden class Lookup lookup = MethodHandles.lookup().defineHiddenClass(bytes, false); Class<?> c = lookup.lookupClass(); assertTrue(lookup.hasFullPrivilegeAccess()); assertTrue(c.getNestHost() == c); // host of its own nest ! assertTrue(c.isHidden()); // invoke int test(HiddenNestmateTest o) via MethodHandle MethodHandle ctor = lookup.findConstructor(c, MethodType.methodType(void.class)); MethodHandle mh = lookup.findVirtual(c, "test", MethodType.methodType(int.class, HiddenNestmateTest.class)); try {
< prev index next >