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

changeset 2086
2fa6ced325cc
parent 1969
7de231613e4a
child 2306
ac7450d1ac51
     1.1 --- a/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java	Fri Oct 04 13:41:13 2013 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java	Fri Oct 04 13:59:13 2013 -0700
     1.3 @@ -1034,6 +1034,13 @@
     1.4                  } else {
     1.5                      discoverAndRunProcs(context, annotationsPresent, topLevelClasses, packageInfoFiles);
     1.6                  }
     1.7 +            } catch (Throwable t) {
     1.8 +                // we're specifically expecting Abort here, but if any Throwable
     1.9 +                // comes by, we should flush all deferred diagnostics, rather than
    1.10 +                // drop them on the ground.
    1.11 +                deferredDiagnosticHandler.reportDeferredDiagnostics();
    1.12 +                log.popDiagnosticHandler(deferredDiagnosticHandler);
    1.13 +                throw t;
    1.14              } finally {
    1.15                  if (!taskListener.isEmpty())
    1.16                      taskListener.finished(new TaskEvent(TaskEvent.Kind.ANNOTATION_PROCESSING_ROUND));

mercurial