FILE fqName: fileName:/kt35550.kt CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.I] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A FIELD DELEGATE name:$$delegate_0 type:.I visibility:private [final] EXPRESSION_BODY GET_VAR 'i: .I declared in .A.' type=.I origin=null CONSTRUCTOR visibility:public <> (i:.I) returnType:.A [primary] VALUE_PARAMETER name:i index:0 type:.I BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.I]' 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 .I $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 .I $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 .I $this: VALUE_PARAMETER name: type:kotlin.Any PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] overridden: public open id: T of .I. FUN DELEGATED_MEMBER name: visibility:public modality:OPEN ($this:.A, $receiver:T of .A.) returnType:T of .A. correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] overridden: public open fun (): T of .I. declared in .I TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.A $receiver: VALUE_PARAMETER name: type:T of .A. BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun (): T of .A. declared in .A' CALL 'public open fun (): T of .I. declared in .I' type=T of .A. origin=null : T of .A. $this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:.I visibility:private [final]' type=.I origin=null receiver: GET_VAR ': .A declared in .A.' type=.A origin=null $receiver: GET_VAR ': T of .A. declared in .A.' type=T of .A. origin=null CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I 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 PROPERTY name:id visibility:public modality:OPEN [val] FUN name: visibility:public modality:OPEN ($this:.I, $receiver:T of .I.) returnType:T of .I. correspondingProperty: PROPERTY name:id visibility:public modality:OPEN [val] TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.I $receiver: VALUE_PARAMETER name: type:T of .I. BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun (): T of .I. declared in .I' GET_VAR ': T of .I. declared in .I.' type=T of .I. origin=null