FILE fqName:<root> fileName:/delegatedImplementationWithExplicitOverride.kt
  CLASS INTERFACE name:IFooBar modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IFooBar flags:[]
    FUN name:foo visibility:public modality:ABSTRACT <> ($this:<root>.IFooBar) returnType:kotlin.Unit flags:[]
      $this: VALUE_PARAMETER name:<this> type:<root>.IFooBar flags:[]
    FUN name:bar visibility:public modality:ABSTRACT <> ($this:<root>.IFooBar) returnType:kotlin.Unit flags:[]
      $this: VALUE_PARAMETER name:<this> type:<root>.IFooBar 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:[]
  CLASS OBJECT name:FooBarImpl modality:FINAL visibility:public flags:[] superTypes:[<root>.IFooBar]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.FooBarImpl flags:[]
    CONSTRUCTOR visibility:private <> () returnType:<root>.FooBarImpl flags:[primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:FooBarImpl modality:FINAL visibility:public flags:[] superTypes:[<root>.IFooBar]'
    FUN name:foo visibility:public modality:OPEN <> ($this:<root>.FooBarImpl) returnType:kotlin.Unit flags:[]
      overridden:
        FUN name:foo visibility:public modality:ABSTRACT <> ($this:<root>.IFooBar) returnType:kotlin.Unit flags:[]
      $this: VALUE_PARAMETER name:<this> type:<root>.FooBarImpl flags:[]
      BLOCK_BODY
    FUN name:bar visibility:public modality:OPEN <> ($this:<root>.FooBarImpl) returnType:kotlin.Unit flags:[]
      overridden:
        FUN name:bar visibility:public modality:ABSTRACT <> ($this:<root>.IFooBar) returnType:kotlin.Unit flags:[]
      $this: VALUE_PARAMETER name:<this> type:<root>.FooBarImpl flags:[]
      BLOCK_BODY
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
      overridden:
        FUN FAKE_OVERRIDE 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 FAKE_OVERRIDE 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 FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
  CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[<root>.IFooBar]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C flags:[]
    CONSTRUCTOR visibility:public <> () returnType:<root>.C 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:C modality:FINAL visibility:public flags:[] superTypes:[<root>.IFooBar]'
    FIELD DELEGATE name:C$IFooBar$delegate type:<root>.FooBarImpl visibility:private flags:[final]
      EXPRESSION_BODY
        GET_OBJECT 'CLASS OBJECT name:FooBarImpl modality:FINAL visibility:public flags:[] superTypes:[<root>.IFooBar]' type=<root>.FooBarImpl
    FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:<root>.C) returnType:kotlin.Unit flags:[]
      overridden:
        FUN name:foo visibility:public modality:ABSTRACT <> ($this:<root>.IFooBar) returnType:kotlin.Unit flags:[]
      $this: VALUE_PARAMETER name:<this> type:<root>.C flags:[]
      BLOCK_BODY
        CALL 'FUN name:foo visibility:public modality:ABSTRACT <> ($this:<root>.IFooBar) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null
          $this: GET_FIELD 'FIELD DELEGATE name:C$IFooBar$delegate type:<root>.FooBarImpl visibility:private flags:[final]' type=<root>.FooBarImpl origin=null
            receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.C flags:[]' type=<root>.C origin=null
    FUN name:bar visibility:public modality:OPEN <> ($this:<root>.C) returnType:kotlin.Unit flags:[]
      overridden:
        FUN name:bar visibility:public modality:ABSTRACT <> ($this:<root>.IFooBar) returnType:kotlin.Unit flags:[]
      $this: VALUE_PARAMETER name:<this> type:<root>.C flags:[]
      BLOCK_BODY
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
      overridden:
        FUN FAKE_OVERRIDE 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 FAKE_OVERRIDE 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 FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
