[JS IR] Fix unsgined integer default arguemtns (KT-44180)

Const lowering didn't exprect null constants with unsigned number
types and crashed with NPE. This commit fixes that.
This commit is contained in:
Svyatoslav Kuzmich
2021-01-11 17:00:05 +03:00
parent 0110b4e4b4
commit 2d88ff6fb2
10 changed files with 61 additions and 1 deletions
@@ -45,7 +45,7 @@ class ConstTransformer(private val context: JsIrBackendContext) : IrElementTrans
override fun <T> visitConst(expression: IrConst<T>): IrExpression {
with(context.intrinsics) {
if (expression.type.isUnsigned()) {
if (expression.type.isUnsigned() && expression.kind != IrConstKind.Null) {
return when (expression.type.classifierOrNull) {
uByteClassSymbol -> lowerConst(uByteClassSymbol, IrConstImpl.Companion::byte, IrConstKind.Byte.valueOf(expression))