--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/JavadocTool.java Fri Mar 09 11:36:12 2018 +0800
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/JavadocTool.java Fri Mar 09 09:42:10 2018 +0100
@@ -38,6 +38,7 @@
import javax.tools.StandardJavaFileManager;
import com.sun.tools.javac.code.ClassFinder;
+import com.sun.tools.javac.code.DeferredCompletionFailureHandler;
import com.sun.tools.javac.code.Symbol.Completer;
import com.sun.tools.javac.code.Symbol.CompletionFailure;
import com.sun.tools.javac.comp.Enter;
@@ -70,6 +71,7 @@
final Messager messager;
final ClassFinder javadocFinder;
+ final DeferredCompletionFailureHandler dcfh;
final Enter javadocEnter;
final Set<JavaFileObject> uniquefiles;
@@ -81,6 +83,7 @@
super(context);
messager = Messager.instance0(context);
javadocFinder = JavadocClassFinder.instance(context);
+ dcfh = DeferredCompletionFailureHandler.instance(context);
javadocEnter = JavadocEnter.instance(context);
uniquefiles = new HashSet<>();
}
@@ -208,6 +211,7 @@
etable.setClassDeclList(listClasses(classTrees.toList()));
+ dcfh.setHandler(dcfh.userCodeHandler);
etable.analyze();
} catch (CompletionFailure cf) {
throw new ToolException(ABNORMAL, cf.getMessage(), cf);