KT-51290 Account for context receivers when generating delegate function bodies

This commit is contained in:
Pavel Mikhailovskii
2022-12-09 15:36:45 +00:00
committed by Space Team
parent 08767d572b
commit 1a76804862
5 changed files with 62 additions and 10 deletions
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.ir.declarations
import org.jetbrains.kotlin.descriptors.InlineClassRepresentation
import org.jetbrains.kotlin.descriptors.MultiFieldValueClassRepresentation
import org.jetbrains.kotlin.descriptors.ParameterDescriptor
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
@@ -38,7 +39,11 @@ val IrFile.name: String get() = File(path).name
@ObsoleteDescriptorBasedAPI
fun IrFunction.getIrValueParameter(parameter: ValueParameterDescriptor): IrValueParameter =
valueParameters.getOrElse(parameter.index) {
getIrValueParameter(parameter, parameter.index)
@ObsoleteDescriptorBasedAPI
fun IrFunction.getIrValueParameter(parameter: ParameterDescriptor, index: Int): IrValueParameter =
valueParameters.getOrElse(index) {
throw AssertionError("No IrValueParameter for $parameter")
}.also { found ->
assert(found.descriptor == parameter) {