Eval4J: loadClass should return prepared class, otherwise ClassNotPreparedException fails in invokeMethod
#KT-12641 Fixed
This commit is contained in:
@@ -53,9 +53,10 @@ class JDIEval(
|
|||||||
fun loadClass(classType: Type, classLoader: ClassLoaderReference?): Value {
|
fun loadClass(classType: Type, classLoader: ClassLoaderReference?): Value {
|
||||||
val loadedClasses = vm.classesByName(classType.internalName)
|
val loadedClasses = vm.classesByName(classType.internalName)
|
||||||
if (!loadedClasses.isEmpty()) {
|
if (!loadedClasses.isEmpty()) {
|
||||||
val loadedClass = loadedClasses[0]
|
for (loadedClass in loadedClasses) {
|
||||||
if (classType.descriptor in BOOTSTRAP_CLASS_DESCRIPTORS || loadedClass.classLoader() == classLoader) {
|
if (loadedClass.isPrepared && (classType.descriptor in BOOTSTRAP_CLASS_DESCRIPTORS || loadedClass.classLoader() == classLoader)) {
|
||||||
return loadedClass.classObject().asValue()
|
return loadedClass.classObject().asValue()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (classLoader == null) {
|
if (classLoader == null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user