test/jdk/javadoc/tool/FlagsTooEarly.java

Print this page

        

@@ -27,37 +27,66 @@
  * @summary Compilation may go awry if we ask a symbol for its flags during
  *          javac's Enter phase, before the flags are generally available.
  * @modules jdk.javadoc
  */
 
-import com.sun.javadoc.*;
 
-public class FlagsTooEarly extends Doclet {
+import java.util.Collections;
+import java.util.Locale;
+import java.util.Set;
 
+import javax.lang.model.SourceVersion;
+
+import jdk.javadoc.doclet.Doclet;
+import jdk.javadoc.doclet.Reporter;
+import jdk.javadoc.doclet.DocletEnvironment;
+
+public class FlagsTooEarly implements Doclet {
+
     public static void main(String[] args) {
         String thisFile = "" +
             new java.io.File(System.getProperty("test.src", "."),
                              "FlagsTooEarly.java");
 
-        if (com.sun.tools.javadoc.Main.execute(
-                "javadoc",
-                "FlagsTooEarly",
-                FlagsTooEarly.class.getClassLoader(),
-                new String[] {"-Xwerror", thisFile}) != 0)
+        String[] argarray = {
+            "-docletpath", System.getProperty("test.classes", "."),
+            "-doclet", "FlagsTooEarly",
+            "-Xwerror",
+            thisFile
+        };
+        if (jdk.javadoc.internal.tool.Main.execute(argarray) != 0)
             throw new Error("Javadoc encountered warnings or errors.");
     }
 
     /*
      * The world's simplest doclet.
      */
-    public static boolean start(RootDoc root) {
+    public boolean run(DocletEnvironment root) {
         return true;
     }
 
-
     /*
      * The following sets up the scenario for triggering the (potential) bug.
      */
     C2 c;
     static class C1 { }
     static class C2 { }
+
+    @Override
+    public String getName() {
+        return "Test";
+    }
+
+    @Override
+    public Set<Option> getSupportedOptions() {
+        return Collections.emptySet();
+    }
+
+    @Override
+    public SourceVersion getSupportedSourceVersion() {
+        return SourceVersion.latest();
+    }
+
+    public void init(Locale locale, Reporter reporter) {
+        return;
+    }
 }