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,

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