Fixed bug with CHECK_NOT_NULL handling
This commit is contained in:
+1
-1
@@ -184,7 +184,7 @@ internal class BuiltinOperatorLowering(val context: Context) : FileLoweringPass,
|
||||
}
|
||||
}
|
||||
|
||||
private fun lowerCheckNotNull(expression: IrCall) = builder.at(expression).irBlock {
|
||||
private fun lowerCheckNotNull(expression: IrCall) = builder.at(expression).irBlock(resultType = expression.type) {
|
||||
val temp = irTemporary(expression.getValueArgument(0)!!)
|
||||
+irIfThen(context.irBuiltIns.unitType, irEqeqNull(irGet(temp)), irCall(symbols.ThrowNullPointerException))
|
||||
+irGet(temp)
|
||||
|
||||
+1
-1
@@ -152,7 +152,7 @@ fun IrBuilderWithScope.irForceNotNull(expression: IrExpression): IrExpression {
|
||||
return expression
|
||||
}
|
||||
|
||||
return irCall(context.irBuiltIns.checkNotNullSymbol).apply {
|
||||
return irCall(context.irBuiltIns.checkNotNullSymbol, expression.type.makeNotNull()).apply {
|
||||
putValueArgument(0, expression)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user