diff --git a/src/org/jetbrains/eval4j/values.kt b/src/org/jetbrains/eval4j/values.kt index b8b4c095349..40acc520c37 100644 --- a/src/org/jetbrains/eval4j/values.kt +++ b/src/org/jetbrains/eval4j/values.kt @@ -66,7 +66,7 @@ class LongValue(value: Long): AbstractValue(value, Type.LONG_TYPE) class FloatValue(value: Float): AbstractValue(value, Type.FLOAT_TYPE) class DoubleValue(value: Double): AbstractValue(value, Type.DOUBLE_TYPE) class ObjectValue(value: Any?, asmType: Type): AbstractValue(value, asmType) -class NewObjectValue(val _class: Class<*>, asmType: Type): AbstractValueBase(asmType) { +class NewObjectValue(asmType: Type): AbstractValueBase(asmType) { override var value: Any? = null } diff --git a/test/org/jetbrains/eval4j/test/main.kt b/test/org/jetbrains/eval4j/test/main.kt index d8b0b0e5a04..38d343a6fa0 100644 --- a/test/org/jetbrains/eval4j/test/main.kt +++ b/test/org/jetbrains/eval4j/test/main.kt @@ -142,8 +142,7 @@ object REFLECTION_EVAL : Eval { override fun loadString(str: String): Value = ObjectValue(str, Type.getType(javaClass())) override fun newInstance(classType: Type): Value { - val _class = findClass(classType) - return NewObjectValue(_class, classType) + return NewObjectValue(classType) } override fun isInstanceOf(value: Value, targetType: Type): Boolean { @@ -298,7 +297,7 @@ object REFLECTION_EVAL : Eval { if (methodDesc.name == "") { // Constructor call [suppress("UNCHECKED_CAST")] - val _class = (instance as NewObjectValue)._class as Class + val _class = findClass((instance as NewObjectValue).asmType) val ctor = _class.findConstructor(methodDesc) assertNotNull("Constructor not found: $methodDesc", ctor) val args = arguments.map { v -> v.obj }.copyToArray()