FILE fqName:<root> fileName:/genericInnerClass.kt
  CLASS CLASS name:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer<<root>.Outer.T1> flags:[]
    TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
    CONSTRUCTOR visibility:public <> () returnType:<root>.Outer<<root>.Outer.T1> 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:Outer modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
    CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]
      $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer.Inner<<root>.Outer.Inner.T2, <root>.Outer.T1> flags:[]
      TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?]
      CONSTRUCTOR visibility:public <> ($this:<root>.Outer<<root>.Outer.T1>) returnType:<root>.Outer.Inner<<root>.Outer.Inner.T2, <root>.Outer.T1> flags:[primary]
        $outer: VALUE_PARAMETER name:<this> type:<root>.Outer<<root>.Outer.T1> flags:[]
        BLOCK_BODY
          DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
          INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]'
      FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Outer.Inner<<root>.Outer.Inner.T2, <root>.Outer.T1>, x1:<root>.Outer.T1, x2:<root>.Outer.Inner.T2) returnType:kotlin.Unit flags:[]
        $this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner<<root>.Outer.Inner.T2, <root>.Outer.T1> flags:[]
        VALUE_PARAMETER name:x1 index:0 type:<root>.Outer.T1 flags:[]
        VALUE_PARAMETER name:x2 index:1 type:<root>.Outer.Inner.T2 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:[]
    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:[]
