FILE fqName: fileName:/useImportedMember.kt CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I.I> TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] FUN name:fromInterface visibility:public modality:OPEN ($this:.I.I>, $receiver:T of .I.fromInterface) returnType:T of .I.fromInterface TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.I.I> $receiver: VALUE_PARAMETER name: type:T of .I.fromInterface BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun fromInterface (): T of .I.fromInterface declared in .I' GET_VAR ': T of .I.fromInterface declared in .I.fromInterface' type=T of .I.fromInterface origin=null FUN name:genericFromSuper visibility:public modality:OPEN <> ($this:.I.I>, g:G of .I) returnType:G of .I $this: VALUE_PARAMETER name: type:.I.I> VALUE_PARAMETER name:g index:0 type:G of .I BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun genericFromSuper (g: G of .I): G of .I declared in .I' GET_VAR 'g: G of .I declared in .I.genericFromSuper' type=G of .I origin=null 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 [operator] 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:BaseClass modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.BaseClass CONSTRUCTOR visibility:public <> () returnType:.BaseClass [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseClass modality:OPEN visibility:public superTypes:[kotlin.Any]' PROPERTY name:fromClass visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL <> ($this:.BaseClass) returnType:T of correspondingProperty: PROPERTY name:fromClass visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.BaseClass BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T of declared in .BaseClass' ERROR_CALL 'Unresolved reference: this@R|/BaseClass.fromClass|' type=T of 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 [operator] 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 OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C CONSTRUCTOR visibility:private <> () returnType:.C [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .BaseClass' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.Int) returnType:kotlin.Int $this: VALUE_PARAMETER name: type:.C VALUE_PARAMETER name:s index:0 type:kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun f (s: kotlin.Int): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=1 FUN name:f visibility:public modality:FINAL <> ($this:.C, s:kotlin.String) returnType:kotlin.Int $this: VALUE_PARAMETER name: type:.C VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun f (s: kotlin.String): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=2 FUN name:f visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Boolean) returnType:kotlin.Int $this: VALUE_PARAMETER name: type:.C $receiver: VALUE_PARAMETER name: type:kotlin.Boolean BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun f (): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=3 PROPERTY name:p visibility:public modality:FINAL [var] FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:private EXPRESSION_BODY CONST Int type=kotlin.Int value=4 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] $this: VALUE_PARAMETER name: type:.C BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:private' type=kotlin.Int origin=null receiver: GET_VAR ': .C declared in .C.' type=.C origin=null FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [var] $this: VALUE_PARAMETER name: type:.C VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:private' type=kotlin.Unit origin=null receiver: GET_VAR ': .C declared in .C.' type=.C origin=null value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null PROPERTY name:ext visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int correspondingProperty: PROPERTY name:ext visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.C BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=6 FUN name:g1 visibility:public modality:FINAL ($this:.C, t:T of .C.g1) returnType:T of .C.g1 TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.C VALUE_PARAMETER name:t index:0 type:T of .C.g1 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun g1 (t: T of .C.g1): T of .C.g1 declared in .C' GET_VAR 't: T of .C.g1 declared in .C.g1' type=T of .C.g1 origin=null PROPERTY name:g2 visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL <> ($this:.C) returnType:T of correspondingProperty: PROPERTY name:g2 visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.C BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T of declared in .C' ERROR_CALL 'Unresolved reference: this@R|/C.g2|' type=T of PROPERTY FAKE_OVERRIDE name:fromClass visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.C) returnType:T of [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:fromClass visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): T of declared in .BaseClass $this: VALUE_PARAMETER name: type:.C 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 [operator] 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 FAKE_OVERRIDE name:fromInterface visibility:public modality:OPEN ($this:.I.I>, $receiver:T of .C.fromInterface) returnType:T of .C.fromInterface [fake_override] overridden: public open fun fromInterface (): T of .I.fromInterface declared in .I TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.I.I> $receiver: VALUE_PARAMETER name: type:T of .C.fromInterface FUN FAKE_OVERRIDE name:genericFromSuper visibility:public modality:OPEN <> ($this:.I.I>, g:kotlin.String) returnType:kotlin.String [fake_override] overridden: public open fun genericFromSuper (g: G of .I): G of .I declared in .I $this: VALUE_PARAMETER name: type:.I.I> VALUE_PARAMETER name:g index:0 type:kotlin.String FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY WHEN type=kotlin.Unit origin=IF BRANCH if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public final fun f (s: kotlin.Int): kotlin.Int declared in .C' type=kotlin.Int origin=null $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C s: CONST Int type=kotlin.Int value=1 arg1: CONST Int type=kotlin.Int value=1 then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="1" WHEN type=kotlin.Unit origin=IF BRANCH if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public final fun f (s: kotlin.String): kotlin.Int declared in .C' type=kotlin.Int origin=null $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C s: CONST String type=kotlin.String value="s" arg1: CONST Int type=kotlin.Int value=2 then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="2" WHEN type=kotlin.Unit origin=IF BRANCH if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public final fun f (): kotlin.Int declared in .C' type=kotlin.Int origin=null $this: CONST Boolean type=kotlin.Boolean value=true arg1: CONST Int type=kotlin.Int value=3 then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="3" WHEN type=kotlin.Unit origin=IF BRANCH if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=null $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C arg1: CONST Int type=kotlin.Int value=4 then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="4" SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p type:kotlin.Int visibility:private' type=kotlin.Unit origin=null receiver: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C value: CONST Int type=kotlin.Int value=5 WHEN type=kotlin.Unit origin=IF BRANCH if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=null $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C arg1: CONST Int type=kotlin.Int value=5 then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="5" WHEN type=kotlin.Unit origin=IF BRANCH if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=null $this: CONST Int type=kotlin.Int value=5 arg1: CONST Int type=kotlin.Int value=6 then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="6" WHEN type=kotlin.Unit origin=IF BRANCH if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public final fun g1 (t: T of .C.g1): T of .C.g1 declared in .C' type=kotlin.String origin=null : kotlin.String $this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[.BaseClass; .I]' type=.C t: CONST String type=kotlin.String value="7" arg1: CONST String type=kotlin.String value="7" then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="7" WHEN type=kotlin.Unit origin=IF BRANCH if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public final fun (): T of declared in .C' type=kotlin.String origin=null $this: CONST String type=kotlin.String value="8" arg1: CONST String type=kotlin.String value="8" then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="8" WHEN type=kotlin.Unit origin=IF BRANCH if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public open fun fromInterface (): T of .I.fromInterface declared in .I' type=kotlin.Int origin=null : kotlin.Int $this: CONST Int type=kotlin.Int value=9 arg1: CONST Int type=kotlin.Int value=9 then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="9" WHEN type=kotlin.Unit origin=IF BRANCH if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public final fun (): T of declared in .BaseClass' type=kotlin.String origin=null $this: CONST String type=kotlin.String value="10" arg1: CONST String type=kotlin.String value="10" then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="10" WHEN type=kotlin.Unit origin=IF BRANCH if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public open fun genericFromSuper (g: kotlin.String): kotlin.String declared in .I' type=kotlin.String origin=null g: CONST String type=kotlin.String value="11" arg1: CONST String type=kotlin.String value="11" then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="11" RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' CONST String type=kotlin.String value="OK"