[PSI2IR] Synthetic property accessor call adjustment do can't have CR
This commit is contained in:
committed by
TeamCityServer
parent
4d0eb74d79
commit
7a86b4f20a
@@ -29,6 +29,9 @@ fun CallReceiver.adjustForCallee(callee: CallableMemberDescriptor): CallReceiver
|
|||||||
object : CallReceiver {
|
object : CallReceiver {
|
||||||
override fun call(withDispatchAndExtensionAndContextReceivers: (IntermediateValue?, IntermediateValue?, List<IntermediateValue>) -> IrExpression): IrExpression =
|
override fun call(withDispatchAndExtensionAndContextReceivers: (IntermediateValue?, IntermediateValue?, List<IntermediateValue>) -> IrExpression): IrExpression =
|
||||||
this@adjustForCallee.call { dispatchReceiverValue, extensionReceiverValue, contextReceiverValues ->
|
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 numReceiversPresent = listOfNotNull(dispatchReceiverValue, extensionReceiverValue).size
|
||||||
val numReceiversExpected = listOfNotNull(callee.dispatchReceiverParameter, callee.extensionReceiverParameter).size
|
val numReceiversExpected = listOfNotNull(callee.dispatchReceiverParameter, callee.extensionReceiverParameter).size
|
||||||
if (numReceiversPresent != numReceiversExpected)
|
if (numReceiversPresent != numReceiversExpected)
|
||||||
@@ -46,7 +49,6 @@ fun CallReceiver.adjustForCallee(callee: CallableMemberDescriptor): CallReceiver
|
|||||||
dispatchReceiverValue != null && callee.dispatchReceiverParameter == null -> dispatchReceiverValue
|
dispatchReceiverValue != null && callee.dispatchReceiverParameter == null -> dispatchReceiverValue
|
||||||
else -> extensionReceiverValue
|
else -> extensionReceiverValue
|
||||||
}
|
}
|
||||||
// TODO: Create new context receiver values
|
|
||||||
withDispatchAndExtensionAndContextReceivers(newDispatchReceiverValue, newExtensionReceiverValue, contextReceiverValues)
|
withDispatchAndExtensionAndContextReceivers(newDispatchReceiverValue, newExtensionReceiverValue, contextReceiverValues)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user