Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/langtools/jdk/javadoc/tool/FlagsTooEarly.java
40957 views
1
/*
2
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
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
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
/*
25
* @test
26
* @bug 4904495
27
* @summary Compilation may go awry if we ask a symbol for its flags during
28
* javac's Enter phase, before the flags are generally available.
29
* @modules jdk.javadoc/jdk.javadoc.internal.tool
30
*/
31
32
33
import java.util.Collections;
34
import java.util.Locale;
35
import java.util.Set;
36
37
import javax.lang.model.SourceVersion;
38
39
import jdk.javadoc.doclet.Doclet;
40
import jdk.javadoc.doclet.Reporter;
41
import jdk.javadoc.doclet.DocletEnvironment;
42
43
public class FlagsTooEarly implements Doclet {
44
45
public static void main(String[] args) {
46
String thisFile = "" +
47
new java.io.File(System.getProperty("test.src", "."),
48
"FlagsTooEarly.java");
49
50
String[] argarray = {
51
"-docletpath", System.getProperty("test.classes", "."),
52
"-doclet", "FlagsTooEarly",
53
"-Xwerror",
54
thisFile
55
};
56
if (jdk.javadoc.internal.tool.Main.execute(argarray) != 0)
57
throw new Error("Javadoc encountered warnings or errors.");
58
}
59
60
/*
61
* The world's simplest doclet.
62
*/
63
public boolean run(DocletEnvironment root) {
64
return true;
65
}
66
67
/*
68
* The following sets up the scenario for triggering the (potential) bug.
69
*/
70
C2 c;
71
static class C1 { }
72
static class C2 { }
73
74
@Override
75
public String getName() {
76
return "Test";
77
}
78
79
@Override
80
public Set<Option> getSupportedOptions() {
81
return Collections.emptySet();
82
}
83
84
@Override
85
public SourceVersion getSupportedSourceVersion() {
86
return SourceVersion.latest();
87
}
88
89
public void init(Locale locale, Reporter reporter) {
90
return;
91
}
92
}
93
94