--- old/test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesInInnerEnumTest.java 2018-02-11 22:27:22.898924476 -0500 +++ new/test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesInInnerEnumTest.java 2018-02-11 22:27:21.362835247 -0500 @@ -31,13 +31,24 @@ * jdk.jdeps/com.sun.tools.classfile * @build toolbox.ToolBox InMemoryFileManager TestResult TestBase * @build InnerClassesInInnerClassTestBase InnerClassesTestBase - * @run main InnerClassesInInnerEnumTest + * @run main InnerClassesInInnerEnumTest true + * @run main InnerClassesInInnerEnumTest false */ +import java.util.Arrays; +import java.util.List; + public class InnerClassesInInnerEnumTest extends InnerClassesInInnerClassTestBase { + final boolean expectSyntheticClass; + + public InnerClassesInInnerEnumTest(boolean expectSyntheticClass) { + this.expectSyntheticClass = expectSyntheticClass; + } + public static void main(String[] args) throws TestFailedException { - InnerClassesTestBase test = new InnerClassesInInnerEnumTest(); + boolean expectSyntheticClass = Boolean.parseBoolean(args[0]); + InnerClassesTestBase test = new InnerClassesInInnerEnumTest(expectSyntheticClass); test.test("InnerClassesSrc$Inner", "Inner", "1"); } @@ -46,8 +57,15 @@ setOuterOtherModifiers(Modifier.EMPTY, Modifier.STATIC); setOuterClassType(ClassType.ENUM); setInnerClassType(ClassType.CLASS); - setHasSyntheticClass(true); + setHasSyntheticClass(expectSyntheticClass); setPrefix("Inner {;"); setSuffix("}"); } + + @Override + protected List getCompileOptions() { + return !expectSyntheticClass ? + super.getCompileOptions() : + Arrays.asList("-source", "10", "-target", "10"); + } }