RFR: JDK-8177068: incomplete classpath causes NPE in Flow

Jan Lahoda jan.lahoda at oracle.com
Tue Sep 3 14:50:55 UTC 2019


As DeferredAttr has been updated so that it has conflict with this 
patch, I've updated the patch as well:

Not changes to the way the patch works, just resolving the conflicts.

Any feedback on this patch would be welcome!


On 28. 08. 19 16:12, Jan Lahoda wrote:
> Hi,
> If a class cannot be load during speculative attribution due to a 
> CompletionFailure, the CompletionFailure may not be happening again 
> during the ordinary attribution, which may lead to errors not being 
> reported (as the error is a consequence of the CompletionFailure). 
> Producing the error only on CompletionFailures helps with error recovery 
> by not producing unnecessary errors. A similar problem with completion 
> in user code was solved by restoring the ClassSymbol for which the 
> completion failed to the original state when the user code finishes. 
> Something similar could be done for speculative attribution, undoing the 
> completion for ClassSymbols which fail to complete during speculative 
> attribution, so that their completion will fail again during ordinary 
> attribution and the error is reported properly.
> Proposed webrev: http://cr.openjdk.java.net/~jlahoda/8177068/webrev.00
> JBS: https://bugs.openjdk.java.net/browse/JDK-8177068
> How does this look?
> Thanks,
>      Jan

More information about the compiler-dev mailing list