14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package com.sun.tools.javadoc.main;
27
28 import java.util.LinkedHashMap;
29 import java.util.Map;
30 import java.util.StringTokenizer;
31
32 import com.sun.tools.javac.code.Flags;
33 import com.sun.tools.javac.main.Option;
34 import com.sun.tools.javac.util.ListBuffer;
35 import com.sun.tools.javac.util.Options;
36
37
38 /**
39 * javadoc tool options.
40 *
41 * <p><b>This is NOT part of any supported API.
42 * If you write code that depends on this, you do so at your own risk.
43 * This code and its internal interfaces are subject to change or
44 * deletion without notice.</b>
45 */
46 @Deprecated
47 public enum ToolOption {
48 // ----- options for underlying compiler -----
49
50 BOOTCLASSPATH("-bootclasspath", true) {
51 @Override
52 public void process(Helper helper, String arg) {
53 helper.setFileManagerOpt(Option.BOOTCLASSPATH, arg);
54 }
55 },
56
57 CLASSPATH("-classpath", true) {
58 @Override
59 public void process(Helper helper, String arg) {
60 helper.setFileManagerOpt(Option.CLASSPATH, arg);
61 }
62 },
63
64 CP("-cp", true) {
65 @Override
66 public void process(Helper helper, String arg) {
67 helper.setFileManagerOpt(Option.CP, arg);
68 }
69 },
70
71 EXTDIRS("-extdirs", true) {
72 @Override
73 public void process(Helper helper, String arg) {
74 helper.setFileManagerOpt(Option.EXTDIRS, arg);
75 }
76 },
77
78 SOURCEPATH("-sourcepath", true) {
79 @Override
80 public void process(Helper helper, String arg) {
81 helper.setFileManagerOpt(Option.SOURCEPATH, arg);
82 }
83 },
84
85 SYSCLASSPATH("-sysclasspath", true) {
86 @Override
87 public void process(Helper helper, String arg) {
88 helper.setFileManagerOpt(Option.BOOTCLASSPATH, arg);
89 }
90 },
91
92 MODULESOURCEPATH("-modulesourcepath", true) {
93 @Override
94 public void process(Helper helper, String arg) {
95 helper.setFileManagerOpt(Option.MODULESOURCEPATH, arg);
96 }
97 },
98
99 UPGRADEMODULEPATH("-upgrademodulepath", true) {
100 @Override
101 public void process(Helper helper, String arg) {
102 helper.setFileManagerOpt(Option.UPGRADEMODULEPATH, arg);
103 }
104 },
105
106 SYSTEM("-system", true) {
107 @Override
108 public void process(Helper helper, String arg) {
109 helper.setFileManagerOpt(Option.SYSTEM, arg);
110 }
111 },
112
113 MODULEPATH("-modulepath", true) {
114 @Override
115 public void process(Helper helper, String arg) {
116 helper.setFileManagerOpt(Option.MODULEPATH, arg);
117 }
118 },
119
120 ADDMODS("-addmods", true) {
121 @Override
122 public void process(Helper helper, String arg) {
123 helper.setCompilerOpt(opt, arg);
124 }
125 },
126
127 LIMITMODS("-limitmods", true) {
128 @Override
129 public void process(Helper helper, String arg) {
130 helper.setCompilerOpt(opt, arg);
131 }
132 },
133
134 ENCODING("-encoding", true) {
135 @Override
136 public void process(Helper helper, String arg) {
137 helper.encoding = arg;
138 helper.setCompilerOpt(opt, arg);
139 }
140 },
141
142 RELEASE("-release", true) {
143 @Override
144 public void process(Helper helper, String arg) {
145 helper.setCompilerOpt(opt, arg);
146 }
147 },
148
149 SOURCE("-source", true) {
150 @Override
151 public void process(Helper helper, String arg) {
152 helper.setCompilerOpt(opt, arg);
153 }
154 },
155
156 XMAXERRS("-Xmaxerrs", true) {
157 @Override
158 public void process(Helper helper, String arg) {
159 helper.setCompilerOpt(opt, arg);
160 }
161 },
162
163 XMAXWARNS("-Xmaxwarns", true) {
164 @Override
165 public void process(Helper helper, String arg) {
166 helper.setCompilerOpt(opt, arg);
167 }
168 },
169
170 // ----- doclet options -----
171
172 DOCLET("-doclet", true), // handled in setDocletInvoker
173
174 DOCLETPATH("-docletpath", true), // handled in setDocletInvoker
175
176 // ----- selection options -----
177
178 SUBPACKAGES("-subpackages", true) {
179 @Override
180 public void process(Helper helper, String arg) {
181 helper.addToList(helper.subPackages, arg);
182 }
183 },
184
185 EXCLUDE("-exclude", true) {
186 @Override
187 public void process(Helper helper, String arg) {
188 helper.addToList(helper.excludedPackages, arg);
189 }
345
346 /** Set by -Xclasses. */
347 boolean docClasses = false;
348
349 /** Set by -Xwerror. */
350 boolean rejectWarnings = false;
351
352 /** Set by -prompt. */
353 boolean promptOnError;
354
355 /** Set by -locale. */
356 String docLocale = "";
357
358 /** Set by -public, private, -protected, -package. */
359 ModifierFilter showAccess = null;
360
361 abstract void usage();
362 abstract void Xusage();
363
364 abstract void usageError(String msg, Object... args);
365
366 void addToList(ListBuffer<String> list, String str){
367 StringTokenizer st = new StringTokenizer(str, ":");
368 String current;
369 while(st.hasMoreTokens()){
370 current = st.nextToken();
371 list.append(current);
372 }
373 }
374
375 void setFilter(long filterBits) {
376 if (showAccess != null) {
377 usageError("main.incompatible.access.flags");
378 }
379 showAccess = new ModifierFilter(filterBits);
380 }
381
382 void setCompilerOpt(String opt, String arg) {
383 if (compOpts.get(opt) != null) {
384 usageError("main.option.already.seen", opt);
|
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package com.sun.tools.javadoc.main;
27
28 import java.util.LinkedHashMap;
29 import java.util.Map;
30 import java.util.StringTokenizer;
31
32 import com.sun.tools.javac.code.Flags;
33 import com.sun.tools.javac.main.Option;
34 import com.sun.tools.javac.main.OptionHelper;
35 import com.sun.tools.javac.util.ListBuffer;
36 import com.sun.tools.javac.util.Options;
37
38
39 /**
40 * javadoc tool options.
41 *
42 * <p><b>This is NOT part of any supported API.
43 * If you write code that depends on this, you do so at your own risk.
44 * This code and its internal interfaces are subject to change or
45 * deletion without notice.</b>
46 */
47 @Deprecated
48 public enum ToolOption {
49 // ----- options for underlying compiler -----
50
51 BOOTCLASSPATH("-bootclasspath", true) {
52 @Override
53 public void process(Helper helper, String arg) {
54 helper.setFileManagerOpt(Option.BOOT_CLASS_PATH, arg);
55 }
56 },
57
58 CLASSPATH("-classpath", true) {
59 @Override
60 public void process(Helper helper, String arg) {
61 helper.setFileManagerOpt(Option.CLASS_PATH, arg);
62 }
63 },
64
65 CP("-cp", true) {
66 @Override
67 public void process(Helper helper, String arg) {
68 helper.setFileManagerOpt(Option.CLASS_PATH, arg);
69 }
70 },
71
72 CLASS_PATH("--class-path", true) {
73 @Override
74 public void process(Helper helper, String arg) {
75 helper.setFileManagerOpt(Option.CLASS_PATH, arg);
76 }
77 },
78
79 EXTDIRS("-extdirs", true) {
80 @Override
81 public void process(Helper helper, String arg) {
82 helper.setFileManagerOpt(Option.EXTDIRS, arg);
83 }
84 },
85
86 SOURCEPATH("-sourcepath", true) {
87 @Override
88 public void process(Helper helper, String arg) {
89 helper.setFileManagerOpt(Option.SOURCE_PATH, arg);
90 }
91 },
92
93 SOURCE_PATH("--source-path", true) {
94 @Override
95 public void process(Helper helper, String arg) {
96 helper.setFileManagerOpt(Option.SOURCE_PATH, arg);
97 }
98 },
99
100 SYSCLASSPATH("-sysclasspath", true) {
101 @Override
102 public void process(Helper helper, String arg) {
103 helper.setFileManagerOpt(Option.BOOT_CLASS_PATH, arg);
104 }
105 },
106
107 MODULESOURCEPATH("-modulesourcepath", true) {
108 @Override
109 public void process(Helper helper, String arg) {
110 helper.setFileManagerOpt(Option.MODULE_SOURCE_PATH, arg);
111 }
112 },
113
114 MODULE_SOURCE_PATH("--module-source-path", true) {
115 @Override
116 public void process(Helper helper, String arg) {
117 helper.setFileManagerOpt(Option.MODULE_SOURCE_PATH, arg);
118 }
119 },
120
121 UPGRADEMODULEPATH("-upgrademodulepath", true) {
122 @Override
123 public void process(Helper helper, String arg) {
124 helper.setFileManagerOpt(Option.UPGRADE_MODULE_PATH, arg);
125 }
126 },
127
128 UPGRADE_MODULE_PATH("--upgrade-module-path", true) {
129 @Override
130 public void process(Helper helper, String arg) {
131 helper.setFileManagerOpt(Option.UPGRADE_MODULE_PATH, arg);
132 }
133 },
134
135 SYSTEM("-system", true) {
136 @Override
137 public void process(Helper helper, String arg) {
138 helper.setFileManagerOpt(Option.SYSTEM, arg);
139 }
140 },
141
142 SYSTEM_("--system", true) {
143 @Override
144 public void process(Helper helper, String arg) {
145 helper.setFileManagerOpt(Option.SYSTEM, arg);
146 }
147 },
148
149 MODULEPATH("-modulepath", true) {
150 @Override
151 public void process(Helper helper, String arg) {
152 helper.setFileManagerOpt(Option.MODULE_PATH, arg);
153 }
154 },
155
156 MODULE_PATH("--module-path", true) {
157 @Override
158 public void process(Helper helper, String arg) {
159 helper.setFileManagerOpt(Option.MODULE_PATH, arg);
160 }
161 },
162
163 P("-p", true) {
164 @Override
165 public void process(Helper helper, String arg) {
166 helper.setFileManagerOpt(Option.MODULE_PATH, arg);
167 }
168 },
169
170 ADDMODS("-addmods", true) {
171 @Override
172 public void process(Helper helper, String arg) {
173 helper.setCompilerOpt(opt, arg);
174 }
175 },
176
177 ADD_MODULES("--add-modules", true) {
178 @Override
179 public void process(Helper helper, String arg) {
180 Option.ADD_MODULES.process(helper.getOptionHelper(), opt, arg);
181 }
182 },
183
184 LIMITMODS("-limitmods", true) {
185 @Override
186 public void process(Helper helper, String arg) {
187 helper.setCompilerOpt(opt, arg);
188 }
189 },
190
191 LIMIT_MODULES("--limit-modules", true) {
192 @Override
193 public void process(Helper helper, String arg) {
194 Option.LIMIT_MODULES.process(helper.getOptionHelper(), opt, arg);
195 }
196 },
197
198 ENCODING("-encoding", true) {
199 @Override
200 public void process(Helper helper, String arg) {
201 helper.encoding = arg;
202 helper.setCompilerOpt(opt, arg);
203 }
204 },
205
206 RELEASE("--release", true) {
207 @Override
208 public void process(Helper helper, String arg) {
209 helper.setCompilerOpt(opt, arg);
210 }
211 },
212
213 RELEASE_OLD("-release", true) {
214 @Override
215 public void process(Helper helper, String arg) {
216 helper.setCompilerOpt("--release", arg);
217 }
218 },
219
220 SOURCE("-source", true) {
221 @Override
222 public void process(Helper helper, String arg) {
223 helper.setCompilerOpt(opt, arg);
224 }
225 },
226
227 XMAXERRS("-Xmaxerrs", true) {
228 @Override
229 public void process(Helper helper, String arg) {
230 helper.setCompilerOpt(opt, arg);
231 }
232 },
233
234 XMAXWARNS("-Xmaxwarns", true) {
235 @Override
236 public void process(Helper helper, String arg) {
237 helper.setCompilerOpt(opt, arg);
238 }
239 },
240
241 XADDREADS("-XaddReads:", false) {
242 @Override
243 public void process(Helper helper, String arg) {
244 Option.ADD_READS.process(helper.getOptionHelper(), arg);
245 }
246 },
247
248 ADD_READS("--add-reads", true) {
249 @Override
250 public void process(Helper helper, String arg) {
251 Option.ADD_READS.process(helper.getOptionHelper(), opt, arg);
252 }
253 },
254
255 ADDEXPORTS("-XaddExports:", false) {
256 @Override
257 public void process(Helper helper, String arg) {
258 Option.ADD_EXPORTS.process(helper.getOptionHelper(), arg);
259 }
260 },
261
262 ADD_EXPORTS("--add-exports", true) {
263 @Override
264 public void process(Helper helper, String arg) {
265 Option.ADD_EXPORTS.process(helper.getOptionHelper(), opt, arg);
266 }
267 },
268
269 XMODULE("-Xmodule:", false) {
270 @Override
271 public void process(Helper helper, String arg) {
272 Option.XMODULE.process(helper.getOptionHelper(), arg);
273 }
274 },
275
276 XPATCH("-Xpatch:", false) {
277 @Override
278 public void process(Helper helper, String arg) {
279 Option.XMODULE.process(helper.getOptionHelper(), arg);
280 }
281 },
282
283 PATCH_MODULE("--patch-module", true) {
284 @Override
285 public void process(Helper helper, String arg) {
286 Option.PATCH_MODULE.process(helper.getOptionHelper(), opt, arg);
287 }
288 },
289
290 // ----- doclet options -----
291
292 DOCLET("-doclet", true), // handled in setDocletInvoker
293
294 DOCLETPATH("-docletpath", true), // handled in setDocletInvoker
295
296 // ----- selection options -----
297
298 SUBPACKAGES("-subpackages", true) {
299 @Override
300 public void process(Helper helper, String arg) {
301 helper.addToList(helper.subPackages, arg);
302 }
303 },
304
305 EXCLUDE("-exclude", true) {
306 @Override
307 public void process(Helper helper, String arg) {
308 helper.addToList(helper.excludedPackages, arg);
309 }
465
466 /** Set by -Xclasses. */
467 boolean docClasses = false;
468
469 /** Set by -Xwerror. */
470 boolean rejectWarnings = false;
471
472 /** Set by -prompt. */
473 boolean promptOnError;
474
475 /** Set by -locale. */
476 String docLocale = "";
477
478 /** Set by -public, private, -protected, -package. */
479 ModifierFilter showAccess = null;
480
481 abstract void usage();
482 abstract void Xusage();
483
484 abstract void usageError(String msg, Object... args);
485 abstract OptionHelper getOptionHelper();
486
487 void addToList(ListBuffer<String> list, String str){
488 StringTokenizer st = new StringTokenizer(str, ":");
489 String current;
490 while(st.hasMoreTokens()){
491 current = st.nextToken();
492 list.append(current);
493 }
494 }
495
496 void setFilter(long filterBits) {
497 if (showAccess != null) {
498 usageError("main.incompatible.access.flags");
499 }
500 showAccess = new ModifierFilter(filterBits);
501 }
502
503 void setCompilerOpt(String opt, String arg) {
504 if (compOpts.get(opt) != null) {
505 usageError("main.option.already.seen", opt);
|