JVM_IR: remove descriptor usage from JvmOptimizationLowering

This commit is contained in:
Georgy Bronnikov
2020-09-10 18:31:25 +03:00
parent a14c9018b1
commit 2c1735c211
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.ir.expressions.*
import org.jetbrains.kotlin.ir.expressions.impl.IrBlockImpl
import org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl
import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl
import org.jetbrains.kotlin.ir.symbols.impl.IrPublicSymbolBase
import org.jetbrains.kotlin.ir.types.*
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
@@ -35,7 +36,7 @@ class JvmOptimizationLowering(val context: JvmBackendContext) : FileLoweringPass
companion object {
fun isNegation(expression: IrExpression, context: JvmBackendContext): Boolean =
expression is IrCall &&
context.state.intrinsics.getIntrinsic(expression.symbol.descriptor) is Not
(expression.symbol as? IrPublicSymbolBase<*>)?.signature == context.irBuiltIns.booleanNotSymbol.signature
}
private val IrFunction.isObjectEquals