RFR: JDK-8196519: Incomplete classpath causes infinite recursion in Resolve.isAccessible
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Fri Mar 9 13:03:59 UTC 2018
Whoops - looks good
Maurizio
On 07/03/18 13:01, Jan Lahoda wrote:
> Hi,
>
> The problem here is that
> c.s.t.javac.code.Type.ErrorType.getEnclosingType returns "this", so if
> some code recursively analyses types and their enclosing types, it may
> get into trouble. In this case, it is Resolve.isAccessible which
> crashes with a StackOverflow.
>
> It would be possible to break the infinite recursion in isAccessible,
> but it seems as not quite correct to return "this" from
> getEnclosingType. The proposal is to return Type.noType.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8196519
> Webrev: http://cr.openjdk.java.net/~jlahoda/8196519/webrev.00/
>
> How does this look?
>
> Thanks,
> Jan
More information about the compiler-dev
mailing list