FILE fqName: fileName:/clashingFakeOverrideSignatures.kt CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base.Base> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Base.Base> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo visibility:public modality:FINAL <> ($this:.Base.Base>, x:T of .Base) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.Base.Base> VALUE_PARAMETER name:x index:0 type:T of .Base BLOCK_BODY FUN name:foo visibility:public modality:FINAL <> ($this:.Base.Base>, y:kotlin.String) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.Base.Base> VALUE_PARAMETER name:y index:0 type:kotlin.String BLOCK_BODY PROPERTY name:bar visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL <> ($this:.Base.Base>, $receiver:T of .Base) returnType:kotlin.Int correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Base.Base> $receiver: VALUE_PARAMETER name: type:T of .Base BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Base' CONST Int type=kotlin.Int value=1 PROPERTY name:bar visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL <> ($this:.Base.Base>, $receiver:kotlin.String) returnType:kotlin.Int correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Base.Base> $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Base' CONST Int type=kotlin.Int value=2 CLASS CLASS name:BaseXY modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.BaseXY.BaseXY, Y of .BaseXY> TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false TYPE_PARAMETER name:Y index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.BaseXY.BaseXY, Y of .BaseXY> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseXY modality:OPEN visibility:public superTypes:[kotlin.Any]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo visibility:public modality:FINAL <> ($this:.BaseXY.BaseXY, Y of .BaseXY>, x:X of .BaseXY, y:kotlin.String) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.BaseXY.BaseXY, Y of .BaseXY> VALUE_PARAMETER name:x index:0 type:X of .BaseXY VALUE_PARAMETER name:y index:1 type:kotlin.String BLOCK_BODY FUN name:foo visibility:public modality:FINAL <> ($this:.BaseXY.BaseXY, Y of .BaseXY>, x:kotlin.String, y:Y of .BaseXY) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.BaseXY.BaseXY, Y of .BaseXY> VALUE_PARAMETER name:x index:0 type:kotlin.String VALUE_PARAMETER name:y index:1 type:Y of .BaseXY BLOCK_BODY CLASS CLASS name:Derived modality:OPEN visibility:public superTypes:[.Base] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived CONSTRUCTOR visibility:public <> () returnType:.Derived [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Base' : kotlin.String INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:OPEN visibility:public superTypes:[.Base]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Base $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Base, x:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (x: T of .Base): kotlin.Unit declared in .Base $this: VALUE_PARAMETER name: type:.Base VALUE_PARAMETER name:x index:0 type:kotlin.String FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Base, y:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (y: kotlin.String): kotlin.Unit declared in .Base $this: VALUE_PARAMETER name: type:.Base VALUE_PARAMETER name:y index:0 type:kotlin.String FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in .Base $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in .Base $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final bar: kotlin.Int FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in .Base $this: VALUE_PARAMETER name: type:.Base $receiver: VALUE_PARAMETER name: type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final bar: kotlin.Int FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in .Base $this: VALUE_PARAMETER name: type:.Base $receiver: VALUE_PARAMETER name: type:kotlin.String CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[.Derived] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived2 CONSTRUCTOR visibility:public <> () returnType:.Derived2 [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Derived' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[.Derived]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Derived $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Base, x:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (x: kotlin.String): kotlin.Unit declared in .Derived $this: VALUE_PARAMETER name: type:.Base VALUE_PARAMETER name:x index:0 type:kotlin.String FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Base, y:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (y: kotlin.String): kotlin.Unit declared in .Derived $this: VALUE_PARAMETER name: type:.Base VALUE_PARAMETER name:y index:0 type:kotlin.String FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in .Derived $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in .Derived $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final bar: kotlin.Int FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in .Derived $this: VALUE_PARAMETER name: type:.Base $receiver: VALUE_PARAMETER name: type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final bar: kotlin.Int FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Base, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in .Derived $this: VALUE_PARAMETER name: type:.Base $receiver: VALUE_PARAMETER name: type:kotlin.String CLASS CLASS name:DerivedXY modality:FINAL visibility:public superTypes:[.BaseXY] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DerivedXY CONSTRUCTOR visibility:public <> () returnType:.DerivedXY [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .BaseXY' : kotlin.String : kotlin.String INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DerivedXY modality:FINAL visibility:public superTypes:[.BaseXY]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .BaseXY $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.BaseXY, x:kotlin.String, y:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (x: X of .BaseXY, y: kotlin.String): kotlin.Unit declared in .BaseXY $this: VALUE_PARAMETER name: type:.BaseXY VALUE_PARAMETER name:x index:0 type:kotlin.String VALUE_PARAMETER name:y index:1 type:kotlin.String FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.BaseXY, x:kotlin.String, y:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (x: kotlin.String, y: Y of .BaseXY): kotlin.Unit declared in .BaseXY $this: VALUE_PARAMETER name: type:.BaseXY VALUE_PARAMETER name:x index:0 type:kotlin.String VALUE_PARAMETER name:y index:1 type:kotlin.String FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in .BaseXY $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in .BaseXY $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Outer modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Outer> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner.Outer> CONSTRUCTOR visibility:public <> ($this:.Outer.Outer>) returnType:.Outer.Inner.Outer> [primary] $outer: VALUE_PARAMETER name: type:.Outer.Outer> BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo visibility:public modality:FINAL <> ($this:.Outer.Inner.Outer>, x:T of .Outer) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.Outer.Inner.Outer> VALUE_PARAMETER name:x index:0 type:T of .Outer BLOCK_BODY FUN name:foo visibility:public modality:FINAL <> ($this:.Outer.Inner.Outer>, y:kotlin.String) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.Outer.Inner.Outer> VALUE_PARAMETER name:y index:0 type:kotlin.String BLOCK_BODY CONSTRUCTOR visibility:public <> () returnType:.Outer.Outer> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:OPEN visibility:public superTypes:[kotlin.Any]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:OuterDerived modality:FINAL visibility:public superTypes:[.Outer] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.OuterDerived CLASS CLASS name:InnerDerived modality:FINAL visibility:public [inner] superTypes:[.Outer.Inner] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.OuterDerived.InnerDerived CONSTRUCTOR visibility:public <> ($this:.OuterDerived) returnType:.OuterDerived.InnerDerived [primary] $outer: VALUE_PARAMETER name: type:.OuterDerived BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Outer.Inner' $this: GET_VAR ': .OuterDerived declared in .OuterDerived.InnerDerived.' type=.OuterDerived origin=null INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InnerDerived modality:FINAL visibility:public [inner] superTypes:[.Outer.Inner]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Outer.Inner $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Outer.Inner, x:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (x: T of .Outer): kotlin.Unit declared in .Outer.Inner $this: VALUE_PARAMETER name: type:.Outer.Inner VALUE_PARAMETER name:x index:0 type:kotlin.String FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Outer.Inner, y:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (y: kotlin.String): kotlin.Unit declared in .Outer.Inner $this: VALUE_PARAMETER name: type:.Outer.Inner VALUE_PARAMETER name:y index:0 type:kotlin.String FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in .Outer.Inner $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in .Outer.Inner $this: VALUE_PARAMETER name: type:kotlin.Any CONSTRUCTOR visibility:public <> () returnType:.OuterDerived [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Outer' : kotlin.String INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:OuterDerived modality:FINAL visibility:public superTypes:[.Outer]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Outer $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in .Outer $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in .Outer $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:outerFun visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY CLASS CLASS name:LocalBase modality:OPEN visibility:local superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outerFun.LocalBase.outerFun.LocalBase> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.outerFun.LocalBase.outerFun.LocalBase> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:LocalBase modality:OPEN visibility:local superTypes:[kotlin.Any]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo visibility:public modality:FINAL <> ($this:.outerFun.LocalBase.outerFun.LocalBase>, x:T of .outerFun.LocalBase) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.outerFun.LocalBase.outerFun.LocalBase> VALUE_PARAMETER name:x index:0 type:T of .outerFun.LocalBase BLOCK_BODY FUN name:foo visibility:public modality:FINAL <> ($this:.outerFun.LocalBase.outerFun.LocalBase>, y:kotlin.String) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.outerFun.LocalBase.outerFun.LocalBase> VALUE_PARAMETER name:y index:0 type:kotlin.String BLOCK_BODY PROPERTY name:bar visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL <> ($this:.outerFun.LocalBase.outerFun.LocalBase>, $receiver:T of .outerFun.LocalBase) returnType:kotlin.Int correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.outerFun.LocalBase.outerFun.LocalBase> $receiver: VALUE_PARAMETER name: type:T of .outerFun.LocalBase BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .outerFun.LocalBase' CONST Int type=kotlin.Int value=1 PROPERTY name:bar visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL <> ($this:.outerFun.LocalBase.outerFun.LocalBase>, $receiver:kotlin.String) returnType:kotlin.Int correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.outerFun.LocalBase.outerFun.LocalBase> $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .outerFun.LocalBase' CONST Int type=kotlin.Int value=2 CLASS CLASS name:LocalDerived modality:OPEN visibility:local superTypes:[.outerFun.LocalBase] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outerFun.LocalDerived CONSTRUCTOR visibility:public <> () returnType:.outerFun.LocalDerived [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .outerFun.LocalBase' : kotlin.String INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:LocalDerived modality:OPEN visibility:local superTypes:[.outerFun.LocalBase]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .outerFun.LocalBase $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, x:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (x: T of .outerFun.LocalBase): kotlin.Unit declared in .outerFun.LocalBase $this: VALUE_PARAMETER name: type:.outerFun.LocalBase VALUE_PARAMETER name:x index:0 type:kotlin.String FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, y:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (y: kotlin.String): kotlin.Unit declared in .outerFun.LocalBase $this: VALUE_PARAMETER name: type:.outerFun.LocalBase VALUE_PARAMETER name:y index:0 type:kotlin.String FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in .outerFun.LocalBase $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in .outerFun.LocalBase $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final bar: kotlin.Int FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in .outerFun.LocalBase $this: VALUE_PARAMETER name: type:.outerFun.LocalBase $receiver: VALUE_PARAMETER name: type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final bar: kotlin.Int FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in .outerFun.LocalBase $this: VALUE_PARAMETER name: type:.outerFun.LocalBase $receiver: VALUE_PARAMETER name: type:kotlin.String CLASS CLASS name:LocalDerived2 modality:FINAL visibility:local superTypes:[.outerFun.LocalDerived] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outerFun.LocalDerived2 CONSTRUCTOR visibility:public <> () returnType:.outerFun.LocalDerived2 [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .outerFun.LocalDerived' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:LocalDerived2 modality:FINAL visibility:local superTypes:[.outerFun.LocalDerived]' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .outerFun.LocalDerived $this: VALUE_PARAMETER name: type:kotlin.Any VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, x:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (x: kotlin.String): kotlin.Unit declared in .outerFun.LocalDerived $this: VALUE_PARAMETER name: type:.outerFun.LocalBase VALUE_PARAMETER name:x index:0 type:kotlin.String FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, y:kotlin.String) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (y: kotlin.String): kotlin.Unit declared in .outerFun.LocalDerived $this: VALUE_PARAMETER name: type:.outerFun.LocalBase VALUE_PARAMETER name:y index:0 type:kotlin.String FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] overridden: public open fun hashCode (): kotlin.Int declared in .outerFun.LocalDerived $this: VALUE_PARAMETER name: type:kotlin.Any FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in .outerFun.LocalDerived $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final bar: kotlin.Int FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in .outerFun.LocalDerived $this: VALUE_PARAMETER name: type:.outerFun.LocalBase $receiver: VALUE_PARAMETER name: type:kotlin.String PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final bar: kotlin.Int FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.outerFun.LocalBase, $receiver:kotlin.String) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in .outerFun.LocalDerived $this: VALUE_PARAMETER name: type:.outerFun.LocalBase $receiver: VALUE_PARAMETER name: type:kotlin.String FUN LOCAL_FUNCTION name:test visibility:local modality:FINAL <> (b:.outerFun.LocalBase, d:.outerFun.LocalDerived, d2:.outerFun.LocalDerived2) returnType:kotlin.Unit VALUE_PARAMETER name:b index:0 type:.outerFun.LocalBase VALUE_PARAMETER name:d index:1 type:.outerFun.LocalDerived VALUE_PARAMETER name:d2 index:2 type:.outerFun.LocalDerived2 BLOCK_BODY CALL 'public final fun foo (x: T of .outerFun.LocalBase): kotlin.Unit declared in .outerFun.LocalBase' type=kotlin.Unit origin=null $this: GET_VAR 'b: .outerFun.LocalBase declared in .outerFun.test' type=.outerFun.LocalBase origin=null x: CONST String type=kotlin.String value="" CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in .outerFun.LocalBase' type=kotlin.Unit origin=null $this: GET_VAR 'b: .outerFun.LocalBase declared in .outerFun.test' type=.outerFun.LocalBase origin=null y: CONST String type=kotlin.String value="" CALL 'public final fun foo (x: kotlin.String): kotlin.Unit declared in .outerFun.LocalDerived' type=kotlin.Unit origin=null $this: GET_VAR 'd: .outerFun.LocalDerived declared in .outerFun.test' type=.outerFun.LocalDerived origin=null x: CONST String type=kotlin.String value="" CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in .outerFun.LocalDerived' type=kotlin.Unit origin=null $this: GET_VAR 'd: .outerFun.LocalDerived declared in .outerFun.test' type=.outerFun.LocalDerived origin=null y: CONST String type=kotlin.String value="" CALL 'public final fun foo (x: kotlin.String): kotlin.Unit declared in .outerFun.LocalDerived2' type=kotlin.Unit origin=null $this: GET_VAR 'd2: .outerFun.LocalDerived2 declared in .outerFun.test' type=.outerFun.LocalDerived2 origin=null x: CONST String type=kotlin.String value="" CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in .outerFun.LocalDerived2' type=kotlin.Unit origin=null $this: GET_VAR 'd2: .outerFun.LocalDerived2 declared in .outerFun.test' type=.outerFun.LocalDerived2 origin=null y: CONST String type=kotlin.String value="" FUN name:test visibility:public modality:FINAL <> (b:.Base, d:.Derived, d2:.Derived2) returnType:kotlin.Unit VALUE_PARAMETER name:b index:0 type:.Base VALUE_PARAMETER name:d index:1 type:.Derived VALUE_PARAMETER name:d2 index:2 type:.Derived2 BLOCK_BODY CALL 'public final fun foo (x: T of .Base): kotlin.Unit declared in .Base' type=kotlin.Unit origin=null $this: GET_VAR 'b: .Base declared in .test' type=.Base origin=null x: CONST String type=kotlin.String value="" CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in .Base' type=kotlin.Unit origin=null $this: GET_VAR 'b: .Base declared in .test' type=.Base origin=null y: CONST String type=kotlin.String value="" CALL 'public final fun foo (x: kotlin.String): kotlin.Unit declared in .Derived' type=kotlin.Unit origin=null $this: GET_VAR 'd: .Derived declared in .test' type=.Derived origin=null x: CONST String type=kotlin.String value="" CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in .Derived' type=kotlin.Unit origin=null $this: GET_VAR 'd: .Derived declared in .test' type=.Derived origin=null y: CONST String type=kotlin.String value="" CALL 'public final fun foo (x: kotlin.String): kotlin.Unit declared in .Derived2' type=kotlin.Unit origin=null $this: GET_VAR 'd2: .Derived2 declared in .test' type=.Derived2 origin=null x: CONST String type=kotlin.String value="" CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in .Derived2' type=kotlin.Unit origin=null $this: GET_VAR 'd2: .Derived2 declared in .test' type=.Derived2 origin=null y: CONST String type=kotlin.String value=""