< prev index next >

test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesInAnonymousClassTest.java

Print this page
@@ -24,13 +24,15 @@
  /*
   * @test
   * @bug 8042251 8062373
   * @summary Testing InnerClasses_attribute of inner classes in anonymous class.
   * @library /tools/lib /tools/javac/lib ../lib
+  * @enablePreview
   * @modules jdk.compiler/com.sun.tools.javac.api
   *          jdk.compiler/com.sun.tools.javac.main
   *          java.base/jdk.internal.classfile.impl
+  * @enablePreview
   * @build toolbox.ToolBox InMemoryFileManager TestResult TestBase
   * @build InnerClassesTestBase
   * @run main InnerClassesInAnonymousClassTest
   */
  

@@ -56,11 +58,11 @@
      }
  
      @Override
      public List<TestCase> generateTestCases() {
          currentClassType = ClassType.CLASS;
-         setPrefix("class Anonymous {} {new Anonymous() {");
+         setPrefix("class Anonymous { int f; } {new Anonymous() {"); // impose identity to make testing predictable.
          List<TestCase> sources = super.generateTestCases();
  
          currentClassType = ClassType.INTERFACE;
          setPrefix("interface Anonymous {} {new Anonymous() {");
          sources.addAll(super.generateTestCases());

@@ -75,8 +77,8 @@
  
      @Override
      public void getAdditionalFlags(Map<String, Set<String>> class2Flags, ClassType type, Modifier... flags) {
          super.getAdditionalFlags(class2Flags, type, flags);
          class2Flags.put("Anonymous", getFlags(currentClassType, Arrays.asList(flags)));
-         class2Flags.put("1", new HashSet<>() {});
+         class2Flags.put("1", new HashSet<>(Arrays.asList("ACC_IDENTITY")));
      }
  }
< prev index next >