From 56fdf2c7357187cd71eb53937eb9713afe53e061 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Thu, 7 Jun 2018 10:14:42 +0300 Subject: [PATCH] psi2ir: fix null support in 'promoteToPrimitiveNumericType' (cherry picked from commit 9b2a637) --- .../kotlin/psi2ir/generators/OperatorExpressionGenerator.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt index 7a5bc764132..cd0731defe3 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt @@ -25,6 +25,7 @@ import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin import org.jetbrains.kotlin.ir.expressions.IrTypeOperator import org.jetbrains.kotlin.ir.expressions.impl.* import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol +import org.jetbrains.kotlin.ir.types.impl.originalKotlinType import org.jetbrains.kotlin.ir.types.makeNotNull import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.Name @@ -308,8 +309,8 @@ class OperatorExpressionGenerator(statementGenerator: StatementGenerator) : Stat operandType == targetType || operandNNType == targetType -> this - // TODO operandType may have inaccurate nullability - operandType.containsNull() -> + // TODO: don't rely on originalKotlinType. + type.originalKotlinType!!.containsNull() -> safeCallOnDispatchReceiver(this@OperatorExpressionGenerator, startOffset, endOffset) { dispatchReceiver -> invokeConversionFunction( startOffset, endOffset,