KT-54357 Fix passing of context receivers to object literal constructors

This commit is contained in:
Pavel Mikhailovskii
2022-12-27 11:52:36 +00:00
committed by Space Team
parent fff593492d
commit 9ca5e1b421
4 changed files with 34 additions and 1 deletions
@@ -263,7 +263,8 @@ fun StatementGenerator.generateCallReceiver(
extensionReceiverValue = generateReceiverOrNull(ktDefaultElement, extensionReceiver)
contextReceiverValues = when (ktDefaultElement) {
is KtConstructorDelegationCall, is KtSuperTypeCallEntry -> contextReceivers.mapNotNull {
generateContextReceiverForDelegatingConstructorCall(ktDefaultElement, it as ContextClassReceiver)
if (it is ContextClassReceiver) generateContextReceiverForDelegatingConstructorCall(ktDefaultElement, it)
else generateReceiverOrNull(ktDefaultElement, it)
}
else -> contextReceivers.mapNotNull { generateReceiverOrNull(ktDefaultElement, it) }
}