Eval4J: loadClass should return prepared class, otherwise ClassNotPreparedException fails in invokeMethod

#KT-12641 Fixed
This commit is contained in:
Natalia Ukhorskaya
2016-08-12 15:56:08 +03:00
parent f6bb70aad1
commit fca5834557
@@ -53,9 +53,10 @@ class JDIEval(
fun loadClass(classType: Type, classLoader: ClassLoaderReference?): Value {
val loadedClasses = vm.classesByName(classType.internalName)
if (!loadedClasses.isEmpty()) {
val loadedClass = loadedClasses[0]
if (classType.descriptor in BOOTSTRAP_CLASS_DESCRIPTORS || loadedClass.classLoader() == classLoader) {
return loadedClass.classObject().asValue()
for (loadedClass in loadedClasses) {
if (loadedClass.isPrepared && (classType.descriptor in BOOTSTRAP_CLASS_DESCRIPTORS || loadedClass.classLoader() == classLoader)) {
return loadedClass.classObject().asValue()
}
}
}
if (classLoader == null) {