RFR: JDK-8196519: Incomplete classpath causes infinite recursion in Resolve.isAccessible
    Jan Lahoda 
    jan.lahoda at oracle.com
       
    Wed Mar  7 13:01:10 UTC 2018
    
    
  
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