diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt index 744f564acd1..febb3b4d366 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt @@ -186,6 +186,7 @@ open class DeepCopyIrTreeWithSymbols( overriddenSymbols = declaration.overriddenSymbols.map { symbolRemapper.getReferencedFunction(it) as IrSimpleFunctionSymbol } + contextReceiverParametersCount = declaration.contextReceiverParametersCount copyAttributes(declaration) transformFunctionChildren(declaration) } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt index 5df52ff244a..d29bdb30dff 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt @@ -138,6 +138,12 @@ class DumpIrTreeVisitor( declaration.overriddenSymbols.dumpItems("overridden") { it.dump() } declaration.typeParameters.dumpElements() declaration.dispatchReceiverParameter?.accept(this, "\$this") + + val contextReceiverParametersCount = declaration.contextReceiverParametersCount + if (contextReceiverParametersCount > 0) { + printer.println("contextReceiverParametersCount: $contextReceiverParametersCount") + } + declaration.extensionReceiverParameter?.accept(this, "\$receiver") declaration.valueParameters.dumpElements() declaration.body?.accept(this, "") diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/canvas.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/canvas.ir.txt index 626d2a2c5ad..bfb8c984d18 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/canvas.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/canvas.ir.txt @@ -22,6 +22,7 @@ FILE fqName: fileName:/canvas.kt $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Shape FUN name:draw visibility:public modality:ABSTRACT <> ($this:.Shape, :.Canvas) returnType:kotlin.String $this: VALUE_PARAMETER name: type:.Shape + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:.Canvas FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: @@ -46,6 +47,7 @@ FILE fqName: fileName:/canvas.kt overridden: public abstract fun draw (: .Canvas): kotlin.String declared in .Shape $this: VALUE_PARAMETER name: type:.Circle + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:.Canvas BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun draw (: .Canvas): kotlin.String declared in .Circle' diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/compareTo.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/compareTo.ir.txt index 97530819c78..bdbd5ba3aa0 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/compareTo.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/compareTo.ir.txt @@ -159,6 +159,7 @@ FILE fqName: fileName:/compareTo.kt CONST Boolean type=kotlin.Boolean value=true FUN name:compareTo visibility:public modality:FINAL ($receiver:T of .compareTo, :java.util.Comparator.compareTo>{ kotlin.TypeAliasesKt.Comparator.compareTo> }, other:T of .compareTo) returnType:kotlin.Int [operator,infix] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:T of .compareTo VALUE_PARAMETER name: index:0 type:java.util.Comparator.compareTo>{ kotlin.TypeAliasesKt.Comparator.compareTo> } VALUE_PARAMETER name:other index:1 type:T of .compareTo @@ -172,6 +173,7 @@ FILE fqName: fileName:/compareTo.kt FUN name: visibility:public modality:FINAL ($receiver:.Pair., T of .>, :java.util.Comparator.>{ kotlin.TypeAliasesKt.Comparator.> }) returnType:T of . correspondingProperty: PROPERTY name:min visibility:public modality:FINAL [val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Pair., T of .> VALUE_PARAMETER name: index:0 type:java.util.Comparator.>{ kotlin.TypeAliasesKt.Comparator.> } BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/dp.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/dp.ir.txt index d892d912efc..58190c807bf 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/dp.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/dp.ir.txt @@ -32,6 +32,7 @@ FILE fqName: fileName:/dp.kt PROPERTY name:dp visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL <> ($receiver:kotlin.Int, :.View) returnType:kotlin.Int correspondingProperty: PROPERTY name:dp visibility:public modality:FINAL [val] + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:kotlin.Int VALUE_PARAMETER name: index:0 type:.View BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/functionalType.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/functionalType.ir.txt index bda28b94dd5..f954c35434c 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/functionalType.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/functionalType.ir.txt @@ -80,6 +80,7 @@ FILE fqName: fileName:/functionalType.kt $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:f visibility:public modality:FINAL ($receiver:.K, :.O, g:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<.O, .K, .Param, T of .f>) returnType:T of .f TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.K VALUE_PARAMETER name: index:0 type:.O VALUE_PARAMETER name:g index:1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<.O, .K, .Param, T of .f> @@ -108,6 +109,7 @@ FILE fqName: fileName:/functionalType.kt : GET_VAR '$this$with: .O declared in .box.' type=.O origin=null g: FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<.O, .K, .Param, kotlin.String> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.K, :.O, it:.Param) returnType:kotlin.String + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name:$this$f type:.K VALUE_PARAMETER name: index:0 type:.O VALUE_PARAMETER name:it index:1 type:.Param diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/monoidSum.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/monoidSum.ir.txt index 50d56a6e1e4..6794cefa584 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/monoidSum.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/monoidSum.ir.txt @@ -137,6 +137,7 @@ FILE fqName: fileName:/monoidSum.kt $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:sum visibility:public modality:FINAL ($receiver:kotlin.collections.List.sum>, :.Monoid.sum>) returnType:T of .sum TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.sum> VALUE_PARAMETER name: index:0 type:.Monoid.sum> BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/function.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/function.ir.txt index b3d2a22133a..40a1a0ee1f1 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/function.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/function.ir.txt @@ -30,6 +30,7 @@ FILE fqName: fileName:/function.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo visibility:public modality:FINAL <> (:.C) returnType:kotlin.Unit + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:.C BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/functionalType.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/functionalType.ir.txt index 042d2439a36..9d1f384e252 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/functionalType.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/functionalType.ir.txt @@ -79,6 +79,7 @@ FILE fqName: fileName:/functionalType.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:f1 visibility:public modality:FINAL <> ($receiver:.R, :.C, g:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<.C, .R, .Param, kotlin.Unit>) returnType:kotlin.Unit + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.R VALUE_PARAMETER name: index:0 type:.C VALUE_PARAMETER name:g index:1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<.C, .R, .Param, kotlin.Unit> @@ -89,6 +90,7 @@ FILE fqName: fileName:/functionalType.kt p2: GET_VAR ': .R declared in .f1' type=.R origin=null p3: CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Param' type=.Param origin=null FUN name:f2 visibility:public modality:FINAL <> (:.C, g:@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<.C, .Param, kotlin.Unit>) returnType:kotlin.Unit + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:.C VALUE_PARAMETER name:g index:1 type:@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<.C, .Param, kotlin.Unit> BLOCK_BODY @@ -97,6 +99,7 @@ FILE fqName: fileName:/functionalType.kt p1: GET_VAR ': .C declared in .f2' type=.C origin=null p2: CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Param' type=.Param origin=null FUN name:f3 visibility:public modality:FINAL <> ($receiver:.R, :.C, g:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<.C, .R, kotlin.Unit>) returnType:kotlin.Unit + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.R VALUE_PARAMETER name: index:0 type:.C VALUE_PARAMETER name:g index:1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<.C, .R, kotlin.Unit> @@ -106,6 +109,7 @@ FILE fqName: fileName:/functionalType.kt p1: GET_VAR ': .C declared in .f3' type=.C origin=null p2: GET_VAR ': .R declared in .f3' type=.R origin=null FUN name:f4 visibility:public modality:FINAL <> (:.C, g:@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<.C, kotlin.Unit>) returnType:kotlin.Unit + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:.C VALUE_PARAMETER name:g index:1 type:@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<.C, kotlin.Unit> BLOCK_BODY @@ -117,6 +121,7 @@ FILE fqName: fileName:/functionalType.kt VAR name:lf1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<.C, .R, .Param, kotlin.Unit> [val] FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<.C, .R, .Param, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.R, :.C, $noName_0:.Param) returnType:kotlin.Unit + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name:$this$null type:.R VALUE_PARAMETER name: index:0 type:.C VALUE_PARAMETER name:$noName_0 index:1 type:.Param @@ -130,6 +135,7 @@ FILE fqName: fileName:/functionalType.kt VAR name:lf2 type:@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<.C, .Param, kotlin.Unit> [val] FUN_EXPR type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<.C, .Param, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (:.C, $noName_0:.Param) returnType:kotlin.Unit + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:.C VALUE_PARAMETER name:$noName_0 index:1 type:.Param BLOCK_BODY @@ -139,6 +145,7 @@ FILE fqName: fileName:/functionalType.kt VAR name:lf3 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<.C, .R, kotlin.Unit> [val] FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<.C, .R, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.R, :.C) returnType:kotlin.Unit + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name:$this$null type:.R VALUE_PARAMETER name: index:0 type:.C BLOCK_BODY @@ -151,6 +158,7 @@ FILE fqName: fileName:/functionalType.kt VAR name:lf4 type:@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<.C, kotlin.Unit> [val] FUN_EXPR type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<.C, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (:.C) returnType:kotlin.Unit + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:.C BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit @@ -181,6 +189,7 @@ FILE fqName: fileName:/functionalType.kt : GET_VAR '$this$with: .C declared in .test.' type=.C origin=null g: FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<.C, .R, .Param, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.R, :.C, $noName_0:.Param) returnType:kotlin.Unit + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name:$this$f1 type:.R VALUE_PARAMETER name: index:0 type:.C VALUE_PARAMETER name:$noName_0 index:1 type:.Param @@ -198,6 +207,7 @@ FILE fqName: fileName:/functionalType.kt : GET_VAR '$this$with: .C declared in .test.' type=.C origin=null g: FUN_EXPR type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<.C, .Param, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (:.C, $noName_0:.Param) returnType:kotlin.Unit + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:.C VALUE_PARAMETER name:$noName_0 index:1 type:.Param BLOCK_BODY @@ -213,6 +223,7 @@ FILE fqName: fileName:/functionalType.kt : GET_VAR '$this$with: .C declared in .test.' type=.C origin=null g: FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<.C, .R, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:.R, :.C) returnType:kotlin.Unit + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name:$this$f3 type:.R VALUE_PARAMETER name: index:0 type:.C BLOCK_BODY @@ -229,6 +240,7 @@ FILE fqName: fileName:/functionalType.kt : GET_VAR '$this$with: .C declared in .test.' type=.C origin=null g: FUN_EXPR type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<.C, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (:.C) returnType:kotlin.Unit + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:.C BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/lazy.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/lazy.ir.txt index b04bf2fe949..b88f054b926 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/lazy.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/lazy.ir.txt @@ -16,16 +16,19 @@ FILE fqName: fileName:/lazy.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:test1 visibility:public modality:FINAL <> (:.Lazy, :.Lazy) returnType:kotlin.Unit + contextReceiverParametersCount: 2 VALUE_PARAMETER name: index:0 type:.Lazy VALUE_PARAMETER name: index:1 type:.Lazy BLOCK_BODY FUN name:test2 visibility:public modality:FINAL ($receiver:.Lazy, :.Lazy.test2>) returnType:kotlin.Unit TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Lazy VALUE_PARAMETER name: index:0 type:.Lazy.test2> BLOCK_BODY FUN name:test3 visibility:public modality:FINAL ($receiver:.Lazy, :.Lazy<.Lazy.test3>>) returnType:kotlin.Unit TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Lazy VALUE_PARAMETER name: index:0 type:.Lazy<.Lazy.test3>> BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/localDeclaration.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/localDeclaration.ir.txt index 1f61685fdd2..6943accc8f2 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/localDeclaration.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/localDeclaration.ir.txt @@ -43,6 +43,7 @@ FILE fqName: fileName:/localDeclaration.kt FUN name:testLocalFunction visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY FUN LOCAL_FUNCTION name:local visibility:local modality:FINAL <> (:.A) returnType:kotlin.Unit + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:.A BLOCK_BODY CALL 'public open fun f (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/overloadPriority.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/overloadPriority.ir.txt index 8ce484470f6..8d0addc4503 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/overloadPriority.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/overloadPriority.ir.txt @@ -19,6 +19,7 @@ FILE fqName: fileName:/overloadPriority.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:f visibility:public modality:FINAL <> (:.Context) returnType:kotlin.String + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:.Context BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun f (: .Context): kotlin.String declared in ' diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/overloading.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/overloading.ir.txt index 68c8b999e7c..5d1e48078b9 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/overloading.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/overloading.ir.txt @@ -1,5 +1,6 @@ FILE fqName: fileName:/overloading.kt FUN name:foo visibility:public modality:FINAL <> (:kotlin.Int, :kotlin.String) returnType:kotlin.Int + contextReceiverParametersCount: 2 VALUE_PARAMETER name: index:0 type:kotlin.Int VALUE_PARAMETER name: index:1 type:kotlin.String BLOCK_BODY @@ -8,6 +9,7 @@ FILE fqName: fileName:/overloading.kt $this: GET_VAR ': kotlin.Int declared in .foo' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value=42 FUN name:foo visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Int + contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (: kotlin.Int): kotlin.Int declared in ' diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/plusMatrix.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/plusMatrix.ir.txt index 5d990cd27bb..03e87d73902 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/plusMatrix.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/plusMatrix.ir.txt @@ -38,6 +38,7 @@ FILE fqName: fileName:/plusMatrix.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:plus visibility:public modality:FINAL <> ($receiver:.Matrix, :.NumberOperations, other:.Matrix) returnType:.Matrix + contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Matrix VALUE_PARAMETER name: index:0 type:.NumberOperations VALUE_PARAMETER name:other index:1 type:.Matrix diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/property.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/property.ir.txt index 5e6a4b042bf..cca6ebae399 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/property.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/property.ir.txt @@ -36,6 +36,7 @@ FILE fqName: fileName:/property.kt PROPERTY name:c visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL <> (:.B, :.A) returnType:kotlin.Int correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [val] + contextReceiverParametersCount: 2 VALUE_PARAMETER name: index:0 type:.B VALUE_PARAMETER name: index:1 type:.A BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/thisWithCustomLabel.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/thisWithCustomLabel.ir.txt index 16cd862510f..004d100042b 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/thisWithCustomLabel.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/thisWithCustomLabel.ir.txt @@ -94,6 +94,7 @@ FILE fqName: fileName:/thisWithCustomLabel.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:f visibility:public modality:FINAL <> (:.A, :.A, :.B) returnType:kotlin.Unit + contextReceiverParametersCount: 3 VALUE_PARAMETER name: index:0 type:.A VALUE_PARAMETER name: index:1 type:.A VALUE_PARAMETER name: index:2 type:.B @@ -112,6 +113,7 @@ FILE fqName: fileName:/thisWithCustomLabel.kt PROPERTY name:p visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL <> ($receiver:.C, :.B, :.A, :.A) returnType:kotlin.Int correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [val] + contextReceiverParametersCount: 3 $receiver: VALUE_PARAMETER name: type:.C VALUE_PARAMETER name: index:0 type:.B VALUE_PARAMETER name: index:1 type:.A