langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java
changeset 24604 7f68545b5128
parent 23973 4b5f3a297142
equal deleted inserted replaced
24603:43e7e44d63da 24604:7f68545b5128
    31 import java.util.EnumSet;
    31 import java.util.EnumSet;
    32 import java.util.HashMap;
    32 import java.util.HashMap;
    33 import java.util.HashSet;
    33 import java.util.HashSet;
    34 import java.util.Map;
    34 import java.util.Map;
    35 import java.util.Set;
    35 import java.util.Set;
       
    36 
    36 import javax.tools.JavaFileManager.Location;
    37 import javax.tools.JavaFileManager.Location;
    37 import javax.tools.JavaFileObject;
    38 import javax.tools.JavaFileObject;
    38 import javax.tools.StandardJavaFileManager;
    39 import javax.tools.StandardJavaFileManager;
    39 import javax.tools.StandardLocation;
    40 import javax.tools.StandardLocation;
    40 
    41 
       
    42 import com.sun.tools.javac.code.ClassFinder;
    41 import com.sun.tools.javac.code.Symbol.CompletionFailure;
    43 import com.sun.tools.javac.code.Symbol.CompletionFailure;
       
    44 import com.sun.tools.javac.comp.Enter;
    42 import com.sun.tools.javac.tree.JCTree;
    45 import com.sun.tools.javac.tree.JCTree;
    43 import com.sun.tools.javac.tree.JCTree.JCClassDecl;
    46 import com.sun.tools.javac.tree.JCTree.JCClassDecl;
    44 import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
    47 import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
    45 import com.sun.tools.javac.util.Abort;
    48 import com.sun.tools.javac.util.Abort;
    46 import com.sun.tools.javac.util.Context;
    49 import com.sun.tools.javac.util.Context;
    64  */
    67  */
    65 public class JavadocTool extends com.sun.tools.javac.main.JavaCompiler {
    68 public class JavadocTool extends com.sun.tools.javac.main.JavaCompiler {
    66     DocEnv docenv;
    69     DocEnv docenv;
    67 
    70 
    68     final Messager messager;
    71     final Messager messager;
    69     final JavadocClassReader javadocReader;
    72     final ClassFinder javadocFinder;
    70     final JavadocEnter javadocEnter;
    73     final Enter javadocEnter;
    71     final Set<JavaFileObject> uniquefiles;
    74     final Set<JavaFileObject> uniquefiles;
    72 
    75 
    73     /**
    76     /**
    74      * Construct a new JavaCompiler processor, using appropriately
    77      * Construct a new JavaCompiler processor, using appropriately
    75      * extended phases of the underlying compiler.
    78      * extended phases of the underlying compiler.
    76      */
    79      */
    77     protected JavadocTool(Context context) {
    80     protected JavadocTool(Context context) {
    78         super(context);
    81         super(context);
    79         messager = Messager.instance0(context);
    82         messager = Messager.instance0(context);
    80         javadocReader = JavadocClassReader.instance0(context);
    83         javadocFinder = JavadocClassFinder.instance(context);
    81         javadocEnter = JavadocEnter.instance0(context);
    84         javadocEnter = JavadocEnter.instance(context);
    82         uniquefiles = new HashSet<>();
    85         uniquefiles = new HashSet<>();
    83     }
    86     }
    84 
    87 
    85     /**
    88     /**
    86      * For javadoc, the parser needs to keep comments. Overrides method from JavaCompiler.
    89      * For javadoc, the parser needs to keep comments. Overrides method from JavaCompiler.
    93      *  Construct a new javadoc tool.
    96      *  Construct a new javadoc tool.
    94      */
    97      */
    95     public static JavadocTool make0(Context context) {
    98     public static JavadocTool make0(Context context) {
    96         Messager messager = null;
    99         Messager messager = null;
    97         try {
   100         try {
    98             // force the use of Javadoc's class reader
   101             // force the use of Javadoc's class finder
    99             JavadocClassReader.preRegister(context);
   102             JavadocClassFinder.preRegister(context);
   100 
   103 
   101             // force the use of Javadoc's own enter phase
   104             // force the use of Javadoc's own enter phase
   102             JavadocEnter.preRegister(context);
   105             JavadocEnter.preRegister(context);
   103 
   106 
   104             // force the use of Javadoc's own member enter phase
   107             // force the use of Javadoc's own member enter phase
   135         docenv.breakiterator = breakiterator;
   138         docenv.breakiterator = breakiterator;
   136         docenv.setLocale(doclocale);
   139         docenv.setLocale(doclocale);
   137         docenv.setEncoding(encoding);
   140         docenv.setEncoding(encoding);
   138         docenv.docClasses = docClasses;
   141         docenv.docClasses = docClasses;
   139         docenv.legacyDoclet = legacyDoclet;
   142         docenv.legacyDoclet = legacyDoclet;
   140         javadocReader.sourceCompleter = docClasses ? null : thisCompleter;
   143 
       
   144         javadocFinder.sourceCompleter = docClasses ? null : sourceCompleter;
   141 
   145 
   142         ListBuffer<String> names = new ListBuffer<>();
   146         ListBuffer<String> names = new ListBuffer<>();
   143         ListBuffer<JCCompilationUnit> classTrees = new ListBuffer<>();
   147         ListBuffer<JCCompilationUnit> classTrees = new ListBuffer<>();
   144         ListBuffer<JCCompilationUnit> packTrees = new ListBuffer<>();
   148         ListBuffer<JCCompilationUnit> packTrees = new ListBuffer<>();
   145 
   149