--- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java Thu Mar 30 13:55:01 2017 -0700
+++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java Thu Mar 30 16:36:48 2017 -0700
@@ -88,9 +88,8 @@
*/
public class Start extends ToolOption.Helper {
- @SuppressWarnings("deprecation")
- private static final Class<?> OldStdDoclet =
- com.sun.tools.doclets.standard.Standard.class;
+ private static final String OldStdDocletName =
+ "com.sun.tools.doclets.standard.Standard";
private static final Class<?> StdDoclet =
jdk.javadoc.doclet.StandardDoclet.class;
@@ -334,7 +333,7 @@
messager.getWriter(WriterKind.ERROR),
messager.getWriter(WriterKind.WARNING),
messager.getWriter(WriterKind.NOTICE),
- "com.sun.tools.doclets.standard.Standard",
+ OldStdDocletName,
nargv);
return (rc == 0) ? OK : ERROR;
}
@@ -764,27 +763,31 @@
// Step 4: we have a doclet, try loading it
if (docletName != null) {
- try {
- return Class.forName(docletName, true, getClass().getClassLoader());
- } catch (ClassNotFoundException cnfe) {
- if (apiMode) {
- throw new IllegalArgumentException("Cannot find doclet class " + userDocletName);
- }
- String text = messager.getText("main.doclet_class_not_found", userDocletName);
- throw new ToolException(CMDERR, text, cnfe);
- }
+ return loadDocletClass(docletName);
}
// Step 5: we don't have a doclet specified, do we have taglets ?
if (!userTagletNames.isEmpty() && hasOldTaglet(userTagletNames, userTagletPath)) {
// found a bogey, return the old doclet
- return OldStdDoclet;
+ return loadDocletClass(OldStdDocletName);
}
// finally
return StdDoclet;
}
+ private Class<?> loadDocletClass(String docletName) throws ToolException {
+ try {
+ return Class.forName(docletName, true, getClass().getClassLoader());
+ } catch (ClassNotFoundException cnfe) {
+ if (apiMode) {
+ throw new IllegalArgumentException("Cannot find doclet class " + docletName);
+ }
+ String text = messager.getText("main.doclet_class_not_found", docletName);
+ throw new ToolException(CMDERR, text, cnfe);
+ }
+ }
+
/*
* This method returns true iff it finds a legacy taglet, but for
* all other conditions including errors it returns false, allowing