FILE fqName:<root> fileName:/adaptations.kt
  CLASS CLASS name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any]
    annotations:
      RestrictsSuspension
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.Foo
    CONSTRUCTOR visibility:public returnType:<root>.Foo [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
    FUN name:foo visibility:public modality:FINAL returnType:kotlin.Unit [suspend]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Foo
      VALUE_PARAMETER UNDERSCORE_PARAMETER kind:Context name:$context-String index:1 type:kotlin.String
      BLOCK_BODY
  FUN name:bar visibility:public modality:FINAL returnType:kotlin.Unit
    VALUE_PARAMETER kind:Context name:s index:0 type:kotlin.String
    VALUE_PARAMETER kind:Regular name:p index:1 type:kotlin.IntArray varargElementType:kotlin.Int [vararg]
    BLOCK_BODY
  FUN name:baz visibility:public modality:FINAL returnType:kotlin.Unit [suspend]
    VALUE_PARAMETER UNDERSCORE_PARAMETER kind:Context name:$context-Foo index:0 type:<root>.Foo
    BLOCK_BODY
  FUN name:baz visibility:public modality:FINAL returnType:kotlin.Unit [suspend]
    VALUE_PARAMETER UNDERSCORE_PARAMETER kind:Context name:$context-String index:0 type:kotlin.String
    VALUE_PARAMETER kind:ExtensionReceiver name:<this> index:1 type:<root>.Foo
    BLOCK_BODY
  FUN name:foo visibility:public modality:FINAL returnType:kotlin.Unit
    VALUE_PARAMETER kind:Context name:s index:0 type:kotlin.String
    VALUE_PARAMETER kind:Regular name:p index:1 type:kotlin.Int
      EXPRESSION_BODY
        CONST Int type=kotlin.Int value=1
    BLOCK_BODY
  FUN name:test visibility:public modality:FINAL returnType:kotlin.Unit
    VALUE_PARAMETER UNDERSCORE_PARAMETER kind:Context name:$context-Foo index:0 type:<root>.Foo
    VALUE_PARAMETER kind:ExtensionReceiver name:<this> index:1 type:kotlin.String
    BLOCK_BODY
      VAR name:suspendConversion type:kotlin.coroutines.SuspendFunction1<kotlin.Int, kotlin.Unit> [val]
        RICH_FUNCTION_REFERENCE type=kotlin.coroutines.SuspendFunction1<kotlin.Int, kotlin.Unit> origin=null [suspend_conversion] reflectionTarget='public final fun foo (s: kotlin.String, p: kotlin.Int): kotlin.Unit declared in <root>'
          overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.coroutines.SuspendFunction1): R of kotlin.coroutines.SuspendFunction1 declared in kotlin.coroutines.SuspendFunction1
          bound c0: GET_VAR '<this>: kotlin.String declared in <root>.test' type=kotlin.String origin=IMPLICIT_ARGUMENT
          invoke: FUN ADAPTER_FOR_CALLABLE_REFERENCE name:foo visibility:local modality:FINAL returnType:kotlin.Unit [suspend]
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:c0 index:0 type:kotlin.String
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:1 type:kotlin.Int
            BLOCK_BODY
              CALL 'public final fun foo (s: kotlin.String, p: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                ARG s: GET_VAR 'c0: kotlin.String declared in <root>.test.foo' type=kotlin.String origin=ADAPTED_FUNCTION_REFERENCE
                ARG p: GET_VAR 'p0: kotlin.Int declared in <root>.test.foo' type=kotlin.Int origin=null
      VAR name:default type:kotlin.Function0<kotlin.Unit> [val]
        RICH_FUNCTION_REFERENCE type=kotlin.Function0<kotlin.Unit> origin=null reflectionTarget='public final fun foo (s: kotlin.String, p: kotlin.Int): kotlin.Unit declared in <root>'
          overriddenFunctionSymbol: public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0
          bound c0: GET_VAR '<this>: kotlin.String declared in <root>.test' type=kotlin.String origin=IMPLICIT_ARGUMENT
          invoke: FUN ADAPTER_FOR_CALLABLE_REFERENCE name:foo visibility:local modality:FINAL returnType:kotlin.Unit
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:c0 index:0 type:kotlin.String
            BLOCK_BODY
              CALL 'public final fun foo (s: kotlin.String, p: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                ARG s: GET_VAR 'c0: kotlin.String declared in <root>.test.foo' type=kotlin.String origin=ADAPTED_FUNCTION_REFERENCE
      VAR name:vararg0 type:kotlin.Function0<kotlin.Unit> [val]
        RICH_FUNCTION_REFERENCE type=kotlin.Function0<kotlin.Unit> origin=null [vararg_conversion] reflectionTarget='public final fun bar (s: kotlin.String, vararg p: kotlin.Int): kotlin.Unit declared in <root>'
          overriddenFunctionSymbol: public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0
          bound c0: GET_VAR '<this>: kotlin.String declared in <root>.test' type=kotlin.String origin=IMPLICIT_ARGUMENT
          invoke: FUN ADAPTER_FOR_CALLABLE_REFERENCE name:bar visibility:local modality:FINAL returnType:kotlin.Unit
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:c0 index:0 type:kotlin.String
            BLOCK_BODY
              CALL 'public final fun bar (s: kotlin.String, vararg p: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                ARG s: GET_VAR 'c0: kotlin.String declared in <root>.test.bar' type=kotlin.String origin=ADAPTED_FUNCTION_REFERENCE
      VAR name:vararg1 type:kotlin.Function1<kotlin.Int, kotlin.Unit> [val]
        RICH_FUNCTION_REFERENCE type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=null [vararg_conversion] reflectionTarget='public final fun bar (s: kotlin.String, vararg p: kotlin.Int): kotlin.Unit declared in <root>'
          overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.Function1): R of kotlin.Function1 declared in kotlin.Function1
          bound c0: GET_VAR '<this>: kotlin.String declared in <root>.test' type=kotlin.String origin=IMPLICIT_ARGUMENT
          invoke: FUN ADAPTER_FOR_CALLABLE_REFERENCE name:bar visibility:local modality:FINAL returnType:kotlin.Unit
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:c0 index:0 type:kotlin.String
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:1 type:kotlin.Int
            BLOCK_BODY
              CALL 'public final fun bar (s: kotlin.String, vararg p: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                ARG s: GET_VAR 'c0: kotlin.String declared in <root>.test.bar' type=kotlin.String origin=ADAPTED_FUNCTION_REFERENCE
                ARG p: VARARG type=kotlin.IntArray varargElementType=kotlin.Int
                  GET_VAR 'p0: kotlin.Int declared in <root>.test.bar' type=kotlin.Int origin=null
      VAR name:vararg2 type:kotlin.Function2<kotlin.Int, kotlin.Int, kotlin.Unit> [val]
        RICH_FUNCTION_REFERENCE type=kotlin.Function2<kotlin.Int, kotlin.Int, kotlin.Unit> origin=null [vararg_conversion] reflectionTarget='public final fun bar (s: kotlin.String, vararg p: kotlin.Int): kotlin.Unit declared in <root>'
          overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.Function2, p2: P2 of kotlin.Function2): R of kotlin.Function2 declared in kotlin.Function2
          bound c0: GET_VAR '<this>: kotlin.String declared in <root>.test' type=kotlin.String origin=IMPLICIT_ARGUMENT
          invoke: FUN ADAPTER_FOR_CALLABLE_REFERENCE name:bar visibility:local modality:FINAL returnType:kotlin.Unit
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:c0 index:0 type:kotlin.String
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:1 type:kotlin.Int
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p1 index:2 type:kotlin.Int
            BLOCK_BODY
              CALL 'public final fun bar (s: kotlin.String, vararg p: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                ARG s: GET_VAR 'c0: kotlin.String declared in <root>.test.bar' type=kotlin.String origin=ADAPTED_FUNCTION_REFERENCE
                ARG p: VARARG type=kotlin.IntArray varargElementType=kotlin.Int
                  GET_VAR 'p0: kotlin.Int declared in <root>.test.bar' type=kotlin.Int origin=null
                  GET_VAR 'p1: kotlin.Int declared in <root>.test.bar' type=kotlin.Int origin=null
      VAR name:restricted1 type:kotlin.reflect.KSuspendFunction1<<root>.Foo, kotlin.Unit> [val]
        RICH_FUNCTION_REFERENCE type=kotlin.reflect.KSuspendFunction1<<root>.Foo, kotlin.Unit> origin=null [restricted_suspension] reflectionTarget='public final fun foo ($context-String: kotlin.String): kotlin.Unit declared in <root>.Foo'
          overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KSuspendFunction1): R of kotlin.reflect.KSuspendFunction1 declared in kotlin.reflect.KSuspendFunction1
          bound c0: GET_VAR '<this>: kotlin.String declared in <root>.test' type=kotlin.String origin=IMPLICIT_ARGUMENT
          invoke: FUN LOCAL_FUNCTION_FOR_LAMBDA name:foo visibility:local modality:FINAL returnType:kotlin.Unit [suspend]
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:c0 index:0 type:kotlin.String
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:1 type:<root>.Foo
            BLOCK_BODY
              CALL 'public final fun foo ($context-String: kotlin.String): kotlin.Unit declared in <root>.Foo' type=kotlin.Unit origin=null
                ARG <this>: GET_VAR 'p0: <root>.Foo declared in <root>.test.foo' type=<root>.Foo origin=null
                ARG $context-String: GET_VAR 'c0: kotlin.String declared in <root>.test.foo' type=kotlin.String origin=ADAPTED_FUNCTION_REFERENCE
      VAR name:restricted2 type:@[ExtensionFunctionType] kotlin.reflect.KSuspendFunction1<<root>.Foo, kotlin.Unit> [val]
        RICH_FUNCTION_REFERENCE type=@[ExtensionFunctionType] kotlin.reflect.KSuspendFunction1<<root>.Foo, kotlin.Unit> origin=null [restricted_suspension] reflectionTarget='public final fun baz ($context-String: kotlin.String, <this>: <root>.Foo): kotlin.Unit declared in <root>'
          overriddenFunctionSymbol: public abstract fun invoke (p1: P1 of kotlin.reflect.KSuspendFunction1): R of kotlin.reflect.KSuspendFunction1 declared in kotlin.reflect.KSuspendFunction1
          bound c0: GET_VAR '<this>: kotlin.String declared in <root>.test' type=kotlin.String origin=IMPLICIT_ARGUMENT
          invoke: FUN LOCAL_FUNCTION_FOR_LAMBDA name:baz visibility:local modality:FINAL returnType:kotlin.Unit [suspend]
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:c0 index:0 type:kotlin.String
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:1 type:<root>.Foo
            BLOCK_BODY
              CALL 'public final fun baz ($context-String: kotlin.String, <this>: <root>.Foo): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                ARG $context-String: GET_VAR 'c0: kotlin.String declared in <root>.test.baz' type=kotlin.String origin=ADAPTED_FUNCTION_REFERENCE
                ARG <this>: GET_VAR 'p0: <root>.Foo declared in <root>.test.baz' type=<root>.Foo origin=null
      VAR name:restricted3 type:kotlin.reflect.KSuspendFunction0<kotlin.Unit> [val]
        RICH_FUNCTION_REFERENCE type=kotlin.reflect.KSuspendFunction0<kotlin.Unit> origin=null [restricted_suspension] reflectionTarget='public final fun baz ($context-Foo: <root>.Foo): kotlin.Unit declared in <root>'
          overriddenFunctionSymbol: public abstract fun invoke (): R of kotlin.reflect.KSuspendFunction0 declared in kotlin.reflect.KSuspendFunction0
          bound c0: GET_VAR '$context-Foo: <root>.Foo declared in <root>.test' type=<root>.Foo origin=null
          invoke: FUN LOCAL_FUNCTION_FOR_LAMBDA name:baz visibility:local modality:FINAL returnType:kotlin.Unit [suspend]
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:c0 index:0 type:<root>.Foo
            BLOCK_BODY
              CALL 'public final fun baz ($context-Foo: <root>.Foo): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                ARG $context-Foo: GET_VAR 'c0: <root>.Foo declared in <root>.test.baz' type=<root>.Foo origin=ADAPTED_FUNCTION_REFERENCE
