< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java

Print this page
rev 48841 : imported patch 8187950

*** 50,59 **** --- 50,60 ---- import static javax.tools.StandardLocation.*; import com.sun.source.util.TaskEvent; import com.sun.tools.javac.api.MultiTaskListener; import com.sun.tools.javac.code.*; + import com.sun.tools.javac.code.DeferredCompletionFailureHandler.Handler; import com.sun.tools.javac.code.Scope.WriteableScope; import com.sun.tools.javac.code.Source.Feature; import com.sun.tools.javac.code.Symbol.*; import com.sun.tools.javac.code.Type.ClassType; import com.sun.tools.javac.code.Types;
*** 175,184 **** --- 176,186 ---- */ private JavacMessages messages; private MultiTaskListener taskListener; private final Symtab symtab; + private final DeferredCompletionFailureHandler dcfh; private final Names names; private final Enter enter; private final Completer initialCompleter; private final Check chk;
*** 225,234 **** --- 227,237 ---- processorOptions = initProcessorOptions(); unmatchedProcessorOptions = initUnmatchedProcessorOptions(); messages = JavacMessages.instance(context); taskListener = MultiTaskListener.instance(context); symtab = Symtab.instance(context); + dcfh = DeferredCompletionFailureHandler.instance(context); names = Names.instance(context); enter = Enter.instance(context); initialCompleter = ClassFinder.instance(context).getCompleter(); chk = Check.instance(context); initProcessorLoader();
*** 957,966 **** --- 960,970 ---- } private boolean callProcessor(Processor proc, Set<? extends TypeElement> tes, RoundEnvironment renv) { + Handler prevDeferredHandler = dcfh.setHandler(dcfh.userCodeHandler); try { return proc.process(tes, renv); } catch (ClassFinder.BadClassFile ex) { log.error(Errors.ProcCantAccess1(ex.sym, ex.getDetailValue())); return false;
*** 971,980 **** --- 975,986 ---- return false; } catch (ClientCodeException e) { throw e; } catch (Throwable t) { throw new AnnotationProcessingError(t); + } finally { + dcfh.setHandler(prevDeferredHandler); } } /** * Helper object for a single round of annotation processing.
< prev index next >