1 /* |
1 /* |
2 * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
28 * @library /tools/lib /tools/javac/lib ../lib |
28 * @library /tools/lib /tools/javac/lib ../lib |
29 * @modules jdk.compiler/com.sun.tools.javac.api |
29 * @modules jdk.compiler/com.sun.tools.javac.api |
30 * jdk.compiler/com.sun.tools.javac.main |
30 * jdk.compiler/com.sun.tools.javac.main |
31 * jdk.jdeps/com.sun.tools.classfile |
31 * jdk.jdeps/com.sun.tools.classfile |
32 * @build toolbox.ToolBox InMemoryFileManager TestBase SourceFileTestBase |
32 * @build toolbox.ToolBox InMemoryFileManager TestBase SourceFileTestBase |
33 * @run main SyntheticClassTest |
33 * @compile -source 10 -target 10 SyntheticClassTest.java |
|
34 * @run main SyntheticClassTest true |
|
35 * @clean SyntheticClassTest$1 |
|
36 * @compile SyntheticClassTest.java |
|
37 * @run main SyntheticClassTest false |
34 */ |
38 */ |
|
39 |
|
40 import java.nio.file.NoSuchFileException; |
35 |
41 |
36 public class SyntheticClassTest extends SourceFileTestBase { |
42 public class SyntheticClassTest extends SourceFileTestBase { |
37 public static void main(String[] args) throws Exception { |
43 public static void main(String[] args) throws Exception { |
|
44 boolean expectSynthetic = Boolean.parseBoolean(args[0]); |
38 new Inner(); |
45 new Inner(); |
39 |
46 |
40 new SyntheticClassTest().test("SyntheticClassTest$1", "SyntheticClassTest.java"); |
47 try { |
|
48 new SyntheticClassTest().test("SyntheticClassTest$1", "SyntheticClassTest.java"); |
|
49 if (!expectSynthetic) { |
|
50 throw new AssertionError("Synthetic class should not have been emitted!"); |
|
51 } |
|
52 } catch (NoSuchFileException ex) { |
|
53 if (expectSynthetic) { |
|
54 throw new AssertionError("Synthetic class should have been emitted!"); |
|
55 } |
|
56 } |
41 } |
57 } |
42 |
58 |
43 static class Inner { |
59 static class Inner { |
44 private Inner() { |
60 private Inner() { |
45 } |
61 } |