[K/N] Fix bug for function references with extension receiver

Was introduced while refactoring in 4b49356a
This commit is contained in:
Pavel Kunyavskiy
2021-12-07 12:35:03 +03:00
committed by Space
parent 617b3bd59d
commit b3be835c6f
@@ -321,8 +321,10 @@ internal class FunctionReferenceLowering(val context: Context): FileLoweringPass
addOverride("computeFqName") { irString(functionReferenceTarget.computeFullName()) }
functionReference.symbol.owner.dispatchReceiverParameter
?.takeIf { it in boundFunctionParameters }
listOfNotNull(
functionReference.symbol.owner.dispatchReceiverParameter,
functionReference.symbol.owner.extensionReceiverParameter
).singleOrNull { it in boundFunctionParameters }
?.let { receiver ->
addOverrideInner("computeReceiver") { f ->
irGetField(irGet(f.dispatchReceiverParameter!!), argumentToPropertiesMap[receiver]!!)