FILE fqName: fileName:/qualifiedSuperCalls.kt CLASS CLASS name:CBoth modality:FINAL visibility:public superTypes:[.ILeft; .IRight] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CBoth CONSTRUCTOR visibility:public <> () returnType:.CBoth [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CBoth modality:FINAL visibility:public superTypes:[.ILeft; .IRight]' 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 .ILeft public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .IRight $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 .ILeft public open fun hashCode (): kotlin.Int declared in .IRight $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 .ILeft public open fun toString (): kotlin.String declared in .IRight $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo visibility:public modality:OPEN <> ($this:.CBoth) returnType:kotlin.Unit overridden: public open fun foo (): kotlin.Unit declared in .ILeft public open fun foo (): kotlin.Unit declared in .IRight $this: VALUE_PARAMETER name: type:.CBoth BLOCK_BODY CALL 'public open fun foo (): kotlin.Unit declared in .ILeft' superQualifier='CLASS INTERFACE name:ILeft modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null $this: GET_VAR ': .CBoth declared in .CBoth.foo' type=.CBoth origin=null CALL 'public open fun foo (): kotlin.Unit declared in .IRight' superQualifier='CLASS INTERFACE name:IRight modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null $this: GET_VAR ': .CBoth declared in .CBoth.foo' type=.CBoth origin=null PROPERTY name:bar visibility:public modality:OPEN [val] overridden: public open bar: kotlin.Int public open bar: kotlin.Int FUN name: visibility:public modality:OPEN <> ($this:.CBoth) returnType:kotlin.Int correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] overridden: public open fun (): kotlin.Int declared in .ILeft public open fun (): kotlin.Int declared in .IRight $this: VALUE_PARAMETER name: type:.CBoth BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .CBoth' CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS $this: CALL 'public open fun (): kotlin.Int declared in .ILeft' superQualifier='CLASS INTERFACE name:ILeft modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR ': .CBoth declared in .CBoth.' type=.CBoth origin=null other: CALL 'public open fun (): kotlin.Int declared in .IRight' superQualifier='CLASS INTERFACE name:IRight modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR ': .CBoth declared in .CBoth.' type=.CBoth origin=null CLASS INTERFACE name:ILeft modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ILeft 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:OPEN <> ($this:.ILeft) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.ILeft BLOCK_BODY PROPERTY name:bar visibility:public modality:OPEN [val] FUN name: visibility:public modality:OPEN <> ($this:.ILeft) returnType:kotlin.Int correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] $this: VALUE_PARAMETER name: type:.ILeft BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .ILeft' CONST Int type=kotlin.Int value=1 CLASS INTERFACE name:IRight modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IRight 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:OPEN <> ($this:.IRight) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.IRight BLOCK_BODY PROPERTY name:bar visibility:public modality:OPEN [val] FUN name: visibility:public modality:OPEN <> ($this:.IRight) returnType:kotlin.Int correspondingProperty: PROPERTY name:bar visibility:public modality:OPEN [val] $this: VALUE_PARAMETER name: type:.IRight BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .IRight' CONST Int type=kotlin.Int value=2