test/langtools/tools/javac/classfiles/attributes/SourceFile/SyntheticClassTest.java
changeset 50735 2f2af62dfac7
parent 47216 71c04702a3d5
equal deleted inserted replaced
50734:0828a0f6676b 50735:2f2af62dfac7
     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         }