< prev index next >
test/jdk/java/lang/invoke/defineHiddenClass/BasicTest.java
Print this page
rev 58768 : 8238358: Implementation of JEP 371: Hidden Classes
Reviewed-by: alanb, cjplummer, coleenp, dholmes, dlong, forax, jlahoda, psandoz, plevart, vromero
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, jan.lahoda@oracle.com, amy.lu@oracle.com
rev 58769 : imported patch type-descriptor-name
rev 58770 : [mq]: svc-spec-update
*** 113,123 ****
assertTrue(c.isHidden());
assertFalse(c.isPrimitive());
assertTrue(intfs.length == 1);
assertTrue(intfs[0] == HiddenTest.class);
assertTrue(c.getCanonicalName() == null);
! assertTrue(c.getName().startsWith("HiddenClass/"));
// test array of hidden class
testHiddenArray(c);
// test setAccessible
--- 113,127 ----
assertTrue(c.isHidden());
assertFalse(c.isPrimitive());
assertTrue(intfs.length == 1);
assertTrue(intfs[0] == HiddenTest.class);
assertTrue(c.getCanonicalName() == null);
!
! String hcName = "HiddenClass";
! String hcSuffix = "0x[0-9a-f]+";
! assertTrue(c.getName().matches(hcName + "/" + hcSuffix));
! assertTrue(c.descriptorString().matches("L" + hcName + ";" + "/" + hcSuffix));
// test array of hidden class
testHiddenArray(c);
// test setAccessible
*** 137,147 ****
Object array = Array.newInstance(type, 2);
Class<?> arrayType = array.getClass();
assertTrue(arrayType.isArray());
assertTrue(Array.getLength(array) == 2);
assertFalse(arrayType.isHidden());
! assertTrue(arrayType.getName().startsWith("[LHiddenClass/"), "unexpected name: " + arrayType.getName());
assertTrue(arrayType.getComponentType().isHidden());
assertTrue(arrayType.getComponentType() == type);
Object t = type.newInstance();
Array.set(array, 0, t);
--- 141,155 ----
Object array = Array.newInstance(type, 2);
Class<?> arrayType = array.getClass();
assertTrue(arrayType.isArray());
assertTrue(Array.getLength(array) == 2);
assertFalse(arrayType.isHidden());
!
! String hcName = "HiddenClass";
! String hcSuffix = "0x[0-9a-f]+";
! assertTrue(arrayType.getName().matches("\\[" + "L" + hcName + "/" + hcSuffix + ";"));
! assertTrue(arrayType.descriptorString().matches("\\[" + "L" + hcName + ";" + "/" + hcSuffix));
assertTrue(arrayType.getComponentType().isHidden());
assertTrue(arrayType.getComponentType() == type);
Object t = type.newInstance();
Array.set(array, 0, t);
< prev index next >