[IR] Render different quotes depending on IR constant type

This is needed for ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT diagnostic
message, but also seems to be good improvement for IR dumps in tests.

^KT-62559
This commit is contained in:
Roman Efremov
2023-11-28 12:03:09 +01:00
committed by Space Team
parent 8f6b6e17be
commit 5cf33c3556
72 changed files with 358 additions and 349 deletions
@@ -1,16 +1,16 @@
FILE fqName:<root> fileName:/contextualFunctionConversion.kt
FUN name:withContext visibility:public modality:FINAL <> (f:@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<kotlin.String, kotlin.String>) returnType:kotlin.String
VALUE_PARAMETER name:f index:0 type:@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<kotlin.String, kotlin.String>
FUN name:withContext visibility:public modality:FINAL <> (f:@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<kotlin.String, kotlin.String>) returnType:kotlin.String
VALUE_PARAMETER name:f index:0 type:@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<kotlin.String, kotlin.String>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun withContext (f: @[ContextFunctionTypeParams(count = '1')] kotlin.Function1<kotlin.String, kotlin.String>): kotlin.String declared in <root>'
RETURN type=kotlin.Nothing from='public final fun withContext (f: @[ContextFunctionTypeParams(count = 1)] kotlin.Function1<kotlin.String, kotlin.String>): kotlin.String declared in <root>'
CALL 'public abstract fun invoke (p1: P1 of kotlin.Function1): R of kotlin.Function1 declared in kotlin.Function1' type=kotlin.String origin=INVOKE
$this: GET_VAR 'f: @[ContextFunctionTypeParams(count = '1')] kotlin.Function1<kotlin.String, kotlin.String> declared in <root>.withContext' type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<kotlin.String, kotlin.String> origin=VARIABLE_AS_FUNCTION
$this: GET_VAR 'f: @[ContextFunctionTypeParams(count = 1)] kotlin.Function1<kotlin.String, kotlin.String> declared in <root>.withContext' type=@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<kotlin.String, kotlin.String> origin=VARIABLE_AS_FUNCTION
p1: CONST String type=kotlin.String value="OK"
FUN name:callWithContext visibility:public modality:FINAL <> (f:kotlin.Function1<kotlin.String, kotlin.String>) returnType:kotlin.String
VALUE_PARAMETER name:f index:0 type:kotlin.Function1<kotlin.String, kotlin.String>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun callWithContext (f: kotlin.Function1<kotlin.String, kotlin.String>): kotlin.String declared in <root>'
CALL 'public final fun withContext (f: @[ContextFunctionTypeParams(count = '1')] kotlin.Function1<kotlin.String, kotlin.String>): kotlin.String declared in <root>' type=kotlin.String origin=null
CALL 'public final fun withContext (f: @[ContextFunctionTypeParams(count = 1)] kotlin.Function1<kotlin.String, kotlin.String>): kotlin.String declared in <root>' type=kotlin.String origin=null
f: GET_VAR 'f: kotlin.Function1<kotlin.String, kotlin.String> declared in <root>.callWithContext' type=kotlin.Function1<kotlin.String, kotlin.String> origin=null
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
@@ -78,16 +78,16 @@ FILE fqName:<root> fileName:/functionalType.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:f visibility:public modality:FINAL <T> ($receiver:<root>.K, $context_receiver_0:<root>.O, g:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f>) returnType:T of <root>.f
FUN name:f visibility:public modality:FINAL <T> ($receiver:<root>.K, $context_receiver_0:<root>.O, g:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f>) returnType:T of <root>.f
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:<this> type:<root>.K
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.O
VALUE_PARAMETER name:g index:1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f>
VALUE_PARAMETER name:g index:1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun f <T> ($context_receiver_0: <root>.O, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f>): T of <root>.f declared in <root>'
RETURN type=kotlin.Nothing from='public final fun f <T> ($context_receiver_0: <root>.O, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f>): T of <root>.f declared in <root>'
CALL 'public abstract fun invoke (p1: P1 of kotlin.Function3, p2: P2 of kotlin.Function3, p3: P3 of kotlin.Function3): R of kotlin.Function3 declared in kotlin.Function3' type=T of <root>.f origin=INVOKE
$this: GET_VAR 'g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f> declared in <root>.f' type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f> origin=VARIABLE_AS_FUNCTION
$this: GET_VAR 'g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f> declared in <root>.f' type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f> origin=VARIABLE_AS_FUNCTION
p1: GET_VAR '$context_receiver_0: <root>.O declared in <root>.f' type=<root>.O origin=null
p2: GET_VAR '<this>: <root>.K declared in <root>.f' type=<root>.K origin=null
p3: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Param' type=<root>.Param origin=null
@@ -103,11 +103,11 @@ FILE fqName:<root> fileName:/functionalType.kt
$receiver: VALUE_PARAMETER name:$this$with type:<root>.O
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.box'
CALL 'public final fun f <T> ($context_receiver_0: <root>.O, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f>): T of <root>.f declared in <root>' type=kotlin.String origin=null
CALL 'public final fun f <T> ($context_receiver_0: <root>.O, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f>): T of <root>.f declared in <root>' type=kotlin.String origin=null
<T>: kotlin.String
$receiver: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.K' type=<root>.K origin=null
$context_receiver_0: GET_VAR '$this$with: <root>.O declared in <root>.box.<anonymous>' type=<root>.O origin=null
g: FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.O, <root>.K, <root>.Param, kotlin.String> origin=LAMBDA
g: FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.O, <root>.K, <root>.Param, kotlin.String> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:<root>.K, $context_receiver_0:<root>.O, it:<root>.Param) returnType:kotlin.String
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:$this$f type:<root>.K
@@ -142,21 +142,21 @@ FILE fqName:<root> fileName:/monoidSum.kt
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.Monoid<T of <root>.sum>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun sum <T> ($context_receiver_0: <root>.Monoid<T of <root>.sum>): T of <root>.sum declared in <root>'
CALL 'public final fun fold <T, R> (initial: R of kotlin.collections.fold, operation: kotlin.Function2<@[ParameterName(name = 'acc')] R of kotlin.collections.fold, T of kotlin.collections.fold, R of kotlin.collections.fold>): R of kotlin.collections.fold declared in kotlin.collections' type=T of <root>.sum origin=null
CALL 'public final fun fold <T, R> (initial: R of kotlin.collections.fold, operation: kotlin.Function2<@[ParameterName(name = "acc")] R of kotlin.collections.fold, T of kotlin.collections.fold, R of kotlin.collections.fold>): R of kotlin.collections.fold declared in kotlin.collections' type=T of <root>.sum origin=null
<T>: T of <root>.sum
<R>: T of <root>.sum
$receiver: GET_VAR '<this>: kotlin.collections.List<T of <root>.sum> declared in <root>.sum' type=kotlin.collections.List<T of <root>.sum> origin=null
initial: CALL 'public abstract fun <get-unit> (): T of <root>.Monoid declared in <root>.Monoid' type=T of <root>.sum origin=GET_PROPERTY
$this: GET_VAR '$context_receiver_0: <root>.Monoid<T of <root>.sum> declared in <root>.sum' type=<root>.Monoid<T of <root>.sum> origin=null
operation: FUN_EXPR type=kotlin.Function2<@[ParameterName(name = 'acc')] T of <root>.sum, T of <root>.sum, T of <root>.sum> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> (acc:@[ParameterName(name = 'acc')] T of <root>.sum, e:T of <root>.sum) returnType:T of <root>.sum
VALUE_PARAMETER name:acc index:0 type:@[ParameterName(name = 'acc')] T of <root>.sum
operation: FUN_EXPR type=kotlin.Function2<@[ParameterName(name = "acc")] T of <root>.sum, T of <root>.sum, T of <root>.sum> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> (acc:@[ParameterName(name = "acc")] T of <root>.sum, e:T of <root>.sum) returnType:T of <root>.sum
VALUE_PARAMETER name:acc index:0 type:@[ParameterName(name = "acc")] T of <root>.sum
VALUE_PARAMETER name:e index:1 type:T of <root>.sum
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (acc: @[ParameterName(name = 'acc')] T of <root>.sum, e: T of <root>.sum): T of <root>.sum declared in <root>.sum'
RETURN type=kotlin.Nothing from='local final fun <anonymous> (acc: @[ParameterName(name = "acc")] T of <root>.sum, e: T of <root>.sum): T of <root>.sum declared in <root>.sum'
CALL 'public abstract fun combine (other: T of <root>.Monoid): T of <root>.Monoid declared in <root>.Monoid' type=T of <root>.sum origin=null
$this: GET_VAR '$context_receiver_0: <root>.Monoid<T of <root>.sum> declared in <root>.sum' type=<root>.Monoid<T of <root>.sum> origin=null
$receiver: GET_VAR 'acc: @[ParameterName(name = 'acc')] T of <root>.sum declared in <root>.sum.<anonymous>' type=@[ParameterName(name = 'acc')] T of <root>.sum origin=null
$receiver: GET_VAR 'acc: @[ParameterName(name = "acc")] T of <root>.sum declared in <root>.sum.<anonymous>' type=@[ParameterName(name = "acc")] T of <root>.sum origin=null
other: GET_VAR 'e: T of <root>.sum declared in <root>.sum.<anonymous>' type=T of <root>.sum origin=null
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
@@ -142,13 +142,13 @@ FILE fqName:<root> fileName:/monoidSum.kt
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.Monoid<T of <root>.sum>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun sum <T> ($context_receiver_0: <root>.Monoid<T of <root>.sum>): T of <root>.sum declared in <root>'
CALL 'public final fun fold <T, R> (initial: R of kotlin.collections.fold, operation: kotlin.Function2<@[ParameterName(name = 'acc')] R of kotlin.collections.fold, T of kotlin.collections.fold, R of kotlin.collections.fold>): R of kotlin.collections.fold declared in kotlin.collections' type=T of <root>.sum origin=null
CALL 'public final fun fold <T, R> (initial: R of kotlin.collections.fold, operation: kotlin.Function2<@[ParameterName(name = "acc")] R of kotlin.collections.fold, T of kotlin.collections.fold, R of kotlin.collections.fold>): R of kotlin.collections.fold declared in kotlin.collections' type=T of <root>.sum origin=null
<T>: T of <root>.sum
<R>: T of <root>.sum
$receiver: GET_VAR '<this>: kotlin.collections.List<T of <root>.sum> declared in <root>.sum' type=kotlin.collections.List<T of <root>.sum> origin=null
initial: CALL 'public abstract fun <get-unit> (): T of <root>.Monoid declared in <root>.Monoid' type=T of <root>.sum origin=GET_PROPERTY
$this: GET_VAR '$context_receiver_0: <root>.Monoid<T of <root>.sum> declared in <root>.sum' type=<root>.Monoid<T of <root>.sum> origin=null
operation: FUN_EXPR type=kotlin.Function2<@[ParameterName(name = 'acc')] T of <root>.sum, T of <root>.sum, T of <root>.sum> origin=LAMBDA
operation: FUN_EXPR type=kotlin.Function2<@[ParameterName(name = "acc")] T of <root>.sum, T of <root>.sum, T of <root>.sum> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> (acc:T of <root>.sum, e:T of <root>.sum) returnType:T of <root>.sum
VALUE_PARAMETER name:acc index:0 type:T of <root>.sum
VALUE_PARAMETER name:e index:1 type:T of <root>.sum
@@ -78,48 +78,48 @@ FILE fqName:<root> fileName:/functionalType.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:f1 visibility:public modality:FINAL <> ($receiver:<root>.R, $context_receiver_0:<root>.C, g:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit>) returnType:kotlin.Unit
FUN name:f1 visibility:public modality:FINAL <> ($receiver:<root>.R, $context_receiver_0:<root>.C, g:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit>) returnType:kotlin.Unit
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:<this> type:<root>.R
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.C
VALUE_PARAMETER name:g index:1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit>
VALUE_PARAMETER name:g index:1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit>
BLOCK_BODY
CALL 'public abstract fun invoke (p1: P1 of kotlin.Function3, p2: P2 of kotlin.Function3, p3: P3 of kotlin.Function3): R of kotlin.Function3 declared in kotlin.Function3' type=kotlin.Unit origin=INVOKE
$this: GET_VAR 'g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> declared in <root>.f1' type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
$this: GET_VAR 'g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> declared in <root>.f1' type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
p1: GET_VAR '$context_receiver_0: <root>.C declared in <root>.f1' type=<root>.C origin=null
p2: GET_VAR '<this>: <root>.R declared in <root>.f1' type=<root>.R origin=null
p3: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Param' type=<root>.Param origin=null
FUN name:f2 visibility:public modality:FINAL <> ($context_receiver_0:<root>.C, g:@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit>) returnType:kotlin.Unit
FUN name:f2 visibility:public modality:FINAL <> ($context_receiver_0:<root>.C, g:@[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit>) returnType:kotlin.Unit
contextReceiverParametersCount: 1
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.C
VALUE_PARAMETER name:g index:1 type:@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit>
VALUE_PARAMETER name:g index:1 type:@[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit>
BLOCK_BODY
CALL 'public abstract fun invoke (p1: P1 of kotlin.Function2, p2: P2 of kotlin.Function2): R of kotlin.Function2 declared in kotlin.Function2' type=kotlin.Unit origin=INVOKE
$this: GET_VAR 'g: @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> declared in <root>.f2' type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
$this: GET_VAR 'g: @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> declared in <root>.f2' type=@[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
p1: GET_VAR '$context_receiver_0: <root>.C declared in <root>.f2' type=<root>.C origin=null
p2: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Param' type=<root>.Param origin=null
FUN name:f3 visibility:public modality:FINAL <> ($receiver:<root>.R, $context_receiver_0:<root>.C, g:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit>) returnType:kotlin.Unit
FUN name:f3 visibility:public modality:FINAL <> ($receiver:<root>.R, $context_receiver_0:<root>.C, g:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit>) returnType:kotlin.Unit
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:<this> type:<root>.R
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.C
VALUE_PARAMETER name:g index:1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit>
VALUE_PARAMETER name:g index:1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit>
BLOCK_BODY
CALL 'public abstract fun invoke (p1: P1 of kotlin.Function2, p2: P2 of kotlin.Function2): R of kotlin.Function2 declared in kotlin.Function2' type=kotlin.Unit origin=INVOKE
$this: GET_VAR 'g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> declared in <root>.f3' type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
$this: GET_VAR 'g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> declared in <root>.f3' type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
p1: GET_VAR '$context_receiver_0: <root>.C declared in <root>.f3' type=<root>.C origin=null
p2: GET_VAR '<this>: <root>.R declared in <root>.f3' type=<root>.R origin=null
FUN name:f4 visibility:public modality:FINAL <> ($context_receiver_0:<root>.C, g:@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.Unit>) returnType:kotlin.Unit
FUN name:f4 visibility:public modality:FINAL <> ($context_receiver_0:<root>.C, g:@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.Unit>) returnType:kotlin.Unit
contextReceiverParametersCount: 1
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.C
VALUE_PARAMETER name:g index:1 type:@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.Unit>
VALUE_PARAMETER name:g index:1 type:@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.Unit>
BLOCK_BODY
CALL 'public abstract fun invoke (p1: P1 of kotlin.Function1): R of kotlin.Function1 declared in kotlin.Function1' type=kotlin.Unit origin=INVOKE
$this: GET_VAR 'g: @[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.Unit> declared in <root>.f4' type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
$this: GET_VAR 'g: @[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.Unit> declared in <root>.f4' type=@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
p1: GET_VAR '$context_receiver_0: <root>.C declared in <root>.f4' type=<root>.C origin=null
FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR name:lf1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> [val]
FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> origin=LAMBDA
VAR name:lf1 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> [val]
FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:<root>.R, $context_receiver_0:<root>.C, <anonymous parameter 0>:<root>.Param) returnType:kotlin.Unit
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:$this$null type:<root>.R
@@ -132,8 +132,8 @@ FILE fqName:<root> fileName:/functionalType.kt
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-c> (): kotlin.Int declared in <root>.C' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR '$context_receiver_0: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
VAR name:lf2 type:@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> [val]
FUN_EXPR type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> origin=LAMBDA
VAR name:lf2 type:@[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> [val]
FUN_EXPR type=@[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($context_receiver_0:<root>.C, <anonymous parameter 0>:<root>.Param) returnType:kotlin.Unit
contextReceiverParametersCount: 1
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.C
@@ -142,8 +142,8 @@ FILE fqName:<root> fileName:/functionalType.kt
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-c> (): kotlin.Int declared in <root>.C' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR '$context_receiver_0: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
VAR name:lf3 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> [val]
FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> origin=LAMBDA
VAR name:lf3 type:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> [val]
FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:<root>.R, $context_receiver_0:<root>.C) returnType:kotlin.Unit
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:$this$null type:<root>.R
@@ -155,8 +155,8 @@ FILE fqName:<root> fileName:/functionalType.kt
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-c> (): kotlin.Int declared in <root>.C' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR '$context_receiver_0: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
VAR name:lf4 type:@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.Unit> [val]
FUN_EXPR type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.Unit> origin=LAMBDA
VAR name:lf4 type:@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.Unit> [val]
FUN_EXPR type=@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($context_receiver_0:<root>.C) returnType:kotlin.Unit
contextReceiverParametersCount: 1
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.C
@@ -180,14 +180,14 @@ FILE fqName:<root> fileName:/functionalType.kt
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:<root>.R) returnType:kotlin.Unit
$receiver: VALUE_PARAMETER name:$this$with type:<root>.R
BLOCK_BODY
CALL 'public final fun f1 ($context_receiver_0: <root>.C, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
CALL 'public final fun f1 ($context_receiver_0: <root>.C, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: GET_VAR '$this$with: <root>.R declared in <root>.test.<anonymous>.<anonymous>' type=<root>.R origin=null
$context_receiver_0: GET_VAR '$this$with: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
g: GET_VAR 'val lf1: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> declared in <root>.test' type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> origin=null
CALL 'public final fun f1 ($context_receiver_0: <root>.C, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
g: GET_VAR 'val lf1: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> declared in <root>.test' type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> origin=null
CALL 'public final fun f1 ($context_receiver_0: <root>.C, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: GET_VAR '$this$with: <root>.R declared in <root>.test.<anonymous>.<anonymous>' type=<root>.R origin=null
$context_receiver_0: GET_VAR '$this$with: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
g: FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> origin=LAMBDA
g: FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function3<<root>.C, <root>.R, <root>.Param, kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:<root>.R, $context_receiver_0:<root>.C, <anonymous parameter 0>:<root>.Param) returnType:kotlin.Unit
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:$this$f1 type:<root>.R
@@ -200,12 +200,12 @@ FILE fqName:<root> fileName:/functionalType.kt
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-c> (): kotlin.Int declared in <root>.C' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR '$this$with: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
CALL 'public final fun f2 ($context_receiver_0: <root>.C, g: @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
CALL 'public final fun f2 ($context_receiver_0: <root>.C, g: @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$context_receiver_0: GET_VAR '$this$with: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
g: GET_VAR 'val lf2: @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> declared in <root>.test' type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> origin=null
CALL 'public final fun f2 ($context_receiver_0: <root>.C, g: @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
g: GET_VAR 'val lf2: @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> declared in <root>.test' type=@[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> origin=null
CALL 'public final fun f2 ($context_receiver_0: <root>.C, g: @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$context_receiver_0: GET_VAR '$this$with: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
g: FUN_EXPR type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> origin=LAMBDA
g: FUN_EXPR type=@[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.Param, kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($context_receiver_0:<root>.C, <anonymous parameter 0>:<root>.Param) returnType:kotlin.Unit
contextReceiverParametersCount: 1
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.C
@@ -214,14 +214,14 @@ FILE fqName:<root> fileName:/functionalType.kt
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-c> (): kotlin.Int declared in <root>.C' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR '$this$with: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
CALL 'public final fun f3 ($context_receiver_0: <root>.C, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
CALL 'public final fun f3 ($context_receiver_0: <root>.C, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: GET_VAR '$this$with: <root>.R declared in <root>.test.<anonymous>.<anonymous>' type=<root>.R origin=null
$context_receiver_0: GET_VAR '$this$with: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
g: GET_VAR 'val lf3: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> declared in <root>.test' type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> origin=null
CALL 'public final fun f3 ($context_receiver_0: <root>.C, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
g: GET_VAR 'val lf3: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> declared in <root>.test' type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> origin=null
CALL 'public final fun f3 ($context_receiver_0: <root>.C, g: @[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$receiver: GET_VAR '$this$with: <root>.R declared in <root>.test.<anonymous>.<anonymous>' type=<root>.R origin=null
$context_receiver_0: GET_VAR '$this$with: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
g: FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> origin=LAMBDA
g: FUN_EXPR type=@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = 1)] kotlin.Function2<<root>.C, <root>.R, kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:<root>.R, $context_receiver_0:<root>.C) returnType:kotlin.Unit
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:$this$f3 type:<root>.R
@@ -233,12 +233,12 @@ FILE fqName:<root> fileName:/functionalType.kt
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-c> (): kotlin.Int declared in <root>.C' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR '$this$with: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
CALL 'public final fun f4 ($context_receiver_0: <root>.C, g: @[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
CALL 'public final fun f4 ($context_receiver_0: <root>.C, g: @[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$context_receiver_0: GET_VAR '$this$with: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
g: GET_VAR 'val lf4: @[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.Unit> declared in <root>.test' type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.Unit> origin=null
CALL 'public final fun f4 ($context_receiver_0: <root>.C, g: @[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
g: GET_VAR 'val lf4: @[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.Unit> declared in <root>.test' type=@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.Unit> origin=null
CALL 'public final fun f4 ($context_receiver_0: <root>.C, g: @[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
$context_receiver_0: GET_VAR '$this$with: <root>.C declared in <root>.test.<anonymous>' type=<root>.C origin=null
g: FUN_EXPR type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.Unit> origin=LAMBDA
g: FUN_EXPR type=@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.Unit> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($context_receiver_0:<root>.C) returnType:kotlin.Unit
contextReceiverParametersCount: 1
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.C
@@ -29,18 +29,18 @@ FILE fqName:<root> fileName:/passingLambdaToContextualParam.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:contextual visibility:public modality:FINAL <> (f:@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.String>) returnType:kotlin.String
VALUE_PARAMETER name:f index:0 type:@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.String>
FUN name:contextual visibility:public modality:FINAL <> (f:@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.String>) returnType:kotlin.String
VALUE_PARAMETER name:f index:0 type:@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.String>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun contextual (f: @[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.String>): kotlin.String declared in <root>'
RETURN type=kotlin.Nothing from='public final fun contextual (f: @[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.String>): kotlin.String declared in <root>'
CALL 'public abstract fun invoke (p1: P1 of kotlin.Function1): R of kotlin.Function1 declared in kotlin.Function1' type=kotlin.String origin=INVOKE
$this: GET_VAR 'f: @[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.String> declared in <root>.contextual' type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.String> origin=VARIABLE_AS_FUNCTION
$this: GET_VAR 'f: @[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.String> declared in <root>.contextual' type=@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.String> origin=VARIABLE_AS_FUNCTION
p1: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.C' type=<root>.C origin=null
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
CALL 'public final fun contextual (f: @[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.String>): kotlin.String declared in <root>' type=kotlin.String origin=null
f: FUN_EXPR type=@[ContextFunctionTypeParams(count = '1')] kotlin.Function1<<root>.C, kotlin.String> origin=LAMBDA
CALL 'public final fun contextual (f: @[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.String>): kotlin.String declared in <root>' type=kotlin.String origin=null
f: FUN_EXPR type=@[ContextFunctionTypeParams(count = 1)] kotlin.Function1<<root>.C, kotlin.String> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($context_receiver_0:<root>.C) returnType:kotlin.String
contextReceiverParametersCount: 1
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.C