[JS IR BE] Do not produce KotlinType creating IrType

This commit is contained in:
Roman Artemev
2019-02-19 17:25:47 +03:00
committed by romanart
parent 6863f9e4f3
commit b0b6b359b1
4 changed files with 6 additions and 6 deletions
@@ -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)
)
})
}
@@ -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))
}
}
@@ -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)
}
}
@@ -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