[JS IR BE] Do not produce KotlinType creating IrType
This commit is contained in:
+1
-1
@@ -135,7 +135,7 @@ class ClassReferenceLowering(val context: JsIrBackendContext) : FileLoweringPass
|
||||
override fun visitClassReference(expression: IrClassReference) =
|
||||
callGetKClass(
|
||||
returnType = expression.type,
|
||||
typeArgument = expression.classType.makeNotNull()
|
||||
typeArgument = expression.classType.makeNotNull(false)
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
+2
-2
@@ -131,7 +131,7 @@ class ThrowableSuccessorsLowering(val context: JsIrBackendContext) : FileLowerin
|
||||
else -> {
|
||||
val arg = expression.getValueArgument(0)!!
|
||||
when {
|
||||
arg.type.makeNotNull().isThrowable() -> Pair(nullValue(), arg)
|
||||
arg.type.makeNotNull(false).isThrowable() -> Pair(nullValue(), arg)
|
||||
else -> Pair(arg, nullValue())
|
||||
}
|
||||
}
|
||||
@@ -294,7 +294,7 @@ class ThrowableSuccessorsLowering(val context: JsIrBackendContext) : FileLowerin
|
||||
val irVal = JsIrBuilder.buildVar(arg.type, parent, initializer = arg)
|
||||
val argValue = JsIrBuilder.buildGetValue(irVal.symbol)
|
||||
when {
|
||||
arg.type.makeNotNull().isThrowable() -> Triple(safeCallToString(irVal), argValue, listOf(irVal))
|
||||
arg.type.makeNotNull(false).isThrowable() -> Triple(safeCallToString(irVal), argValue, listOf(irVal))
|
||||
else -> Triple(argValue, nullValue(), listOf(irVal))
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -186,7 +186,7 @@ class TypeOperatorLowering(val context: JsIrBackendContext) : FileLoweringPass {
|
||||
}
|
||||
}
|
||||
|
||||
val toNotNullable = toType.makeNotNull()
|
||||
val toNotNullable = toType.makeNotNull(false)
|
||||
val argumentInstance = argument()
|
||||
val instanceCheck = generateTypeCheckNonNull(argumentInstance, toNotNullable)
|
||||
val isFromNullable = argumentInstance.type.isNullable()
|
||||
@@ -246,7 +246,7 @@ class TypeOperatorLowering(val context: JsIrBackendContext) : FileLoweringPass {
|
||||
|
||||
assert(!typeParameter.isReified) { "reified parameters have to be lowered before" }
|
||||
return typeParameter.superTypes.fold(litTrue) { r, t ->
|
||||
val check = generateTypeCheckNonNull(argument.copy(), t.makeNotNull())
|
||||
val check = generateTypeCheckNonNull(argument.copy(), t.makeNotNull(false))
|
||||
calculator.and(r, check)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -88,7 +88,7 @@ enum class PrimitiveType {
|
||||
OTHER
|
||||
}
|
||||
|
||||
fun IrType.getPrimitiveType() = makeNotNull().run {
|
||||
fun IrType.getPrimitiveType() = makeNotNull(false).run {
|
||||
when {
|
||||
isBoolean() -> PrimitiveType.BOOLEAN
|
||||
isByte() || isShort() || isInt() -> PrimitiveType.INTEGER_NUMBER
|
||||
|
||||
Reference in New Issue
Block a user