< prev index next >

test/jdk/java/lang/Class/getSimpleName/GetSimpleNameTest.java

Print this page
*** 21,10 ***
--- 21,11 ---
   * questions.
   */
  
  /* @test
   * @bug 8057919
+  * @enablePreview
   * @summary Class.getSimpleName() should work for non-JLS compliant class names
   */
  
  import java.lang.classfile.ClassBuilder;
  import java.lang.classfile.ClassFile;

*** 164,11 ***
  
          byte[] getNestedClasses(boolean isInner) {
              var name = (isInner ? innerName : outerName);
              return ClassFile.of().build(name, clb -> {
                  clb.withSuperclass(CD_Object);
!                 clb.withFlags(AccessFlag.PUBLIC, AccessFlag.SUPER);
                  clb.with(InnerClassesAttribute.of(
                          InnerClassInfo.of(innerName,
                                  Optional.of(outerName),
                                  Optional.of(simpleName))));
                  makeDefaultCtor(clb);
--- 165,11 ---
  
          byte[] getNestedClasses(boolean isInner) {
              var name = (isInner ? innerName : outerName);
              return ClassFile.of().build(name, clb -> {
                  clb.withSuperclass(CD_Object);
!                 clb.withFlags(AccessFlag.PUBLIC, AccessFlag.IDENTITY);
                  clb.with(InnerClassesAttribute.of(
                          InnerClassInfo.of(innerName,
                                  Optional.of(outerName),
                                  Optional.of(simpleName))));
                  makeDefaultCtor(clb);

*** 177,11 ***
  
          byte[] getInnerClasses(boolean isInner) {
              var name = (isInner ? innerName : outerName);
              return ClassFile.of().build(name, clb -> {
                  clb.withSuperclass(CD_Object);
!                 clb.withFlags(AccessFlag.PUBLIC, AccessFlag.SUPER);
                  clb.with(InnerClassesAttribute.of(
                          InnerClassInfo.of(innerName,
                                  Optional.of(outerName),
                                  Optional.of(simpleName),
                                  AccessFlag.PUBLIC)));
--- 178,11 ---
  
          byte[] getInnerClasses(boolean isInner) {
              var name = (isInner ? innerName : outerName);
              return ClassFile.of().build(name, clb -> {
                  clb.withSuperclass(CD_Object);
!                 clb.withFlags(AccessFlag.PUBLIC, AccessFlag.IDENTITY);
                  clb.with(InnerClassesAttribute.of(
                          InnerClassInfo.of(innerName,
                                  Optional.of(outerName),
                                  Optional.of(simpleName),
                                  AccessFlag.PUBLIC)));

*** 191,11 ***
  
          byte[] getLocalClasses(boolean isInner) {
              var name = (isInner ? innerName : outerName);
              return ClassFile.of().build(name, clb -> {
                  clb.withSuperclass(CD_Object);
!                 clb.withFlags(AccessFlag.PUBLIC, AccessFlag.SUPER);
                  clb.with(InnerClassesAttribute.of(
                          InnerClassInfo.of(innerName,
                                  Optional.empty(),
                                  Optional.of(simpleName),
                                  AccessFlag.PUBLIC, AccessFlag.STATIC)));
--- 192,11 ---
  
          byte[] getLocalClasses(boolean isInner) {
              var name = (isInner ? innerName : outerName);
              return ClassFile.of().build(name, clb -> {
                  clb.withSuperclass(CD_Object);
!                 clb.withFlags(AccessFlag.PUBLIC, AccessFlag.IDENTITY);
                  clb.with(InnerClassesAttribute.of(
                          InnerClassInfo.of(innerName,
                                  Optional.empty(),
                                  Optional.of(simpleName),
                                  AccessFlag.PUBLIC, AccessFlag.STATIC)));

*** 206,11 ***
  
          byte[] getAnonymousClasses(boolean isInner) {
              var name = (isInner ? innerName : outerName);
              return ClassFile.of().build(name, clb -> {
                  clb.withSuperclass(CD_Object);
!                 clb.withFlags(AccessFlag.PUBLIC, AccessFlag.SUPER);
                  clb.with(InnerClassesAttribute.of(
                          InnerClassInfo.of(innerName,
                                  Optional.empty(),
                                  Optional.empty(),
                                  AccessFlag.PUBLIC, AccessFlag.STATIC)));
--- 207,11 ---
  
          byte[] getAnonymousClasses(boolean isInner) {
              var name = (isInner ? innerName : outerName);
              return ClassFile.of().build(name, clb -> {
                  clb.withSuperclass(CD_Object);
!                 clb.withFlags(AccessFlag.PUBLIC, AccessFlag.IDENTITY);
                  clb.with(InnerClassesAttribute.of(
                          InnerClassInfo.of(innerName,
                                  Optional.empty(),
                                  Optional.empty(),
                                  AccessFlag.PUBLIC, AccessFlag.STATIC)));
< prev index next >