[PSI2IR] Generate safe calls correctly

This commit is contained in:
Anastasiya Shadrina
2021-11-18 00:53:53 +07:00
committed by TeamCityServer
parent 229a009828
commit a760865767
6 changed files with 68 additions and 3 deletions
@@ -31,7 +31,6 @@ class SafeCallReceiver(
val startOffset: Int,
val endOffset: Int,
val extensionReceiver: IntermediateValue?,
// TODO: Use context receivers
val contextReceivers: List<IntermediateValue>,
val dispatchReceiver: IntermediateValue?,
val isStatement: Boolean
@@ -51,7 +50,7 @@ class SafeCallReceiver(
extensionReceiverValue = null
}
val irResult = withDispatchAndExtensionAndContextReceivers(dispatchReceiverValue, extensionReceiverValue, emptyList())
val irResult = withDispatchAndExtensionAndContextReceivers(dispatchReceiverValue, extensionReceiverValue, contextReceivers)
val resultType = if (isStatement) generator.context.irBuiltIns.unitType else irResult.type.makeNullable()