[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) = override fun visitClassReference(expression: IrClassReference) =
callGetKClass( callGetKClass(
returnType = expression.type, returnType = expression.type,
typeArgument = expression.classType.makeNotNull() typeArgument = expression.classType.makeNotNull(false)
) )
}) })
} }
@@ -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))
} }
} }
@@ -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)
} }
} }
@@ -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