[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) =
|
override fun visitClassReference(expression: IrClassReference) =
|
||||||
callGetKClass(
|
callGetKClass(
|
||||||
returnType = expression.type,
|
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 -> {
|
else -> {
|
||||||
val arg = expression.getValueArgument(0)!!
|
val arg = expression.getValueArgument(0)!!
|
||||||
when {
|
when {
|
||||||
arg.type.makeNotNull().isThrowable() -> Pair(nullValue(), arg)
|
arg.type.makeNotNull(false).isThrowable() -> Pair(nullValue(), arg)
|
||||||
else -> Pair(arg, nullValue())
|
else -> Pair(arg, nullValue())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -294,7 +294,7 @@ class ThrowableSuccessorsLowering(val context: JsIrBackendContext) : FileLowerin
|
|||||||
val irVal = JsIrBuilder.buildVar(arg.type, parent, initializer = arg)
|
val irVal = JsIrBuilder.buildVar(arg.type, parent, initializer = arg)
|
||||||
val argValue = JsIrBuilder.buildGetValue(irVal.symbol)
|
val argValue = JsIrBuilder.buildGetValue(irVal.symbol)
|
||||||
when {
|
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))
|
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 argumentInstance = argument()
|
||||||
val instanceCheck = generateTypeCheckNonNull(argumentInstance, toNotNullable)
|
val instanceCheck = generateTypeCheckNonNull(argumentInstance, toNotNullable)
|
||||||
val isFromNullable = argumentInstance.type.isNullable()
|
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" }
|
assert(!typeParameter.isReified) { "reified parameters have to be lowered before" }
|
||||||
return typeParameter.superTypes.fold(litTrue) { r, t ->
|
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)
|
calculator.and(r, check)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -88,7 +88,7 @@ enum class PrimitiveType {
|
|||||||
OTHER
|
OTHER
|
||||||
}
|
}
|
||||||
|
|
||||||
fun IrType.getPrimitiveType() = makeNotNull().run {
|
fun IrType.getPrimitiveType() = makeNotNull(false).run {
|
||||||
when {
|
when {
|
||||||
isBoolean() -> PrimitiveType.BOOLEAN
|
isBoolean() -> PrimitiveType.BOOLEAN
|
||||||
isByte() || isShort() || isInt() -> PrimitiveType.INTEGER_NUMBER
|
isByte() || isShort() || isInt() -> PrimitiveType.INTEGER_NUMBER
|
||||||
|
|||||||
Reference in New Issue
Block a user