Revert "JVM IR: Move direct invoke optimization into a separate pass"
This reverts commit f0760e0550.
The reason is that it leads to KT-53202.
This commit is contained in:
+7
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.diagnostics.BackendErrors
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFunctionImpl
|
||||
import org.jetbrains.kotlin.ir.descriptors.toIrBasedDescriptor
|
||||
import org.jetbrains.kotlin.ir.descriptors.toIrBasedKotlinType
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
@@ -312,6 +313,12 @@ class ExpressionCodegen(
|
||||
if (irFunction.isSuspend)
|
||||
return
|
||||
|
||||
// As a small optimization, don't generate nullability assertions in methods for directly invoked lambdas
|
||||
if (irFunction is IrFunctionImpl && irFunction.attributeOwnerId in context.directInvokedLambdas) {
|
||||
context.directInvokedLambdas.remove(irFunction.attributeOwnerId)
|
||||
return
|
||||
}
|
||||
|
||||
irFunction.extensionReceiverParameter?.let { generateNonNullAssertion(it) }
|
||||
|
||||
// Private operator functions don't have null checks on value parameters,
|
||||
|
||||
Reference in New Issue
Block a user