Please review the fix

this test started to fail after the fix of https://bugs.openjdk.java.net/browse/JDK-8146986 previously any call to ClassLoaderReference.visibleClasses as a side effect cached the results in VirtualMachineImpl.typesBySignature
and made them available to any VirtualMachine.classesByName call.
This is somewhat not consistent for unprepared classes, I reported that, check Bug 26148990 : JDI - VirtualMachine.allClasses does not return loaded but uninitialized class, but it seems that it allowed the ArrayTypeImpl.componentType to work even if the type was not prepared,
check how ArrayTypeImpl#findComponentType uses vm.classesByName.
It seems that ArrayTypeImpl#findComponentType should simply call findType for component signature. Just how the unused com.sun.tools.jdi.ArrayTypeImpl#type method works, not sure why it was dropped...

bugid https://bugs.openjdk.java.net/browse/JDK-8221503
cr http://cr.openjdk.java.net/~eushakov/8221503/webrev.00/

Thanks!
<http://cr.openjdk.java.net/~eushakov/8221503/webrev.00/>

--
Egor Ushakov
Software Developer
JetBrains
http://www.jetbrains.com
The Drive to Develop

Reply via email to