JVM_IR, minor: use vals instead of objects

This commit is contained in:
Georgy Bronnikov
2020-08-11 15:15:33 +03:00
parent 6e016ce041
commit f21d8a4c5b
2 changed files with 5 additions and 9 deletions
@@ -113,10 +113,10 @@ class IrIntrinsicMethods(val irBuiltIns: IrBuiltIns, val symbols: JvmSymbols) {
symbols.unsafeCoerceIntrinsic.toKey()!! to UnsafeCoerce,
symbols.signatureStringIntrinsic.toKey()!! to SignatureString,
symbols.reassignParameterIntrinsic.toKey()!! to ReassignParameter,
symbols.throwNullPointerException.toKey() to ThrowNullPointerException,
symbols.throwTypeCastException.toKey() to ThrowTypeCastException,
symbols.throwUnsupportedOperationException.toKey() to ThrowUnsupportedOperationException,
symbols.throwKotlinNothingValueException.toKey()!! to ThrowKotlinNothingValueException
symbols.throwNullPointerException.toKey()!! to ThrowException(Type.getObjectType("java/lang/NullPointerException")),
symbols.throwTypeCastException.toKey()!! to ThrowException(Type.getObjectType("kotlin/TypeCastException")),
symbols.throwUnsupportedOperationException.toKey()!! to ThrowException(Type.getObjectType("java/lang/UnsupportedOperationException")),
symbols.throwKotlinNothingValueException.toKey()!! to ThrowKotlinNothingValueException,
) +
numberConversionMethods() +
unaryFunForPrimitives("plus", UnaryPlus) +
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.ir.expressions.IrFunctionAccessExpression
import org.jetbrains.kotlin.resolve.jvm.AsmTypes
import org.jetbrains.org.objectweb.asm.Type
abstract class ThrowException(val exceptionClass: Type) : IntrinsicMethod() {
class ThrowException(val exceptionClass: Type) : IntrinsicMethod() {
override fun invoke(expression: IrFunctionAccessExpression, codegen: ExpressionCodegen, data: BlockInfo): PromisedValue? {
with(codegen) {
mv.anew(exceptionClass)
@@ -25,7 +25,3 @@ abstract class ThrowException(val exceptionClass: Type) : IntrinsicMethod() {
}
}
object ThrowNullPointerException : ThrowException(Type.getObjectType("java/lang/NullPointerException"))
object ThrowTypeCastException : ThrowException(Type.getObjectType("kotlin/TypeCastException"))
object ThrowUnsupportedOperationException : ThrowException(Type.getObjectType("java/lang/UnsupportedOperationException"))