docletInvoker = new DocletInvoker(messager, s, s1);
}
private boolean parseAndExecute(String as[]) {
long l = System.currentTimeMillis();
ListBuffer listbuffer = new ListBuffer();
try {
as = CommandLine.parse(as);
} catch (FileNotFoundException filenotfoundexception) {
messager.error(null, "main.cant.read", filenotfoundexception.getMessage());
exit();
} catch (IOException ioexception) {
ioexception.printStackTrace();
exit();
}
setDocletInvoker(as);
ListBuffer listbuffer1 = new ListBuffer();
ListBuffer listbuffer2 = new ListBuffer();
Options options1 = Options.instance(context);
boolean flag = false;
for (int i = 0; i < as.length; i++) {
String s = as[i];
if (s.equals("-subpackages")) {
oneArg(as, i++);
addToList(listbuffer1, as[i]);
continue;
}
if (s.equals("-exclude")) {
oneArg(as, i++);
addToList(listbuffer2, as[i]);
continue;
}
if (s.equals("-verbose")) {
setOption(s);
options1.put("-verbose", "");
continue;
}
if (s.equals("-encoding")) {
oneArg(as, i++);
encoding = as[i];
options1.put("-encoding", as[i]);
continue;
}
if (s.equals("-breakiterator")) {
breakiterator = true;
setOption("-breakiterator");
continue;
}
if (s.equals("-help")) {
usage();
exit();
continue;
}
if (s.equals("-Xclasses")) {
setOption(s);
flag = true;
continue;
}
if (s.equals("-Xwerror")) {
setOption(s);
rejectWarnings = true;
continue;
}
if (s.equals("-private")) {
setOption(s);
setFilter(-9223372036854775801L);
continue;
}
if (s.equals("-package")) {
setOption(s);
setFilter(-9223372036854775803L);
continue;
}
if (s.equals("-protected")) {
setOption(s);
setFilter(5L);
continue;
}
if (s.equals("-public")) {
setOption(s);
setFilter(1L);
continue;
}
if (s.equals("-source")) {
oneArg(as, i++);
if (options1.get("-source") != null)
usageError("main.option.already.seen", s);
options1.put("-source", as[i]);
continue;
}
if (s.equals("-gj")) {
options1.put("-gj", "-gj");
continue;
}
if (s.equals("-prompt")) {
options1.put("-prompt", "-prompt");
messager.promptOnError = true;
continue;
}
if (s.equals("-sourcepath")) {
oneArg(as, i++);
if (options1.get("-sourcepath") != null)
usageError("main.option.already.seen", s);
options1.put("-sourcepath", as[i]);
continue;
}
if (s.equals("-classpath")) {
oneArg(as, i++);
if (options1.get("-classpath") != null)
usageError("main.option.already.seen", s);
options1.put("-classpath", as[i]);
continue;
}
if (s.equals("-sysclasspath")) {
oneArg(as, i++);
if (options1.get("-bootclasspath") != null)
usageError("main.option.already.seen", s);
options1.put("-bootclasspath", as[i]);
continue;
}
if (s.equals("-bootclasspath")) {
oneArg(as, i++);
if (options1.get("-bootclasspath") != null)
usageError("main.option.already.seen", s);
options1.put("-bootclasspath", as[i]);
continue;
}
if (s.equals("-extdirs")) {
oneArg(as, i++);
if (options1.get("-extdirs") != null)
usageError("main.option.already.seen", s);
options1.put("-extdirs", as[i]);
continue;
}
if (s.equals("-overview")) {
oneArg(as, i++);
continue;
}
if (s.equals("-doclet")) {
i++;
continue;
}
if (s.equals("-docletpath")) {
i++;
continue;
}
if (s.equals("-locale")) {
if (i != 0)
usageError("main.locale_first");
oneArg(as, i++);
docLocale = as[i];
continue;
}
if (s.startsWith("-XD")) {
String s1 = s.substring("-XD".length());
int k = s1.indexOf('=');
String s2 = k >= 0 ? s1.substring(0, k) : s1;
String s3 = k >= 0 ? s1.substring(k + 1) : s1;
options1.put(s2, s3);
continue;
}
if (s.startsWith("-")) {
int j = docletInvoker.optionLength(s);
if (j < 0) {
exit();
continue;
}
if (j == 0) {
usageError("main.invalid_flag", s);
continue;
}
if (i + j > as.length)
usageError("main.requires_argument", s);
ListBuffer listbuffer3 = new ListBuffer();
for (int i1 = 0; i1 < j - 1; i1++)
listbuffer3.append(as[++i]);
setOption(s, listbuffer3.toList());
} else {
listbuffer.append(s);
}
}