FIR: add smartcast stability to FIR

This commit is contained in:
Tianyu Geng
2021-05-06 20:17:32 -07:00
committed by Dmitriy Novozhilov
parent 931a637bdd
commit 96bd2c54f0
13 changed files with 87 additions and 11 deletions
@@ -274,7 +274,11 @@ class Fir2IrImplicitCastInserter(
}
override fun visitExpressionWithSmartcast(expressionWithSmartcast: FirExpressionWithSmartcast, data: IrElement): IrExpression {
return implicitCastOrExpression(data as IrExpression, expressionWithSmartcast.typeRef)
return if (expressionWithSmartcast.smartcastStability == SmartcastStability.STABLE_VALUE) {
implicitCastOrExpression(data as IrExpression, expressionWithSmartcast.typeRef)
} else {
data as IrExpression
}
}
override fun visitExpressionWithSmartcastToNull(