src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/JavadocTool.java
changeset 49197 cc2673fa8c20
parent 47216 71c04702a3d5
child 52043 50dc6dd40e6a
equal deleted inserted replaced
49196:82a3005cb038 49197:cc2673fa8c20
    36 
    36 
    37 import javax.tools.JavaFileObject;
    37 import javax.tools.JavaFileObject;
    38 import javax.tools.StandardJavaFileManager;
    38 import javax.tools.StandardJavaFileManager;
    39 
    39 
    40 import com.sun.tools.javac.code.ClassFinder;
    40 import com.sun.tools.javac.code.ClassFinder;
       
    41 import com.sun.tools.javac.code.DeferredCompletionFailureHandler;
    41 import com.sun.tools.javac.code.Symbol.Completer;
    42 import com.sun.tools.javac.code.Symbol.Completer;
    42 import com.sun.tools.javac.code.Symbol.CompletionFailure;
    43 import com.sun.tools.javac.code.Symbol.CompletionFailure;
    43 import com.sun.tools.javac.comp.Enter;
    44 import com.sun.tools.javac.comp.Enter;
    44 import com.sun.tools.javac.tree.JCTree;
    45 import com.sun.tools.javac.tree.JCTree;
    45 import com.sun.tools.javac.tree.JCTree.JCClassDecl;
    46 import com.sun.tools.javac.tree.JCTree.JCClassDecl;
    68 public class JavadocTool extends com.sun.tools.javac.main.JavaCompiler {
    69 public class JavadocTool extends com.sun.tools.javac.main.JavaCompiler {
    69     ToolEnvironment toolEnv;
    70     ToolEnvironment toolEnv;
    70 
    71 
    71     final Messager messager;
    72     final Messager messager;
    72     final ClassFinder javadocFinder;
    73     final ClassFinder javadocFinder;
       
    74     final DeferredCompletionFailureHandler dcfh;
    73     final Enter javadocEnter;
    75     final Enter javadocEnter;
    74     final Set<JavaFileObject> uniquefiles;
    76     final Set<JavaFileObject> uniquefiles;
    75 
    77 
    76     /**
    78     /**
    77      * Construct a new JavaCompiler processor, using appropriately
    79      * Construct a new JavaCompiler processor, using appropriately
    79      */
    81      */
    80     protected JavadocTool(Context context) {
    82     protected JavadocTool(Context context) {
    81         super(context);
    83         super(context);
    82         messager = Messager.instance0(context);
    84         messager = Messager.instance0(context);
    83         javadocFinder = JavadocClassFinder.instance(context);
    85         javadocFinder = JavadocClassFinder.instance(context);
       
    86         dcfh = DeferredCompletionFailureHandler.instance(context);
    84         javadocEnter = JavadocEnter.instance(context);
    87         javadocEnter = JavadocEnter.instance(context);
    85         uniquefiles = new HashSet<>();
    88         uniquefiles = new HashSet<>();
    86     }
    89     }
    87 
    90 
    88     /**
    91     /**
   206                 return null;
   209                 return null;
   207             }
   210             }
   208 
   211 
   209             etable.setClassDeclList(listClasses(classTrees.toList()));
   212             etable.setClassDeclList(listClasses(classTrees.toList()));
   210 
   213 
       
   214             dcfh.setHandler(dcfh.userCodeHandler);
   211             etable.analyze();
   215             etable.analyze();
   212         } catch (CompletionFailure cf) {
   216         } catch (CompletionFailure cf) {
   213             throw new ToolException(ABNORMAL, cf.getMessage(), cf);
   217             throw new ToolException(ABNORMAL, cf.getMessage(), cf);
   214         } catch (Abort abort) {
   218         } catch (Abort abort) {
   215             if (messager.hasErrors()) {
   219             if (messager.hasErrors()) {