< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java

Print this page
rev 48841 : imported patch 8187950

*** 309,318 **** --- 309,320 ---- /** The diagnostics factory */ protected JCDiagnostic.Factory diags; + protected DeferredCompletionFailureHandler dcfh; + /** The type eraser. */ protected TransTypes transTypes; /** The syntactic sugar desweetener.
*** 414,423 **** --- 416,426 ---- types = Types.instance(context); taskListener = MultiTaskListener.instance(context); modules = Modules.instance(context); moduleFinder = ModuleFinder.instance(context); diags = Factory.instance(context); + dcfh = DeferredCompletionFailureHandler.instance(context); finder.sourceCompleter = sourceCompleter; modules.findPackageInFile = this::findPackageInFile; moduleFinder.moduleNameFromSourceReader = this::readModuleName;
*** 797,807 **** */ public void readSourceFile(JCCompilationUnit tree, ClassSymbol c) throws CompletionFailure { if (completionFailureName == c.fullname) { JCDiagnostic msg = diagFactory.fragment(Fragments.UserSelectedCompletionFailure); ! throw new CompletionFailure(c, msg); } JavaFileObject filename = c.classfile; JavaFileObject prev = log.useSource(filename); if (tree == null) { --- 800,810 ---- */ public void readSourceFile(JCCompilationUnit tree, ClassSymbol c) throws CompletionFailure { if (completionFailureName == c.fullname) { JCDiagnostic msg = diagFactory.fragment(Fragments.UserSelectedCompletionFailure); ! throw new CompletionFailure(c, msg, dcfh); } JavaFileObject filename = c.classfile; JavaFileObject prev = log.useSource(filename); if (tree == null) {
*** 825,835 **** // complete a specific symbol, throw CompletionFailure. // Note that if module resolution failed, we may not even // have enough modules available to access java.lang, and // so risk getting FatalError("no.java.lang") from MemberEnter. if (!modules.enter(List.of(tree), c)) { ! throw new CompletionFailure(c, diags.fragment(Fragments.CantResolveModules)); } enter.complete(List.of(tree), c); if (!taskListener.isEmpty()) { --- 828,838 ---- // complete a specific symbol, throw CompletionFailure. // Note that if module resolution failed, we may not even // have enough modules available to access java.lang, and // so risk getting FatalError("no.java.lang") from MemberEnter. if (!modules.enter(List.of(tree), c)) { ! throw new CompletionFailure(c, diags.fragment(Fragments.CantResolveModules), dcfh); } enter.complete(List.of(tree), c); if (!taskListener.isEmpty()) {
*** 846,867 **** JavaFileObject.Kind.SOURCE); if (isModuleInfo) { if (enter.getEnv(tree.modle) == null) { JCDiagnostic diag = diagFactory.fragment(Fragments.FileDoesNotContainModule); ! throw new ClassFinder.BadClassFile(c, filename, diag, diagFactory); } } else if (isPkgInfo) { if (enter.getEnv(tree.packge) == null) { JCDiagnostic diag = diagFactory.fragment(Fragments.FileDoesNotContainPackage(c.location())); ! throw new ClassFinder.BadClassFile(c, filename, diag, diagFactory); } } else { JCDiagnostic diag = diagFactory.fragment(Fragments.FileDoesntContainClass(c.getQualifiedName())); ! throw new ClassFinder.BadClassFile(c, filename, diag, diagFactory); } } implicitSourceFilesRead = true; } --- 849,870 ---- JavaFileObject.Kind.SOURCE); if (isModuleInfo) { if (enter.getEnv(tree.modle) == null) { JCDiagnostic diag = diagFactory.fragment(Fragments.FileDoesNotContainModule); ! throw new ClassFinder.BadClassFile(c, filename, diag, diagFactory, dcfh); } } else if (isPkgInfo) { if (enter.getEnv(tree.packge) == null) { JCDiagnostic diag = diagFactory.fragment(Fragments.FileDoesNotContainPackage(c.location())); ! throw new ClassFinder.BadClassFile(c, filename, diag, diagFactory, dcfh); } } else { JCDiagnostic diag = diagFactory.fragment(Fragments.FileDoesntContainClass(c.getQualifiedName())); ! throw new ClassFinder.BadClassFile(c, filename, diag, diagFactory, dcfh); } } implicitSourceFilesRead = true; }
< prev index next >