< prev index next >

test/langtools/tools/javac/processing/model/completionfailure/NoAbortForBadClassFile.java

Print this page
rev 48841 : [mq]: 8187950

@@ -48,10 +48,11 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 import com.sun.tools.javac.api.JavacTaskImpl;
 import com.sun.tools.javac.api.JavacTool;
+import com.sun.tools.javac.code.DeferredCompletionFailureHandler;
 import com.sun.tools.javac.code.Flags;
 import com.sun.tools.javac.code.Symbol.ClassSymbol;
 import com.sun.tools.javac.code.Symbol.CompletionFailure;
 import com.sun.tools.javac.code.Symtab;
 import com.sun.tools.javac.jvm.ClassReader;

@@ -188,10 +189,14 @@
         JavacTool tool = JavacTool.create();
         JavacTaskImpl task = (JavacTaskImpl) tool.getTask(null, null, null, List.of("-classpath", test.toString(), "-XDblockClass=" + flatName(missing)), null, null, context);
         Symtab syms = Symtab.instance(context);
         Names names = Names.instance(context);
 
+        DeferredCompletionFailureHandler dcfh = DeferredCompletionFailureHandler.instance(context);
+
+        dcfh.setHandler(dcfh.javacCodeHandler);
+
         task.getElements().getTypeElement("java.lang.Object");
 
         if (!badClassFile) {
             //to ensure the same paths taken in ClassFinder.completeEnclosing in case the file is missing:
             syms.enterClass(syms.unnamedModule, names.fromString(flatName(missing)));
< prev index next >