[K/JS] Remove isObject check from runtime ^KT-57926 Fixed
This commit is contained in:
@@ -117,7 +117,6 @@ class JsIntrinsics(private val irBuiltIns: IrBuiltIns, val context: JsIrBackendC
|
||||
val isInterfaceSymbol = getInternalFunction("isInterface")
|
||||
val isArraySymbol = getInternalFunction("isArray")
|
||||
// val isCharSymbol = getInternalFunction("isChar")
|
||||
val isObjectSymbol = getInternalFunction("isObject")
|
||||
val isSuspendFunctionSymbol = getInternalFunction("isSuspendFunction")
|
||||
|
||||
val isNumberSymbol = getInternalFunction("isNumber")
|
||||
|
||||
+3
-3
@@ -44,13 +44,13 @@ class TypeOperatorLowering(val context: JsIrBackendContext) : BodyLoweringPass {
|
||||
private val throwNPE = context.ir.symbols.throwNullPointerException
|
||||
|
||||
private val eqeq = context.irBuiltIns.eqeqSymbol
|
||||
private val booleanNot = context.irBuiltIns.booleanNotSymbol
|
||||
|
||||
private val isInterfaceSymbol get() = context.intrinsics.isInterfaceSymbol
|
||||
private val isArraySymbol get() = context.intrinsics.isArraySymbol
|
||||
private val isSuspendFunctionSymbol = context.intrinsics.isSuspendFunctionSymbol
|
||||
|
||||
// private val isCharSymbol get() = context.intrinsics.isCharSymbol
|
||||
private val isObjectSymbol get() = context.intrinsics.isObjectSymbol
|
||||
|
||||
private val instanceOfIntrinsicSymbol = context.intrinsics.jsInstanceOf
|
||||
private val isExternalObjectSymbol = context.intrinsics.isExternalObject
|
||||
@@ -276,8 +276,8 @@ class TypeOperatorLowering(val context: JsIrBackendContext) : BodyLoweringPass {
|
||||
}
|
||||
}
|
||||
|
||||
private fun generateIsObjectCheck(argument: IrExpression) = JsIrBuilder.buildCall(isObjectSymbol).apply {
|
||||
putValueArgument(0, argument)
|
||||
private fun generateIsObjectCheck(argument: IrExpression) = JsIrBuilder.buildCall(booleanNot).apply {
|
||||
dispatchReceiver = nullCheck(argument)
|
||||
}
|
||||
|
||||
private fun generateTypeCheckWithTypeParameter(argument: IrExpression, toType: IrType): IrExpression {
|
||||
|
||||
Reference in New Issue
Block a user