blob: d7fe01a6a364ee2519f004acf70295dbed2b4ca2 [file]
FILE fqName:<root> fileName:/generticReferences.kt lineStartOffsets: [0, 11, 35, 36, 37, 50, 75, 77, 78, 103, 138, 139, 167, 193, 195, 196, 237, 290, 291, 292, 321, 347, 349, 350, 392, 446, 447, 448, 468, 501, 526, 549, 574, 597, 598, 599, 639, 669, 694, 724, 749, 750, 790, 820, 845, 875, 900, 901, 917, 919]
CLASS[37, 76] CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]
thisReceiver: VALUE_PARAMETER[37, 76] INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.A<T of <root>.A>
TYPE_PARAMETER[45, 46] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR[37, 76] visibility:public returnType:<root>.A<T of <root>.A> [primary]
BLOCK_BODY[37, 76]
DELEGATING_CONSTRUCTOR_CALL[37, 76] 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL[37, 76] classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
FUN[-2, -2] FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
VALUE_PARAMETER[-2, -2] kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
VALUE_PARAMETER[-2, -2] kind:Regular name:other index:1 type:kotlin.Any?
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
FUN[-2, -2] FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
VALUE_PARAMETER[-2, -2] kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
FUN[-2, -2] FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
VALUE_PARAMETER[-2, -2] kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
FUN[54, 74] name:bar visibility:public modality:FINAL returnType:T of <root>.A
VALUE_PARAMETER[54, 74] kind:DispatchReceiver name:<this> index:0 type:<root>.A<T of <root>.A>
VALUE_PARAMETER[62, 66] kind:Regular name:x index:1 type:T of <root>.A
BLOCK_BODY[73, 74]
RETURN[74, 74] type=kotlin.Nothing from='public final fun bar (x: T of <root>.A): T of <root>.A declared in <root>.A'
GET_VAR[73, 74] 'x: T of <root>.A declared in <root>.A.bar' type=T of <root>.A origin=null
CLASS[139, 194] CLASS name:A2 modality:FINAL visibility:public superTypes:[kotlin.Any]
thisReceiver: VALUE_PARAMETER[139, 194] INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.A2<T of <root>.A2>
TYPE_PARAMETER[148, 163] name:T index:0 variance: superTypes:[kotlin.CharSequence] reified:false
CONSTRUCTOR[139, 194] visibility:public returnType:<root>.A2<T of <root>.A2> [primary]
BLOCK_BODY[139, 194]
DELEGATING_CONSTRUCTOR_CALL[139, 194] 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL[139, 194] classDescriptor='CLASS CLASS name:A2 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
FUN[-2, -2] FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
VALUE_PARAMETER[-2, -2] kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
VALUE_PARAMETER[-2, -2] kind:Regular name:other index:1 type:kotlin.Any?
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
FUN[-2, -2] FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
VALUE_PARAMETER[-2, -2] kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
FUN[-2, -2] FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
VALUE_PARAMETER[-2, -2] kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
FUN[171, 192] name:bar2 visibility:public modality:FINAL returnType:T of <root>.A2
VALUE_PARAMETER[171, 192] kind:DispatchReceiver name:<this> index:0 type:<root>.A2<T of <root>.A2>
VALUE_PARAMETER[180, 184] kind:Regular name:x index:1 type:T of <root>.A2
BLOCK_BODY[191, 192]
RETURN[192, 192] type=kotlin.Nothing from='public final fun bar2 (x: T of <root>.A2): T of <root>.A2 declared in <root>.A2'
GET_VAR[191, 192] 'x: T of <root>.A2 declared in <root>.A2.bar2' type=T of <root>.A2 origin=null
CLASS[292, 348] CLASS name:A3 modality:FINAL visibility:public superTypes:[kotlin.Any]
thisReceiver: VALUE_PARAMETER[292, 348] INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.A3<T of <root>.A3>
TYPE_PARAMETER[301, 317] name:T index:0 variance: superTypes:[kotlin.Comparable<T of <root>.A3>] reified:false
CONSTRUCTOR[292, 348] visibility:public returnType:<root>.A3<T of <root>.A3> [primary]
BLOCK_BODY[292, 348]
DELEGATING_CONSTRUCTOR_CALL[292, 348] 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL[292, 348] classDescriptor='CLASS CLASS name:A3 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
FUN[-2, -2] FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
VALUE_PARAMETER[-2, -2] kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
VALUE_PARAMETER[-2, -2] kind:Regular name:other index:1 type:kotlin.Any?
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
FUN[-2, -2] FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
VALUE_PARAMETER[-2, -2] kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
FUN[-2, -2] FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
VALUE_PARAMETER[-2, -2] kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
FUN[325, 346] name:bar3 visibility:public modality:FINAL returnType:T of <root>.A3
VALUE_PARAMETER[325, 346] kind:DispatchReceiver name:<this> index:0 type:<root>.A3<T of <root>.A3>
VALUE_PARAMETER[334, 338] kind:Regular name:x index:1 type:T of <root>.A3
BLOCK_BODY[345, 346]
RETURN[346, 346] type=kotlin.Nothing from='public final fun bar3 (x: T of <root>.A3): T of <root>.A3 declared in <root>.A3'
GET_VAR[345, 346] 'x: T of <root>.A3 declared in <root>.A3.bar3' type=T of <root>.A3 origin=null
FUN[448, 918] name:box visibility:public modality:FINAL returnType:kotlin.String
BLOCK_BODY[466, 918]
VAR[472, 500] name:r1 type:kotlin.Function1<kotlin.Int, kotlin.Int> [val]
RICH_FUNCTION_REFERENCE[495, 500] type=kotlin.reflect.KFunction1<@[ParameterName(name = "x")] kotlin.Int, kotlin.Int> origin=null reflectionTarget='public final fun foo <T> (x: T of <root>.foo): T of <root>.foo declared in <root>'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction1): R of kotlin.reflect.KFunction1 declared in kotlin.reflect.KFunction1
invoke: FUN[495, 500] LOCAL_FUNCTION_FOR_LAMBDA name:foo visibility:local modality:FINAL returnType:kotlin.Int
VALUE_PARAMETER[495, 500] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:@[ParameterName(name = "x")] kotlin.Int
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun foo (p0: @[ParameterName(name = "x")] kotlin.Int): kotlin.Int declared in <root>.box'
CALL[495, 500] 'public final fun foo <T> (x: T of <root>.foo): T of <root>.foo declared in <root>' type=kotlin.Int origin=null
TYPE_ARG T: kotlin.Int
ARG x: GET_VAR[495, 500] 'p0: @[ParameterName(name = "x")] kotlin.Int declared in <root>.box.foo' type=@[ParameterName(name = "x")] kotlin.Int origin=null
VAR[505, 525] name:r2 type:@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A<kotlin.Int>, @[ParameterName(name = "x")] kotlin.Int, kotlin.Int> [val]
RICH_FUNCTION_REFERENCE[514, 525] type=@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A<kotlin.Int>, @[ParameterName(name = "x")] kotlin.Int, kotlin.Int> origin=null reflectionTarget='public final fun foo <T> (<this>: <root>.A<T of <root>.foo>, x: T of <root>.foo): T of <root>.foo declared in <root>'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[514, 525] LOCAL_FUNCTION_FOR_LAMBDA name:foo visibility:local modality:FINAL returnType:kotlin.Int
VALUE_PARAMETER[514, 525] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A<kotlin.Int>
VALUE_PARAMETER[514, 525] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:@[ParameterName(name = "x")] kotlin.Int
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun foo (p0: <root>.A<kotlin.Int>, p1: @[ParameterName(name = "x")] kotlin.Int): kotlin.Int declared in <root>.box'
CALL[514, 525] 'public final fun foo <T> (<this>: <root>.A<T of <root>.foo>, x: T of <root>.foo): T of <root>.foo declared in <root>' type=kotlin.Int origin=null
TYPE_ARG T: kotlin.Int
ARG <this>: GET_VAR[514, 525] 'p0: <root>.A<kotlin.Int> declared in <root>.box.foo' type=<root>.A<kotlin.Int> origin=null
ARG x: GET_VAR[514, 525] 'p1: @[ParameterName(name = "x")] kotlin.Int declared in <root>.box.foo' type=@[ParameterName(name = "x")] kotlin.Int origin=null
VAR[530, 548] name:r3 type:@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A<*>, *, kotlin.Any?> [val]
RICH_FUNCTION_REFERENCE[539, 548] type=@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A<*>, kotlin.Any?, kotlin.Any?> origin=null reflectionTarget='public final fun foo <T> (<this>: <root>.A<T of <root>.foo>, x: T of <root>.foo): T of <root>.foo declared in <root>'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[539, 548] LOCAL_FUNCTION_FOR_LAMBDA name:foo visibility:local modality:FINAL returnType:kotlin.Any?
VALUE_PARAMETER[539, 548] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A<*>
VALUE_PARAMETER[539, 548] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:kotlin.Any?
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun foo (p0: <root>.A<*>, p1: kotlin.Any?): kotlin.Any? declared in <root>.box'
CALL[539, 548] 'public final fun foo <T> (<this>: <root>.A<T of <root>.foo>, x: T of <root>.foo): T of <root>.foo declared in <root>' type=kotlin.Any? origin=null
TYPE_ARG T: kotlin.Any?
ARG <this>: GET_VAR[539, 548] 'p0: <root>.A<*> declared in <root>.box.foo' type=<root>.A<*> origin=null
ARG x: GET_VAR[539, 548] 'p1: kotlin.Any? declared in <root>.box.foo' type=kotlin.Any? origin=null
VAR[553, 573] name:r4 type:kotlin.reflect.KFunction2<<root>.A<kotlin.Int>, @[ParameterName(name = "x")] kotlin.Int, kotlin.Int> [val]
RICH_FUNCTION_REFERENCE[562, 573] type=kotlin.reflect.KFunction2<<root>.A<kotlin.Int>, @[ParameterName(name = "x")] kotlin.Int, kotlin.Int> origin=null reflectionTarget='public final fun bar (x: T of <root>.A): T of <root>.A declared in <root>.A'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[562, 573] LOCAL_FUNCTION_FOR_LAMBDA name:bar visibility:local modality:FINAL returnType:kotlin.Int
VALUE_PARAMETER[562, 573] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A<kotlin.Int>
VALUE_PARAMETER[562, 573] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:@[ParameterName(name = "x")] kotlin.Int
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun bar (p0: <root>.A<kotlin.Int>, p1: @[ParameterName(name = "x")] kotlin.Int): kotlin.Int declared in <root>.box'
CALL[562, 573] 'public final fun bar (x: T of <root>.A): T of <root>.A declared in <root>.A' type=kotlin.Int origin=null
ARG <this>: GET_VAR[562, 573] 'p0: <root>.A<kotlin.Int> declared in <root>.box.bar' type=<root>.A<kotlin.Int> origin=null
ARG x: GET_VAR[562, 573] 'p1: @[ParameterName(name = "x")] kotlin.Int declared in <root>.box.bar' type=@[ParameterName(name = "x")] kotlin.Int origin=null
VAR[578, 596] name:r5 type:kotlin.reflect.KFunction2<<root>.A<*>, *, kotlin.Any?> [val]
RICH_FUNCTION_REFERENCE[587, 596] type=kotlin.reflect.KFunction2<<root>.A<*>, kotlin.Any?, kotlin.Any?> origin=null reflectionTarget='public final fun bar (x: T of <root>.A): T of <root>.A declared in <root>.A'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[587, 596] LOCAL_FUNCTION_FOR_LAMBDA name:bar visibility:local modality:FINAL returnType:kotlin.Any?
VALUE_PARAMETER[587, 596] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A<*>
VALUE_PARAMETER[587, 596] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:kotlin.Any?
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun bar (p0: <root>.A<*>, p1: kotlin.Any?): kotlin.Any? declared in <root>.box'
CALL[587, 596] 'public final fun bar (x: T of <root>.A): T of <root>.A declared in <root>.A' type=kotlin.Any? origin=null
ARG <this>: GET_VAR[587, 596] 'p0: <root>.A<*> declared in <root>.box.bar' type=<root>.A<*> origin=null
ARG x: GET_VAR[587, 596] 'p1: kotlin.Any? declared in <root>.box.bar' type=kotlin.Any? origin=null
VAR[603, 638] name:s1 type:kotlin.Function1<kotlin.String, kotlin.String> [val]
RICH_FUNCTION_REFERENCE[632, 638] type=kotlin.reflect.KFunction1<@[ParameterName(name = "x")] kotlin.String, kotlin.String> origin=null reflectionTarget='public final fun foo2 <T> (x: T of <root>.foo2): T of <root>.foo2 declared in <root>'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction1): R of kotlin.reflect.KFunction1 declared in kotlin.reflect.KFunction1
invoke: FUN[632, 638] LOCAL_FUNCTION_FOR_LAMBDA name:foo2 visibility:local modality:FINAL returnType:kotlin.String
VALUE_PARAMETER[632, 638] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:@[ParameterName(name = "x")] kotlin.String
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun foo2 (p0: @[ParameterName(name = "x")] kotlin.String): kotlin.String declared in <root>.box'
CALL[632, 638] 'public final fun foo2 <T> (x: T of <root>.foo2): T of <root>.foo2 declared in <root>' type=kotlin.String origin=null
TYPE_ARG T: kotlin.String
ARG x: GET_VAR[632, 638] 'p0: @[ParameterName(name = "x")] kotlin.String declared in <root>.box.foo2' type=@[ParameterName(name = "x")] kotlin.String origin=null
VAR[643, 668] name:s2 type:@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A2<kotlin.String>, @[ParameterName(name = "x")] kotlin.String, kotlin.String> [val]
RICH_FUNCTION_REFERENCE[652, 668] type=@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A2<kotlin.String>, @[ParameterName(name = "x")] kotlin.String, kotlin.String> origin=null reflectionTarget='public final fun foo2 <T> (<this>: <root>.A2<T of <root>.foo2>, x: T of <root>.foo2): T of <root>.foo2 declared in <root>'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[652, 668] LOCAL_FUNCTION_FOR_LAMBDA name:foo2 visibility:local modality:FINAL returnType:kotlin.String
VALUE_PARAMETER[652, 668] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A2<kotlin.String>
VALUE_PARAMETER[652, 668] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:@[ParameterName(name = "x")] kotlin.String
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun foo2 (p0: <root>.A2<kotlin.String>, p1: @[ParameterName(name = "x")] kotlin.String): kotlin.String declared in <root>.box'
CALL[652, 668] 'public final fun foo2 <T> (<this>: <root>.A2<T of <root>.foo2>, x: T of <root>.foo2): T of <root>.foo2 declared in <root>' type=kotlin.String origin=null
TYPE_ARG T: kotlin.String
ARG <this>: GET_VAR[652, 668] 'p0: <root>.A2<kotlin.String> declared in <root>.box.foo2' type=<root>.A2<kotlin.String> origin=null
ARG x: GET_VAR[652, 668] 'p1: @[ParameterName(name = "x")] kotlin.String declared in <root>.box.foo2' type=@[ParameterName(name = "x")] kotlin.String origin=null
VAR[673, 693] name:s3 type:@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A2<*>, *, kotlin.CharSequence> [val]
RICH_FUNCTION_REFERENCE[682, 693] type=@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A2<*>, kotlin.CharSequence, kotlin.CharSequence> origin=null reflectionTarget='public final fun foo2 <T> (<this>: <root>.A2<T of <root>.foo2>, x: T of <root>.foo2): T of <root>.foo2 declared in <root>'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[682, 693] LOCAL_FUNCTION_FOR_LAMBDA name:foo2 visibility:local modality:FINAL returnType:kotlin.CharSequence
VALUE_PARAMETER[682, 693] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A2<*>
VALUE_PARAMETER[682, 693] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:kotlin.CharSequence
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun foo2 (p0: <root>.A2<*>, p1: kotlin.CharSequence): kotlin.CharSequence declared in <root>.box'
CALL[682, 693] 'public final fun foo2 <T> (<this>: <root>.A2<T of <root>.foo2>, x: T of <root>.foo2): T of <root>.foo2 declared in <root>' type=kotlin.CharSequence origin=null
TYPE_ARG T: kotlin.CharSequence
ARG <this>: GET_VAR[682, 693] 'p0: <root>.A2<*> declared in <root>.box.foo2' type=<root>.A2<*> origin=null
ARG x: GET_VAR[682, 693] 'p1: kotlin.CharSequence declared in <root>.box.foo2' type=kotlin.CharSequence origin=null
VAR[698, 723] name:s4 type:kotlin.reflect.KFunction2<<root>.A2<kotlin.String>, @[ParameterName(name = "x")] kotlin.String, kotlin.String> [val]
RICH_FUNCTION_REFERENCE[707, 723] type=kotlin.reflect.KFunction2<<root>.A2<kotlin.String>, @[ParameterName(name = "x")] kotlin.String, kotlin.String> origin=null reflectionTarget='public final fun bar2 (x: T of <root>.A2): T of <root>.A2 declared in <root>.A2'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[707, 723] LOCAL_FUNCTION_FOR_LAMBDA name:bar2 visibility:local modality:FINAL returnType:kotlin.String
VALUE_PARAMETER[707, 723] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A2<kotlin.String>
VALUE_PARAMETER[707, 723] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:@[ParameterName(name = "x")] kotlin.String
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun bar2 (p0: <root>.A2<kotlin.String>, p1: @[ParameterName(name = "x")] kotlin.String): kotlin.String declared in <root>.box'
CALL[707, 723] 'public final fun bar2 (x: T of <root>.A2): T of <root>.A2 declared in <root>.A2' type=kotlin.String origin=null
ARG <this>: GET_VAR[707, 723] 'p0: <root>.A2<kotlin.String> declared in <root>.box.bar2' type=<root>.A2<kotlin.String> origin=null
ARG x: GET_VAR[707, 723] 'p1: @[ParameterName(name = "x")] kotlin.String declared in <root>.box.bar2' type=@[ParameterName(name = "x")] kotlin.String origin=null
VAR[728, 748] name:s5 type:kotlin.reflect.KFunction2<<root>.A2<*>, *, kotlin.CharSequence> [val]
RICH_FUNCTION_REFERENCE[737, 748] type=kotlin.reflect.KFunction2<<root>.A2<*>, kotlin.CharSequence, kotlin.CharSequence> origin=null reflectionTarget='public final fun bar2 (x: T of <root>.A2): T of <root>.A2 declared in <root>.A2'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[737, 748] LOCAL_FUNCTION_FOR_LAMBDA name:bar2 visibility:local modality:FINAL returnType:kotlin.CharSequence
VALUE_PARAMETER[737, 748] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A2<*>
VALUE_PARAMETER[737, 748] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:kotlin.CharSequence
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun bar2 (p0: <root>.A2<*>, p1: kotlin.CharSequence): kotlin.CharSequence declared in <root>.box'
CALL[737, 748] 'public final fun bar2 (x: T of <root>.A2): T of <root>.A2 declared in <root>.A2' type=kotlin.CharSequence origin=null
ARG <this>: GET_VAR[737, 748] 'p0: <root>.A2<*> declared in <root>.box.bar2' type=<root>.A2<*> origin=null
ARG x: GET_VAR[737, 748] 'p1: kotlin.CharSequence declared in <root>.box.bar2' type=kotlin.CharSequence origin=null
VAR[754, 789] name:t1 type:kotlin.Function1<kotlin.String, kotlin.String> [val]
RICH_FUNCTION_REFERENCE[783, 789] type=kotlin.reflect.KFunction1<@[ParameterName(name = "x")] kotlin.String, kotlin.String> origin=null reflectionTarget='public final fun foo3 <T> (x: T of <root>.foo3): T of <root>.foo3 declared in <root>'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction1): R of kotlin.reflect.KFunction1 declared in kotlin.reflect.KFunction1
invoke: FUN[783, 789] LOCAL_FUNCTION_FOR_LAMBDA name:foo3 visibility:local modality:FINAL returnType:kotlin.String
VALUE_PARAMETER[783, 789] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:@[ParameterName(name = "x")] kotlin.String
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun foo3 (p0: @[ParameterName(name = "x")] kotlin.String): kotlin.String declared in <root>.box'
CALL[783, 789] 'public final fun foo3 <T> (x: T of <root>.foo3): T of <root>.foo3 declared in <root>' type=kotlin.String origin=null
TYPE_ARG T: kotlin.String
ARG x: GET_VAR[783, 789] 'p0: @[ParameterName(name = "x")] kotlin.String declared in <root>.box.foo3' type=@[ParameterName(name = "x")] kotlin.String origin=null
VAR[794, 819] name:t2 type:@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A3<kotlin.String>, @[ParameterName(name = "x")] kotlin.String, kotlin.String> [val]
RICH_FUNCTION_REFERENCE[803, 819] type=@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A3<kotlin.String>, @[ParameterName(name = "x")] kotlin.String, kotlin.String> origin=null reflectionTarget='public final fun foo3 <T> (<this>: <root>.A3<T of <root>.foo3>, x: T of <root>.foo3): T of <root>.foo3 declared in <root>'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[803, 819] LOCAL_FUNCTION_FOR_LAMBDA name:foo3 visibility:local modality:FINAL returnType:kotlin.String
VALUE_PARAMETER[803, 819] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A3<kotlin.String>
VALUE_PARAMETER[803, 819] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:@[ParameterName(name = "x")] kotlin.String
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun foo3 (p0: <root>.A3<kotlin.String>, p1: @[ParameterName(name = "x")] kotlin.String): kotlin.String declared in <root>.box'
CALL[803, 819] 'public final fun foo3 <T> (<this>: <root>.A3<T of <root>.foo3>, x: T of <root>.foo3): T of <root>.foo3 declared in <root>' type=kotlin.String origin=null
TYPE_ARG T: kotlin.String
ARG <this>: GET_VAR[803, 819] 'p0: <root>.A3<kotlin.String> declared in <root>.box.foo3' type=<root>.A3<kotlin.String> origin=null
ARG x: GET_VAR[803, 819] 'p1: @[ParameterName(name = "x")] kotlin.String declared in <root>.box.foo3' type=@[ParameterName(name = "x")] kotlin.String origin=null
VAR[824, 844] name:t3 type:@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A3<*>, *, kotlin.Comparable<*>> [val]
RICH_FUNCTION_REFERENCE[833, 844] type=@[ExtensionFunctionType] kotlin.reflect.KFunction2<<root>.A3<*>, kotlin.Comparable<*>, kotlin.Comparable<*>> origin=null reflectionTarget='public final fun foo3 <T> (<this>: <root>.A3<T of <root>.foo3>, x: T of <root>.foo3): T of <root>.foo3 declared in <root>'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[833, 844] LOCAL_FUNCTION_FOR_LAMBDA name:foo3 visibility:local modality:FINAL returnType:kotlin.Comparable<*>
VALUE_PARAMETER[833, 844] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A3<*>
VALUE_PARAMETER[833, 844] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:kotlin.Comparable<*>
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun foo3 (p0: <root>.A3<*>, p1: kotlin.Comparable<*>): kotlin.Comparable<*> declared in <root>.box'
CALL[833, 844] 'public final fun foo3 <T> (<this>: <root>.A3<T of <root>.foo3>, x: T of <root>.foo3): T of <root>.foo3 declared in <root>' type=kotlin.Comparable<*> origin=null
TYPE_ARG T: kotlin.Comparable<*>
ARG <this>: GET_VAR[833, 844] 'p0: <root>.A3<*> declared in <root>.box.foo3' type=<root>.A3<*> origin=null
ARG x: GET_VAR[833, 844] 'p1: kotlin.Comparable<*> declared in <root>.box.foo3' type=kotlin.Comparable<*> origin=null
VAR[849, 874] name:t4 type:kotlin.reflect.KFunction2<<root>.A3<kotlin.String>, @[ParameterName(name = "x")] kotlin.String, kotlin.String> [val]
RICH_FUNCTION_REFERENCE[858, 874] type=kotlin.reflect.KFunction2<<root>.A3<kotlin.String>, @[ParameterName(name = "x")] kotlin.String, kotlin.String> origin=null reflectionTarget='public final fun bar3 (x: T of <root>.A3): T of <root>.A3 declared in <root>.A3'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[858, 874] LOCAL_FUNCTION_FOR_LAMBDA name:bar3 visibility:local modality:FINAL returnType:kotlin.String
VALUE_PARAMETER[858, 874] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A3<kotlin.String>
VALUE_PARAMETER[858, 874] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:@[ParameterName(name = "x")] kotlin.String
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun bar3 (p0: <root>.A3<kotlin.String>, p1: @[ParameterName(name = "x")] kotlin.String): kotlin.String declared in <root>.box'
CALL[858, 874] 'public final fun bar3 (x: T of <root>.A3): T of <root>.A3 declared in <root>.A3' type=kotlin.String origin=null
ARG <this>: GET_VAR[858, 874] 'p0: <root>.A3<kotlin.String> declared in <root>.box.bar3' type=<root>.A3<kotlin.String> origin=null
ARG x: GET_VAR[858, 874] 'p1: @[ParameterName(name = "x")] kotlin.String declared in <root>.box.bar3' type=@[ParameterName(name = "x")] kotlin.String origin=null
VAR[879, 899] name:t5 type:kotlin.reflect.KFunction2<<root>.A3<*>, *, kotlin.Comparable<*>> [val]
RICH_FUNCTION_REFERENCE[888, 899] type=kotlin.reflect.KFunction2<<root>.A3<*>, kotlin.Comparable<*>, kotlin.Comparable<*>> origin=null reflectionTarget='public final fun bar3 (x: T of <root>.A3): T of <root>.A3 declared in <root>.A3'
overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KFunction2, p2: P2 of kotlin.reflect.KFunction2): R of kotlin.reflect.KFunction2 declared in kotlin.reflect.KFunction2
invoke: FUN[888, 899] LOCAL_FUNCTION_FOR_LAMBDA name:bar3 visibility:local modality:FINAL returnType:kotlin.Comparable<*>
VALUE_PARAMETER[888, 899] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:0 type:<root>.A3<*>
VALUE_PARAMETER[888, 899] ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:1 type:kotlin.Comparable<*>
BLOCK_BODY[-1, -1]
RETURN[-1, -1] type=kotlin.Nothing from='local final fun bar3 (p0: <root>.A3<*>, p1: kotlin.Comparable<*>): kotlin.Comparable<*> declared in <root>.box'
CALL[888, 899] 'public final fun bar3 (x: T of <root>.A3): T of <root>.A3 declared in <root>.A3' type=kotlin.Comparable<*> origin=null
ARG <this>: GET_VAR[888, 899] 'p0: <root>.A3<*> declared in <root>.box.bar3' type=<root>.A3<*> origin=null
ARG x: GET_VAR[888, 899] 'p1: kotlin.Comparable<*> declared in <root>.box.bar3' type=kotlin.Comparable<*> origin=null
RETURN[905, 916] type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
CONST[912, 916] String type=kotlin.String value="OK"
FUN[103, 137] name:foo visibility:public modality:FINAL returnType:T of <root>.foo
TYPE_PARAMETER[108, 109] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
VALUE_PARAMETER[111, 115] kind:ExtensionReceiver name:<this> index:0 type:<root>.A<T of <root>.foo>
VALUE_PARAMETER[120, 124] kind:Regular name:x index:1 type:T of <root>.foo
BLOCK_BODY[131, 137]
RETURN[137, 137] type=kotlin.Nothing from='public final fun foo <T> (<this>: <root>.A<T of <root>.foo>, x: T of <root>.foo): T of <root>.foo declared in <root>'
CALL[131, 137] 'public final fun bar (x: T of <root>.A): T of <root>.A declared in <root>.A' type=T of <root>.foo origin=null
ARG <this>: GET_VAR[131, 137] '<this>: <root>.A<T of <root>.foo> declared in <root>.foo' type=<root>.A<T of <root>.foo> origin=IMPLICIT_ARGUMENT
ARG x: GET_VAR[135, 136] 'x: T of <root>.foo declared in <root>.foo' type=T of <root>.foo origin=null
FUN[78, 102] name:foo visibility:public modality:FINAL returnType:T of <root>.foo
TYPE_PARAMETER[83, 84] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
VALUE_PARAMETER[90, 94] kind:Regular name:x index:0 type:T of <root>.foo
BLOCK_BODY[101, 102]
RETURN[102, 102] type=kotlin.Nothing from='public final fun foo <T> (x: T of <root>.foo): T of <root>.foo declared in <root>'
GET_VAR[101, 102] 'x: T of <root>.foo declared in <root>.foo' type=T of <root>.foo origin=null
FUN[237, 289] name:foo2 visibility:public modality:FINAL returnType:T of <root>.foo2
TYPE_PARAMETER[242, 258] name:T index:0 variance: superTypes:[kotlin.CharSequence] reified:false
VALUE_PARAMETER[260, 265] kind:ExtensionReceiver name:<this> index:0 type:<root>.A2<T of <root>.foo2>
VALUE_PARAMETER[271, 275] kind:Regular name:x index:1 type:T of <root>.foo2
BLOCK_BODY[282, 289]
RETURN[289, 289] type=kotlin.Nothing from='public final fun foo2 <T> (<this>: <root>.A2<T of <root>.foo2>, x: T of <root>.foo2): T of <root>.foo2 declared in <root>'
CALL[282, 289] 'public final fun bar2 (x: T of <root>.A2): T of <root>.A2 declared in <root>.A2' type=T of <root>.foo2 origin=null
ARG <this>: GET_VAR[282, 289] '<this>: <root>.A2<T of <root>.foo2> declared in <root>.foo2' type=<root>.A2<T of <root>.foo2> origin=IMPLICIT_ARGUMENT
ARG x: GET_VAR[287, 288] 'x: T of <root>.foo2 declared in <root>.foo2' type=T of <root>.foo2 origin=null
FUN[196, 236] name:foo2 visibility:public modality:FINAL returnType:T of <root>.foo2
TYPE_PARAMETER[201, 217] name:T index:0 variance: superTypes:[kotlin.CharSequence] reified:false
VALUE_PARAMETER[224, 228] kind:Regular name:x index:0 type:T of <root>.foo2
BLOCK_BODY[235, 236]
RETURN[236, 236] type=kotlin.Nothing from='public final fun foo2 <T> (x: T of <root>.foo2): T of <root>.foo2 declared in <root>'
GET_VAR[235, 236] 'x: T of <root>.foo2 declared in <root>.foo2' type=T of <root>.foo2 origin=null
FUN[392, 445] name:foo3 visibility:public modality:FINAL returnType:T of <root>.foo3
TYPE_PARAMETER[397, 414] name:T index:0 variance: superTypes:[kotlin.Comparable<T of <root>.foo3>] reified:false
VALUE_PARAMETER[416, 421] kind:ExtensionReceiver name:<this> index:0 type:<root>.A3<T of <root>.foo3>
VALUE_PARAMETER[427, 431] kind:Regular name:x index:1 type:T of <root>.foo3
BLOCK_BODY[438, 445]
RETURN[445, 445] type=kotlin.Nothing from='public final fun foo3 <T> (<this>: <root>.A3<T of <root>.foo3>, x: T of <root>.foo3): T of <root>.foo3 declared in <root>'
CALL[438, 445] 'public final fun bar3 (x: T of <root>.A3): T of <root>.A3 declared in <root>.A3' type=T of <root>.foo3 origin=null
ARG <this>: GET_VAR[438, 445] '<this>: <root>.A3<T of <root>.foo3> declared in <root>.foo3' type=<root>.A3<T of <root>.foo3> origin=IMPLICIT_ARGUMENT
ARG x: GET_VAR[443, 444] 'x: T of <root>.foo3 declared in <root>.foo3' type=T of <root>.foo3 origin=null
FUN[350, 391] name:foo3 visibility:public modality:FINAL returnType:T of <root>.foo3
TYPE_PARAMETER[355, 372] name:T index:0 variance: superTypes:[kotlin.Comparable<T of <root>.foo3>] reified:false
VALUE_PARAMETER[379, 383] kind:Regular name:x index:0 type:T of <root>.foo3
BLOCK_BODY[390, 391]
RETURN[391, 391] type=kotlin.Nothing from='public final fun foo3 <T> (x: T of <root>.foo3): T of <root>.foo3 declared in <root>'
GET_VAR[390, 391] 'x: T of <root>.foo3 declared in <root>.foo3' type=T of <root>.foo3 origin=null