diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/intrinsics/IrIllegalArgumentException.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/intrinsics/IrIllegalArgumentException.kt index 1e4c9ffb536..3e8203ffa25 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/intrinsics/IrIllegalArgumentException.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/intrinsics/IrIllegalArgumentException.kt @@ -27,7 +27,7 @@ import org.jetbrains.org.objectweb.asm.Type import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter class IrIllegalArgumentException : IntrinsicMethod() { - val exceptionTypeDescriptor = Type.getInternalName(IllegalArgumentException::class.java) + val exceptionTypeDescriptor = Type.getType(IllegalArgumentException::class.java)!! override fun toCallable( expression: IrMemberAccessExpression, @@ -36,12 +36,17 @@ class IrIllegalArgumentException : IntrinsicMethod() { ): IrIntrinsicFunction { return object : IrIntrinsicFunction(expression, signature, context, listOf(JAVA_STRING_TYPE)) { override fun genInvokeInstruction(v: InstructionAdapter) { - v.invokespecial(exceptionTypeDescriptor, "", Type.getMethodDescriptor(Type.VOID_TYPE, JAVA_STRING_TYPE), false) + v.invokespecial( + exceptionTypeDescriptor.internalName, + "", + Type.getMethodDescriptor(Type.VOID_TYPE, JAVA_STRING_TYPE), + false + ) v.athrow() } override fun invoke(v: InstructionAdapter, codegen: ExpressionCodegen, data: BlockInfo): StackValue { - v.anew(Type.getType(exceptionTypeDescriptor)) + v.anew(exceptionTypeDescriptor) v.dup() return super.invoke(v, codegen, data) }