[PSI2IR] Synthetic property accessor call adjustment do can't have CR

This commit is contained in:
Anastasiya Shadrina
2021-11-17 18:02:47 +07:00
committed by TeamCityServer
parent 4d0eb74d79
commit 7a86b4f20a
@@ -29,6 +29,9 @@ fun CallReceiver.adjustForCallee(callee: CallableMemberDescriptor): CallReceiver
object : CallReceiver {
override fun call(withDispatchAndExtensionAndContextReceivers: (IntermediateValue?, IntermediateValue?, List<IntermediateValue>) -> IrExpression): IrExpression =
this@adjustForCallee.call { dispatchReceiverValue, extensionReceiverValue, contextReceiverValues ->
assert(contextReceiverValues.isEmpty()) {
"Synthetic property accessor call adjustment with context receivers, callee: $callee"
}
val numReceiversPresent = listOfNotNull(dispatchReceiverValue, extensionReceiverValue).size
val numReceiversExpected = listOfNotNull(callee.dispatchReceiverParameter, callee.extensionReceiverParameter).size
if (numReceiversPresent != numReceiversExpected)
@@ -46,7 +49,6 @@ fun CallReceiver.adjustForCallee(callee: CallableMemberDescriptor): CallReceiver
dispatchReceiverValue != null && callee.dispatchReceiverParameter == null -> dispatchReceiverValue
else -> extensionReceiverValue
}
// TODO: Create new context receiver values
withDispatchAndExtensionAndContextReceivers(newDispatchReceiverValue, newExtensionReceiverValue, contextReceiverValues)
}
}