From fca58345570498aeec6ea1de1bea54bc1ff1b961 Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Fri, 12 Aug 2016 15:56:08 +0300 Subject: [PATCH] Eval4J: loadClass should return prepared class, otherwise ClassNotPreparedException fails in invokeMethod #KT-12641 Fixed --- eval4j/src/org/jetbrains/eval4j/jdi/jdiEval.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/eval4j/src/org/jetbrains/eval4j/jdi/jdiEval.kt b/eval4j/src/org/jetbrains/eval4j/jdi/jdiEval.kt index 7ac62ffe074..acee5836f3d 100644 --- a/eval4j/src/org/jetbrains/eval4j/jdi/jdiEval.kt +++ b/eval4j/src/org/jetbrains/eval4j/jdi/jdiEval.kt @@ -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) {