FILE fqName:<root> fileName:/withArgumentAdaptationAndReceiver.kt
  CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.Host
    CONSTRUCTOR visibility:public returnType:<root>.Host [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host 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:testBoundReceiverExpression visibility:public modality:FINAL returnType:kotlin.Unit
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Host
      BLOCK_BODY
        CALL 'public final fun use (fn: kotlin.Function1<kotlin.Int, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
          ARG fn: BLOCK type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=ADAPTED_FUNCTION_REFERENCE
            FUN ADAPTER_FOR_CALLABLE_REFERENCE name:withVararg visibility:local modality:FINAL returnType:kotlin.Unit
              VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:ExtensionReceiver name:receiver index:0 type:<root>.Host
              VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:1 type:kotlin.Int
              BLOCK_BODY
                TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
                  CALL 'public final fun withVararg (vararg xs: kotlin.Int): kotlin.String declared in <root>.Host' type=kotlin.String origin=null
                    ARG <this>: GET_VAR 'receiver: <root>.Host declared in <root>.Host.testBoundReceiverExpression.withVararg' type=<root>.Host origin=ADAPTED_FUNCTION_REFERENCE
                    ARG xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int
                      GET_VAR 'p0: kotlin.Int declared in <root>.Host.testBoundReceiverExpression.withVararg' type=kotlin.Int origin=null
            FUNCTION_REFERENCE 'local final fun withVararg (receiver: <root>.Host, p0: kotlin.Int): kotlin.Unit declared in <root>.Host.testBoundReceiverExpression' type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=ADAPTED_FUNCTION_REFERENCE reflectionTarget=public final fun withVararg (vararg xs: kotlin.Int): kotlin.String declared in <root>.Host
              ARG receiver: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Host' type=<root>.Host origin=null
    FUN name:testBoundReceiverLocalVal visibility:public modality:FINAL returnType:kotlin.Unit
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Host
      BLOCK_BODY
        VAR name:h type:<root>.Host [val]
          CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Host' type=<root>.Host origin=null
        CALL 'public final fun use (fn: kotlin.Function1<kotlin.Int, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
          ARG fn: BLOCK type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=ADAPTED_FUNCTION_REFERENCE
            FUN ADAPTER_FOR_CALLABLE_REFERENCE name:withVararg visibility:local modality:FINAL returnType:kotlin.Unit
              VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:ExtensionReceiver name:receiver index:0 type:<root>.Host
              VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:1 type:kotlin.Int
              BLOCK_BODY
                TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
                  CALL 'public final fun withVararg (vararg xs: kotlin.Int): kotlin.String declared in <root>.Host' type=kotlin.String origin=null
                    ARG <this>: GET_VAR 'receiver: <root>.Host declared in <root>.Host.testBoundReceiverLocalVal.withVararg' type=<root>.Host origin=ADAPTED_FUNCTION_REFERENCE
                    ARG xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int
                      GET_VAR 'p0: kotlin.Int declared in <root>.Host.testBoundReceiverLocalVal.withVararg' type=kotlin.Int origin=null
            FUNCTION_REFERENCE 'local final fun withVararg (receiver: <root>.Host, p0: kotlin.Int): kotlin.Unit declared in <root>.Host.testBoundReceiverLocalVal' type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=ADAPTED_FUNCTION_REFERENCE reflectionTarget=public final fun withVararg (vararg xs: kotlin.Int): kotlin.String declared in <root>.Host
              ARG receiver: GET_VAR 'val h: <root>.Host declared in <root>.Host.testBoundReceiverLocalVal' type=<root>.Host origin=null
    FUN name:testBoundReceiverLocalVar visibility:public modality:FINAL returnType:kotlin.Unit
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Host
      BLOCK_BODY
        VAR name:h type:<root>.Host [var]
          CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Host' type=<root>.Host origin=null
        CALL 'public final fun use (fn: kotlin.Function1<kotlin.Int, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
          ARG fn: BLOCK type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=ADAPTED_FUNCTION_REFERENCE
            FUN ADAPTER_FOR_CALLABLE_REFERENCE name:withVararg visibility:local modality:FINAL returnType:kotlin.Unit
              VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:ExtensionReceiver name:receiver index:0 type:<root>.Host
              VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:1 type:kotlin.Int
              BLOCK_BODY
                TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
                  CALL 'public final fun withVararg (vararg xs: kotlin.Int): kotlin.String declared in <root>.Host' type=kotlin.String origin=null
                    ARG <this>: GET_VAR 'receiver: <root>.Host declared in <root>.Host.testBoundReceiverLocalVar.withVararg' type=<root>.Host origin=ADAPTED_FUNCTION_REFERENCE
                    ARG xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int
                      GET_VAR 'p0: kotlin.Int declared in <root>.Host.testBoundReceiverLocalVar.withVararg' type=kotlin.Int origin=null
            FUNCTION_REFERENCE 'local final fun withVararg (receiver: <root>.Host, p0: kotlin.Int): kotlin.Unit declared in <root>.Host.testBoundReceiverLocalVar' type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=ADAPTED_FUNCTION_REFERENCE reflectionTarget=public final fun withVararg (vararg xs: kotlin.Int): kotlin.String declared in <root>.Host
              ARG receiver: GET_VAR 'var h: <root>.Host declared in <root>.Host.testBoundReceiverLocalVar' type=<root>.Host origin=null
    FUN name:testBoundReceiverParameter visibility:public modality:FINAL returnType:kotlin.Unit
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Host
      VALUE_PARAMETER kind:Regular name:h index:1 type:<root>.Host
      BLOCK_BODY
        CALL 'public final fun use (fn: kotlin.Function1<kotlin.Int, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
          ARG fn: BLOCK type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=ADAPTED_FUNCTION_REFERENCE
            FUN ADAPTER_FOR_CALLABLE_REFERENCE name:withVararg visibility:local modality:FINAL returnType:kotlin.Unit
              VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:ExtensionReceiver name:receiver index:0 type:<root>.Host
              VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:1 type:kotlin.Int
              BLOCK_BODY
                TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
                  CALL 'public final fun withVararg (vararg xs: kotlin.Int): kotlin.String declared in <root>.Host' type=kotlin.String origin=null
                    ARG <this>: GET_VAR 'receiver: <root>.Host declared in <root>.Host.testBoundReceiverParameter.withVararg' type=<root>.Host origin=ADAPTED_FUNCTION_REFERENCE
                    ARG xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int
                      GET_VAR 'p0: kotlin.Int declared in <root>.Host.testBoundReceiverParameter.withVararg' type=kotlin.Int origin=null
            FUNCTION_REFERENCE 'local final fun withVararg (receiver: <root>.Host, p0: kotlin.Int): kotlin.Unit declared in <root>.Host.testBoundReceiverParameter' type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=ADAPTED_FUNCTION_REFERENCE reflectionTarget=public final fun withVararg (vararg xs: kotlin.Int): kotlin.String declared in <root>.Host
              ARG receiver: GET_VAR 'h: <root>.Host declared in <root>.Host.testBoundReceiverParameter' type=<root>.Host origin=null
    FUN name:testImplicitThis visibility:public modality:FINAL returnType:kotlin.Unit
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Host
      BLOCK_BODY
        CALL 'public final fun use (fn: kotlin.Function1<kotlin.Int, kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
          ARG fn: BLOCK type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=ADAPTED_FUNCTION_REFERENCE
            FUN ADAPTER_FOR_CALLABLE_REFERENCE name:withVararg visibility:local modality:FINAL returnType:kotlin.Unit
              VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:ExtensionReceiver name:receiver index:0 type:<root>.Host
              VALUE_PARAMETER ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE kind:Regular name:p0 index:1 type:kotlin.Int
              BLOCK_BODY
                TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
                  CALL 'public final fun withVararg (vararg xs: kotlin.Int): kotlin.String declared in <root>.Host' type=kotlin.String origin=null
                    ARG <this>: GET_VAR 'receiver: <root>.Host declared in <root>.Host.testImplicitThis.withVararg' type=<root>.Host origin=ADAPTED_FUNCTION_REFERENCE
                    ARG xs: VARARG type=kotlin.IntArray varargElementType=kotlin.Int
                      GET_VAR 'p0: kotlin.Int declared in <root>.Host.testImplicitThis.withVararg' type=kotlin.Int origin=null
            FUNCTION_REFERENCE 'local final fun withVararg (receiver: <root>.Host, p0: kotlin.Int): kotlin.Unit declared in <root>.Host.testImplicitThis' type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=ADAPTED_FUNCTION_REFERENCE reflectionTarget=public final fun withVararg (vararg xs: kotlin.Int): kotlin.String declared in <root>.Host
              ARG receiver: GET_VAR '<this>: <root>.Host declared in <root>.Host.testImplicitThis' type=<root>.Host origin=null
    FUN name:withVararg visibility:public modality:FINAL returnType:kotlin.String
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Host
      VALUE_PARAMETER kind:Regular name:xs index:1 type:kotlin.IntArray varargElementType:kotlin.Int [vararg]
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun withVararg (vararg xs: kotlin.Int): kotlin.String declared in <root>.Host'
          CONST String type=kotlin.String value=""
  FUN name:use visibility:public modality:FINAL returnType:kotlin.Unit
    VALUE_PARAMETER kind:Regular name:fn index:0 type:kotlin.Function1<kotlin.Int, 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
        ARG <this>: GET_VAR 'fn: kotlin.Function1<kotlin.Int, kotlin.Unit> declared in <root>.use' type=kotlin.Function1<kotlin.Int, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
        ARG p1: CONST Int type=kotlin.Int value=1
