test/langtools/tools/javac/processing/model/completionfailure/NoAbortForBadClassFile.java
changeset 49197 cc2673fa8c20
parent 47216 71c04702a3d5
child 50712 df7094f72869
equal deleted inserted replaced
49196:82a3005cb038 49197:cc2673fa8c20
    48 import java.util.stream.Collectors;
    48 import java.util.stream.Collectors;
    49 import java.util.stream.Stream;
    49 import java.util.stream.Stream;
    50 
    50 
    51 import com.sun.tools.javac.api.JavacTaskImpl;
    51 import com.sun.tools.javac.api.JavacTaskImpl;
    52 import com.sun.tools.javac.api.JavacTool;
    52 import com.sun.tools.javac.api.JavacTool;
       
    53 import com.sun.tools.javac.code.DeferredCompletionFailureHandler;
    53 import com.sun.tools.javac.code.Flags;
    54 import com.sun.tools.javac.code.Flags;
    54 import com.sun.tools.javac.code.Symbol.ClassSymbol;
    55 import com.sun.tools.javac.code.Symbol.ClassSymbol;
    55 import com.sun.tools.javac.code.Symbol.CompletionFailure;
    56 import com.sun.tools.javac.code.Symbol.CompletionFailure;
    56 import com.sun.tools.javac.code.Symtab;
    57 import com.sun.tools.javac.code.Symtab;
    57 import com.sun.tools.javac.jvm.ClassReader;
    58 import com.sun.tools.javac.jvm.ClassReader;
   188         JavacTool tool = JavacTool.create();
   189         JavacTool tool = JavacTool.create();
   189         JavacTaskImpl task = (JavacTaskImpl) tool.getTask(null, null, null, List.of("-classpath", test.toString(), "-XDblockClass=" + flatName(missing)), null, null, context);
   190         JavacTaskImpl task = (JavacTaskImpl) tool.getTask(null, null, null, List.of("-classpath", test.toString(), "-XDblockClass=" + flatName(missing)), null, null, context);
   190         Symtab syms = Symtab.instance(context);
   191         Symtab syms = Symtab.instance(context);
   191         Names names = Names.instance(context);
   192         Names names = Names.instance(context);
   192 
   193 
       
   194         DeferredCompletionFailureHandler dcfh = DeferredCompletionFailureHandler.instance(context);
       
   195 
       
   196         dcfh.setHandler(dcfh.javacCodeHandler);
       
   197 
   193         task.getElements().getTypeElement("java.lang.Object");
   198         task.getElements().getTypeElement("java.lang.Object");
   194 
   199 
   195         if (!badClassFile) {
   200         if (!badClassFile) {
   196             //to ensure the same paths taken in ClassFinder.completeEnclosing in case the file is missing:
   201             //to ensure the same paths taken in ClassFinder.completeEnclosing in case the file is missing:
   197             syms.enterClass(syms.unnamedModule, names.fromString(flatName(missing)));
   202             syms.enterClass(syms.unnamedModule, names.fromString(flatName(missing)));