FILE fqName:<root> fileName:/fun.kt
  FUN name:test1 visibility:public modality:FINAL <T> (i:kotlin.Int, j:<root>.test1.T) returnType:kotlin.Unit flags:[]
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
    VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]
    VALUE_PARAMETER name:j index:1 type:<root>.test1.T flags:[]
    BLOCK_BODY
  FUN name:test2 visibility:public modality:FINAL <> (i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit flags:[]
    VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]
      EXPRESSION_BODY
        CONST Int type=kotlin.Int value=0
    VALUE_PARAMETER name:j index:1 type:kotlin.String flags:[]
      EXPRESSION_BODY
        CONST String type=kotlin.String value=""
    BLOCK_BODY
  FUN name:test3 visibility:public modality:FINAL <> (args:kotlin.Array<out kotlin.String>) returnType:kotlin.Unit flags:[]
    VALUE_PARAMETER name:args index:0 type:kotlin.Array<out kotlin.String> varargElementType:kotlin.String flags:[vararg]
    BLOCK_BODY
  FUN name:textExt1 visibility:public modality:FINAL <> ($receiver:kotlin.String, i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit flags:[]
    $receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:[]
    VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]
    VALUE_PARAMETER name:j index:1 type:kotlin.String flags:[]
    BLOCK_BODY
  CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host flags:[]
    CONSTRUCTOR visibility:public <> () returnType:<root>.Host flags:[primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
    FUN name:testMembetExt1 visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:kotlin.String, i:kotlin.Int, j:kotlin.String) returnType:kotlin.Unit flags:[]
      $this: VALUE_PARAMETER name:<this> type:<root>.Host flags:[]
      $receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:[]
      VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]
      VALUE_PARAMETER name:j index:1 type:kotlin.String flags:[]
      BLOCK_BODY
    FUN name:testMembetExt2 visibility:public modality:FINAL <T> ($this:<root>.Host, $receiver:kotlin.String, i:kotlin.Int, j:<root>.Host.testMembetExt2.T) returnType:kotlin.Unit flags:[]
      TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
      $this: VALUE_PARAMETER name:<this> type:<root>.Host flags:[]
      $receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:[]
      VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]
      VALUE_PARAMETER name:j index:1 type:<root>.Host.testMembetExt2.T flags:[]
      BLOCK_BODY
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
