RFR: JDK-8210649: AssertionError @ jdk.compiler/com.sun.tools.javac.comp.Modules.enter(Modules.java:244)
Vicente Romero
vicente.romero at oracle.com
Mon May 25 19:24:24 UTC 2020
looks good,
Vicente
On 5/25/20 10:35 AM, Jan Lahoda wrote:
> Hi,
>
> When tools call Diagnostics.getMessage after the compilation has
> already been stopped, the invocation may fail with an error, due to
> javac being in a wrong state. When javac is running annotation
> processors, after running the processors last time, it will clear all
> the internal structures. If an error has been reported and the
> compilation will stop, it will not re-initialize the structures again
> (it would re-initialize the structure if no error would be reported,
> and the compilation would continue).
>
> In general javac does not support doing queries after compilation
> finished. But, regarding handling Diagnostics in such cases, we've
> adjusted the code to allow queries to Diagnostics in the past.
>
> The proposal in this patch is to not clear the internal state if we
> know the compilation will not continue, keeping the last state. So
> printing the Diagnostics would still work.
>
> Webrev: http://cr.openjdk.java.net/~jlahoda/8210649/webrev.00/
> JBS: https://bugs.openjdk.java.net/browse/JDK-8210649
>
> How does this look?
>
> Thanks,
> Jan
More information about the compiler-dev
mailing list