FILE fqName: fileName:/kt23030.kt FUN name:compareTo visibility:public modality:FINAL <> ($receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int [operator] $receiver: VALUE_PARAMETER name: type:kotlin.Int VALUE_PARAMETER name:c index:0 type:kotlin.Char BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun compareTo (c: kotlin.Char): kotlin.Int declared in ' CONST Int type=kotlin.Int value=0 FUN name:testOverloadedCompareToCall visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Char) returnType:kotlin.Boolean VALUE_PARAMETER name:x index:0 type:kotlin.Int VALUE_PARAMETER name:y index:1 type:kotlin.Char BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testOverloadedCompareToCall (x: kotlin.Int, y: kotlin.Char): kotlin.Boolean declared in ' CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT arg0: CALL 'public final fun compareTo (c: kotlin.Char): kotlin.Int declared in ' type=kotlin.Int origin=LT $receiver: GET_VAR 'x: kotlin.Int declared in .testOverloadedCompareToCall' type=kotlin.Int origin=null c: GET_VAR 'y: kotlin.Char declared in .testOverloadedCompareToCall' type=kotlin.Char origin=null arg1: CONST Int type=kotlin.Int value=0 FUN name:testOverloadedCompareToCallWithSmartCast visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testOverloadedCompareToCallWithSmartCast (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int GET_VAR 'x: kotlin.Any declared in .testOverloadedCompareToCallWithSmartCast' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Char GET_VAR 'y: kotlin.Any declared in .testOverloadedCompareToCallWithSmartCast' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false then: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT arg0: CALL 'public final fun compareTo (c: kotlin.Char): kotlin.Int declared in ' type=kotlin.Int origin=LT $receiver: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int GET_VAR 'x: kotlin.Any declared in .testOverloadedCompareToCallWithSmartCast' type=kotlin.Any origin=null c: TYPE_OP type=kotlin.Char origin=IMPLICIT_CAST typeOperand=kotlin.Char GET_VAR 'y: kotlin.Any declared in .testOverloadedCompareToCallWithSmartCast' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:testEqualsWithSmartCast visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testEqualsWithSmartCast (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in ' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int GET_VAR 'x: kotlin.Any declared in .testEqualsWithSmartCast' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Char GET_VAR 'y: kotlin.Any declared in .testEqualsWithSmartCast' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ arg0: GET_VAR 'x: kotlin.Any declared in .testEqualsWithSmartCast' type=kotlin.Any origin=null arg1: GET_VAR 'y: kotlin.Any declared in .testEqualsWithSmartCast' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C CONSTRUCTOR visibility:public <> () returnType:.C [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' FUN name:compareTo visibility:public modality:FINAL <> ($this:.C, $receiver:kotlin.Int, c:kotlin.Char) returnType:kotlin.Int [operator] $this: VALUE_PARAMETER name: type:.C $receiver: VALUE_PARAMETER name: type:kotlin.Int VALUE_PARAMETER name:c index:0 type:kotlin.Char BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun compareTo (c: kotlin.Char): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=0 FUN name:testMemberExtensionCompareToCall visibility:public modality:FINAL <> ($this:.C, x:kotlin.Int, y:kotlin.Char) returnType:kotlin.Boolean $this: VALUE_PARAMETER name: type:.C VALUE_PARAMETER name:x index:0 type:kotlin.Int VALUE_PARAMETER name:y index:1 type:kotlin.Char BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testMemberExtensionCompareToCall (x: kotlin.Int, y: kotlin.Char): kotlin.Boolean declared in .C' CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT arg0: CALL 'public final fun compareTo (c: kotlin.Char): kotlin.Int declared in .C' type=kotlin.Int origin=LT $this: GET_VAR ': .C declared in .C.testMemberExtensionCompareToCall' type=.C origin=null $receiver: GET_VAR 'x: kotlin.Int declared in .C.testMemberExtensionCompareToCall' type=kotlin.Int origin=null c: GET_VAR 'y: kotlin.Char declared in .C.testMemberExtensionCompareToCall' type=kotlin.Char origin=null arg1: CONST Int type=kotlin.Int value=0 FUN name:testMemberExtensionCompareToCallWithSmartCast visibility:public modality:FINAL <> ($this:.C, x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean $this: VALUE_PARAMETER name: type:.C VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testMemberExtensionCompareToCallWithSmartCast (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in .C' WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int GET_VAR 'x: kotlin.Any declared in .C.testMemberExtensionCompareToCallWithSmartCast' type=kotlin.Any origin=null then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Char GET_VAR 'y: kotlin.Any declared in .C.testMemberExtensionCompareToCallWithSmartCast' type=kotlin.Any origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false then: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT arg0: CALL 'public final fun compareTo (c: kotlin.Char): kotlin.Int declared in .C' type=kotlin.Int origin=LT $this: GET_VAR ': .C declared in .C.testMemberExtensionCompareToCallWithSmartCast' type=.C origin=null $receiver: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int GET_VAR 'x: kotlin.Any declared in .C.testMemberExtensionCompareToCallWithSmartCast' type=kotlin.Any origin=null c: TYPE_OP type=kotlin.Char origin=IMPLICIT_CAST typeOperand=kotlin.Char GET_VAR 'y: kotlin.Any declared in .C.testMemberExtensionCompareToCallWithSmartCast' type=kotlin.Any origin=null arg1: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false 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