[Tests] Use stable order for ir/kotlinLike dumps
^KT-65406
This commit is contained in:
committed by
Space Team
parent
0fa42a9c11
commit
e6f4d6e6fa
Vendored
+74
-74
@@ -7,6 +7,22 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
CALL 'public open fun compareTo (other: kotlin.Double): kotlin.Int declared in kotlin.Double' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'x: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
other: GET_VAR 'y: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Int declared in <root>'
|
||||
CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Int
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1fr (x: kotlin.Float): kotlin.Int declared in <root>'
|
||||
CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -25,6 +41,42 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test2f' type=kotlin.Any origin=null
|
||||
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: CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test2f' 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:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test2fr' type=kotlin.Any origin=null
|
||||
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: CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test2fr' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test2fr' 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:test3d 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
|
||||
@@ -51,32 +103,6 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Int declared in <root>'
|
||||
CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test2f' type=kotlin.Any origin=null
|
||||
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: CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test2f' 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:test3f 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
|
||||
@@ -103,28 +129,20 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
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 testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
RETURN type=kotlin.Nothing from='public final fun test3fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
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.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test3fr' type=kotlin.Any origin=null
|
||||
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: CALL 'public final fun compareTo (other: kotlin.Double): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test3fr' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test3fr' type=kotlin.Any origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -155,46 +173,28 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Int
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1fr (x: kotlin.Float): kotlin.Int declared in <root>'
|
||||
CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
FUN name:testFD 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 test2fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
RETURN type=kotlin.Nothing from='public final fun testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test2fr' type=kotlin.Any origin=null
|
||||
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: CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test2fr' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test2fr' 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:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test3fr' type=kotlin.Any origin=null
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' 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: CALL 'public final fun compareTo (other: kotlin.Double): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test3fr' type=kotlin.Float origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test3fr' type=kotlin.Any origin=null
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
|
||||
Vendored
+29
-28
@@ -2,6 +2,14 @@ fun test1d(x: Double, y: Double): Int {
|
||||
return x.compareTo(other = y)
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Int {
|
||||
return x.compareTo(other = y)
|
||||
}
|
||||
|
||||
fun Float.test1fr(x: Float): Int {
|
||||
return <this>.compareTo(other = x)
|
||||
}
|
||||
|
||||
fun test2d(x: Double, y: Any): Boolean {
|
||||
return when {
|
||||
y is Double -> EQEQ(arg0 = x.compareTo(other = y /*as Double */), arg1 = 0)
|
||||
@@ -9,6 +17,20 @@ fun test2d(x: Double, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> EQEQ(arg0 = x.compareTo(other = y /*as Float */), arg1 = 0)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun Float.test2fr(x: Any): Boolean {
|
||||
return when {
|
||||
x is Float -> EQEQ(arg0 = <this>.compareTo(other = x /*as Float */), arg1 = 0)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test3d(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -19,17 +41,6 @@ fun test3d(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Int {
|
||||
return x.compareTo(other = y)
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> EQEQ(arg0 = x.compareTo(other = y /*as Float */), arg1 = 0)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test3f(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -40,12 +51,9 @@ fun test3f(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun testFD(x: Any, y: Any): Boolean {
|
||||
fun Float.test3fr(x: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
x is Float -> y is Double
|
||||
else -> false
|
||||
} -> EQEQ(arg0 = x /*as Float */.compareTo(other = y /*as Double */), arg1 = 0)
|
||||
x is Double -> EQEQ(arg0 = <this>.compareTo(other = x /*as Double */), arg1 = 0)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
@@ -60,20 +68,13 @@ fun testDF(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun Float.test1fr(x: Float): Int {
|
||||
return <this>.compareTo(other = x)
|
||||
}
|
||||
|
||||
fun Float.test2fr(x: Any): Boolean {
|
||||
fun testFD(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
x is Float -> EQEQ(arg0 = <this>.compareTo(other = x /*as Float */), arg1 = 0)
|
||||
when {
|
||||
x is Float -> y is Double
|
||||
else -> false
|
||||
} -> EQEQ(arg0 = x /*as Float */.compareTo(other = y /*as Double */), arg1 = 0)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun Float.test3fr(x: Any): Boolean {
|
||||
return when {
|
||||
x is Double -> EQEQ(arg0 = <this>.compareTo(other = x /*as Double */), arg1 = 0)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
+73
-73
@@ -7,6 +7,14 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'x: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Double?
|
||||
@@ -15,6 +23,14 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'x: kotlin.Double declared in <root>.test2d' type=kotlin.Double origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Double? declared in <root>.test2d' type=kotlin.Double? origin=null
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Float? declared in <root>.test2f' type=kotlin.Float? origin=null
|
||||
FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -23,6 +39,14 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
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.Double declared in <root>.test3d' type=kotlin.Double origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Any declared in <root>.test3d' type=kotlin.Any origin=null
|
||||
FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
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.Float declared in <root>.test3f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Any declared in <root>.test3f' type=kotlin.Any origin=null
|
||||
FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
@@ -31,6 +55,14 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
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.Double declared in <root>.test4d' type=kotlin.Double origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Number declared in <root>.test4d' type=kotlin.Number origin=null
|
||||
FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4f (x: kotlin.Float, y: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
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.Float declared in <root>.test4f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Number declared in <root>.test4f' type=kotlin.Number origin=null
|
||||
FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -47,6 +79,22 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
then: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test5f' type=kotlin.Float origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test6d 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
|
||||
@@ -71,54 +119,6 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Float? declared in <root>.test2f' type=kotlin.Float? origin=null
|
||||
FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
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.Float declared in <root>.test3f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Any declared in <root>.test3f' type=kotlin.Any origin=null
|
||||
FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4f (x: kotlin.Float, y: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
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.Float declared in <root>.test4f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Number declared in <root>.test4f' type=kotlin.Number origin=null
|
||||
FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
then: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test5f' type=kotlin.Float origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test6f 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
|
||||
@@ -143,31 +143,6 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testFD 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 testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
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.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' 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 ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testDF 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
|
||||
@@ -193,3 +168,28 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testFD 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 testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
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.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' 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 ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
|
||||
+33
-32
@@ -2,18 +2,34 @@ fun test1d(x: Double, y: Double): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test2d(x: Double, y: Double?): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Float?): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test3d(x: Double, y: Any): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test3f(x: Float, y: Any): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test4d(x: Double, y: Number): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test4f(x: Float, y: Number): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test5d(x: Double, y: Any): Boolean {
|
||||
return when {
|
||||
y is Double -> ieee754equals(arg0 = x, arg1 = y /*as Double */)
|
||||
@@ -21,6 +37,13 @@ fun test5d(x: Double, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test5f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> ieee754equals(arg0 = x, arg1 = y /*as Float */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test6d(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -31,29 +54,6 @@ fun test6d(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Float?): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test3f(x: Float, y: Any): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test4f(x: Float, y: Number): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test5f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> ieee754equals(arg0 = x, arg1 = y /*as Float */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test6f(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -64,6 +64,16 @@ fun test6f(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun testDF(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
x is Double -> y is Float
|
||||
else -> false
|
||||
} -> ieee754equals(arg0 = x /*as Double */, arg1 = y /*as Float */.toDouble())
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun testFD(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -74,12 +84,3 @@ fun testFD(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun testDF(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
x is Double -> y is Float
|
||||
else -> false
|
||||
} -> ieee754equals(arg0 = x /*as Double */, arg1 = y /*as Float */.toDouble())
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+118
-118
@@ -7,6 +7,22 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
other: GET_VAR 'y: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1fr (x: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Double?
|
||||
@@ -15,6 +31,22 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Double declared in <root>.test2d' type=kotlin.Double origin=null
|
||||
other: GET_VAR 'y: kotlin.Double? declared in <root>.test2d' type=kotlin.Double? origin=null
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Float? declared in <root>.test2f' type=kotlin.Float? origin=null
|
||||
FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float?) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2fr (x: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test2fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Float? declared in <root>.test2fr' type=kotlin.Float? origin=null
|
||||
FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -23,6 +55,22 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Double declared in <root>.test3d' type=kotlin.Double origin=null
|
||||
other: GET_VAR 'y: kotlin.Any declared in <root>.test3d' type=kotlin.Any origin=null
|
||||
FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test3f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Any declared in <root>.test3f' type=kotlin.Any origin=null
|
||||
FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test3fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Any declared in <root>.test3fr' type=kotlin.Any origin=null
|
||||
FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
@@ -31,6 +79,22 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Double declared in <root>.test4d' type=kotlin.Double origin=null
|
||||
other: GET_VAR 'y: kotlin.Number declared in <root>.test4d' type=kotlin.Number origin=null
|
||||
FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4f (x: kotlin.Float, y: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test4f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Number declared in <root>.test4f' type=kotlin.Number origin=null
|
||||
FUN name:test4fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Number) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4fr (x: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test4fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Number declared in <root>.test4fr' type=kotlin.Number origin=null
|
||||
FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -47,6 +111,38 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test5f' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test5fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test5fr' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test5fr' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test5fr' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test6d 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
|
||||
@@ -71,54 +167,6 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Float? declared in <root>.test2f' type=kotlin.Float? origin=null
|
||||
FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test3f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Any declared in <root>.test3f' type=kotlin.Any origin=null
|
||||
FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4f (x: kotlin.Float, y: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test4f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Number declared in <root>.test4f' type=kotlin.Number origin=null
|
||||
FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test5f' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test6f 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
|
||||
@@ -143,27 +191,19 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
FUN name:test6fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
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 testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
RETURN type=kotlin.Nothing from='public final fun test6fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
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.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test6fr' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test6fr' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test6fr' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
@@ -191,67 +231,27 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1fr (x: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float?) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2fr (x: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test2fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Float? declared in <root>.test2fr' type=kotlin.Float? origin=null
|
||||
FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
FUN name:testFD 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 test3fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test3fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Any declared in <root>.test3fr' type=kotlin.Any origin=null
|
||||
FUN name:test4fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Number) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4fr (x: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test4fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Number declared in <root>.test4fr' type=kotlin.Number origin=null
|
||||
FUN name:test5fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
RETURN type=kotlin.Nothing from='public final fun testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test5fr' type=kotlin.Any origin=null
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' 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 open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test5fr' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test5fr' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test6fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test6fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test6fr' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test6fr' type=kotlin.Float origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test6fr' type=kotlin.Any origin=null
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
|
||||
Vendored
+53
-53
@@ -2,18 +2,50 @@ fun test1d(x: Double, y: Double): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun Float.test1fr(x: Float): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun test2d(x: Double, y: Double?): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Float?): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun Float.test2fr(x: Float?): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun test3d(x: Double, y: Any): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test3f(x: Float, y: Any): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun Float.test3fr(x: Any): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun test4d(x: Double, y: Number): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test4f(x: Float, y: Number): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun Float.test4fr(x: Number): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun test5d(x: Double, y: Any): Boolean {
|
||||
return when {
|
||||
y is Double -> x.equals(other = y /*as Double */)
|
||||
@@ -21,6 +53,20 @@ fun test5d(x: Double, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test5f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> x.equals(other = y /*as Float */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun Float.test5fr(x: Any): Boolean {
|
||||
return when {
|
||||
x is Float -> <this>.equals(other = x /*as Float */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test6d(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -31,29 +77,6 @@ fun test6d(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Float?): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test3f(x: Float, y: Any): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test4f(x: Float, y: Number): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test5f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> x.equals(other = y /*as Float */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test6f(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -64,12 +87,9 @@ fun test6f(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun testFD(x: Any, y: Any): Boolean {
|
||||
fun Float.test6fr(x: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
x is Float -> y is Double
|
||||
else -> false
|
||||
} -> x /*as Float */.equals(other = y /*as Double */)
|
||||
x is Double -> <this>.equals(other = x /*as Double */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
@@ -84,32 +104,12 @@ fun testDF(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun Float.test1fr(x: Float): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun Float.test2fr(x: Float?): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun Float.test3fr(x: Any): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun Float.test4fr(x: Number): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun Float.test5fr(x: Any): Boolean {
|
||||
fun testFD(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
x is Float -> <this>.equals(other = x /*as Float */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun Float.test6fr(x: Any): Boolean {
|
||||
return when {
|
||||
x is Double -> <this>.equals(other = x /*as Double */)
|
||||
when {
|
||||
x is Float -> y is Double
|
||||
else -> false
|
||||
} -> x /*as Float */.equals(other = y /*as Double */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+117
-117
@@ -7,6 +7,22 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
other: GET_VAR 'y: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1fr (x: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Double?
|
||||
@@ -15,6 +31,22 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Double declared in <root>.test2d' type=kotlin.Double origin=null
|
||||
other: GET_VAR 'y: kotlin.Double? declared in <root>.test2d' type=kotlin.Double? origin=null
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Float? declared in <root>.test2f' type=kotlin.Float? origin=null
|
||||
FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float?) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2fr (x: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test2fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Float? declared in <root>.test2fr' type=kotlin.Float? origin=null
|
||||
FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -23,6 +55,22 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Double declared in <root>.test3d' type=kotlin.Double origin=null
|
||||
other: GET_VAR 'y: kotlin.Any declared in <root>.test3d' type=kotlin.Any origin=null
|
||||
FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test3f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Any declared in <root>.test3f' type=kotlin.Any origin=null
|
||||
FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test3fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Any declared in <root>.test3fr' type=kotlin.Any origin=null
|
||||
FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
@@ -31,6 +79,22 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Double' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Double declared in <root>.test4d' type=kotlin.Double origin=null
|
||||
other: GET_VAR 'y: kotlin.Number declared in <root>.test4d' type=kotlin.Number origin=null
|
||||
FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4f (x: kotlin.Float, y: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test4f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Number declared in <root>.test4f' type=kotlin.Number origin=null
|
||||
FUN name:test4fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Number) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4fr (x: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test4fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Number declared in <root>.test4fr' type=kotlin.Number origin=null
|
||||
FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -46,6 +110,36 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test5f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test5fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test5fr' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test5fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Any declared in <root>.test5fr' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test6d 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
|
||||
@@ -68,53 +162,6 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Float? declared in <root>.test2f' type=kotlin.Float? origin=null
|
||||
FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test3f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Any declared in <root>.test3f' type=kotlin.Any origin=null
|
||||
FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4f (x: kotlin.Float, y: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test4f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Number declared in <root>.test4f' type=kotlin.Number origin=null
|
||||
FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Float declared in <root>.test5f' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test6f 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
|
||||
@@ -137,25 +184,18 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testFD visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
FUN name:test6fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
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 testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
RETURN type=kotlin.Nothing from='public final fun test6fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
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.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' 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 open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
other: GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test6fr' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test6fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Any declared in <root>.test6fr' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
@@ -181,65 +221,25 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test1fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1fr (x: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float?) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2fr (x: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test2fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Float? declared in <root>.test2fr' type=kotlin.Float? origin=null
|
||||
FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
FUN name:testFD 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 test3fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test3fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Any declared in <root>.test3fr' type=kotlin.Any origin=null
|
||||
FUN name:test4fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Number) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4fr (x: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test4fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Number declared in <root>.test4fr' type=kotlin.Number origin=null
|
||||
FUN name:test5fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
RETURN type=kotlin.Nothing from='public final fun testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test5fr' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test5fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Any declared in <root>.test5fr' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test6fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test6fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test6fr' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Float' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in <root>.test6fr' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Any declared in <root>.test6fr' type=kotlin.Any origin=null
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' 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 open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
other: GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
|
||||
Vendored
+63
-62
@@ -2,18 +2,50 @@ fun test1d(x: Double, y: Double): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun Float.test1fr(x: Float): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun test2d(x: Double, y: Double?): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Float?): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun Float.test2fr(x: Float?): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun test3d(x: Double, y: Any): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test3f(x: Float, y: Any): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun Float.test3fr(x: Any): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun test4d(x: Double, y: Number): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test4f(x: Float, y: Number): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun Float.test4fr(x: Number): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun test5d(x: Double, y: Any): Boolean {
|
||||
return when {
|
||||
y is Double -> x.equals(other = y)
|
||||
@@ -21,6 +53,20 @@ fun test5d(x: Double, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test5f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> x.equals(other = y)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun Float.test5fr(x: Any): Boolean {
|
||||
return when {
|
||||
x is Float -> <this>.equals(other = x)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test6d(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -31,29 +77,6 @@ fun test6d(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Float?): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test3f(x: Float, y: Any): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test4f(x: Float, y: Number): Boolean {
|
||||
return x.equals(other = y)
|
||||
}
|
||||
|
||||
fun test5f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> x.equals(other = y)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test6f(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -64,6 +87,23 @@ fun test6f(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun Float.test6fr(x: Any): Boolean {
|
||||
return when {
|
||||
x is Double -> <this>.equals(other = x)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun testDF(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
x is Double -> y is Float
|
||||
else -> false
|
||||
} -> x.equals(other = y)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun testFD(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -74,42 +114,3 @@ fun testFD(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun testDF(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
x is Double -> y is Float
|
||||
else -> false
|
||||
} -> x.equals(other = y)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun Float.test1fr(x: Float): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun Float.test2fr(x: Float?): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun Float.test3fr(x: Any): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun Float.test4fr(x: Number): Boolean {
|
||||
return <this>.equals(other = x)
|
||||
}
|
||||
|
||||
fun Float.test5fr(x: Any): Boolean {
|
||||
return when {
|
||||
x is Float -> <this>.equals(other = x)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun Float.test6fr(x: Any): Boolean {
|
||||
return when {
|
||||
x is Double -> <this>.equals(other = x)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+79
-79
@@ -8,6 +8,15 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
$this: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_VAR 'x: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
$this: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Double?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Double?
|
||||
@@ -17,6 +26,15 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
$this: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_VAR 'x: kotlin.Double declared in <root>.test2d' type=kotlin.Double origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Double? declared in <root>.test2d' type=kotlin.Double? origin=null
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
$this: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Float? declared in <root>.test2f' type=kotlin.Float? origin=null
|
||||
FUN name:test3d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -26,6 +44,15 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
$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: GET_VAR 'x: kotlin.Double declared in <root>.test3d' type=kotlin.Double origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Any declared in <root>.test3d' type=kotlin.Any origin=null
|
||||
FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun not (): kotlin.Boolean 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: GET_VAR 'x: kotlin.Float declared in <root>.test3f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Any declared in <root>.test3f' type=kotlin.Any origin=null
|
||||
FUN name:test4d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
@@ -35,6 +62,15 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
$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: GET_VAR 'x: kotlin.Double declared in <root>.test4d' type=kotlin.Double origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Number declared in <root>.test4d' type=kotlin.Number origin=null
|
||||
FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4f (x: kotlin.Float, y: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun not (): kotlin.Boolean 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: GET_VAR 'x: kotlin.Float declared in <root>.test4f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Number declared in <root>.test4f' type=kotlin.Number origin=null
|
||||
FUN name:test5d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -52,6 +88,23 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
then: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
$this: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test5f' type=kotlin.Float origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test6d 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
|
||||
@@ -77,59 +130,6 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
$this: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float?) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
$this: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Float? declared in <root>.test2f' type=kotlin.Float? origin=null
|
||||
FUN name:test3f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun not (): kotlin.Boolean 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: GET_VAR 'x: kotlin.Float declared in <root>.test3f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Any declared in <root>.test3f' type=kotlin.Any origin=null
|
||||
FUN name:test4f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Number) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Number
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4f (x: kotlin.Float, y: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun not (): kotlin.Boolean 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: GET_VAR 'x: kotlin.Float declared in <root>.test4f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Number declared in <root>.test4f' type=kotlin.Number origin=null
|
||||
FUN name:test5f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
then: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
$this: CALL 'public final fun ieee754equals (arg0: kotlin.Float?, arg1: kotlin.Float?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test5f' type=kotlin.Float origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test5f' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test6f 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
|
||||
@@ -155,32 +155,6 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testFD 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 testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
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.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' 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 not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
$this: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testDF 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
|
||||
@@ -207,3 +181,29 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testFD 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 testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
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.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' 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 not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
$this: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
|
||||
Vendored
+33
-32
@@ -2,18 +2,34 @@ fun test1d(x: Double, y: Double): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test2d(x: Double, y: Double?): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Float?): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test3d(x: Double, y: Any): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test3f(x: Float, y: Any): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test4d(x: Double, y: Number): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test4f(x: Float, y: Number): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test5d(x: Double, y: Any): Boolean {
|
||||
return when {
|
||||
y is Double -> ieee754equals(arg0 = x, arg1 = y /*as Double */).not()
|
||||
@@ -21,6 +37,13 @@ fun test5d(x: Double, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test5f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> ieee754equals(arg0 = x, arg1 = y /*as Float */).not()
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test6d(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -31,29 +54,6 @@ fun test6d(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Float?): Boolean {
|
||||
return ieee754equals(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test3f(x: Float, y: Any): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test4f(x: Float, y: Number): Boolean {
|
||||
return EQEQ(arg0 = x, arg1 = y).not()
|
||||
}
|
||||
|
||||
fun test5f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> ieee754equals(arg0 = x, arg1 = y /*as Float */).not()
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test6f(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -64,6 +64,16 @@ fun test6f(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun testDF(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
x is Double -> y is Float
|
||||
else -> false
|
||||
} -> ieee754equals(arg0 = x /*as Double */, arg1 = y /*as Float */.toDouble()).not()
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun testFD(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -74,12 +84,3 @@ fun testFD(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun testDF(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
x is Double -> y is Float
|
||||
else -> false
|
||||
} -> ieee754equals(arg0 = x /*as Double */, arg1 = y /*as Float */.toDouble()).not()
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
+49
-49
@@ -7,6 +7,14 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
CALL 'public final fun less (arg0: kotlin.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
|
||||
arg0: GET_VAR 'x: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Double declared in <root>.test1d' type=kotlin.Double origin=null
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun less (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test2d visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -23,6 +31,22 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test2f' type=kotlin.Any origin=null
|
||||
then: CALL 'public final fun less (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test2f' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test3d 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
|
||||
@@ -47,30 +71,6 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test1f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Float) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Float
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1f (x: kotlin.Float, y: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public final fun less (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
arg1: GET_VAR 'y: kotlin.Float declared in <root>.test1f' type=kotlin.Float origin=null
|
||||
FUN name:test2f visibility:public modality:FINAL <> (x:kotlin.Float, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Float
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2f (x: kotlin.Float, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test2f' type=kotlin.Any origin=null
|
||||
then: CALL 'public final fun less (arg0: kotlin.Float, arg1: kotlin.Float): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
|
||||
arg0: GET_VAR 'x: kotlin.Float declared in <root>.test2f' type=kotlin.Float origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.test2f' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test3f 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
|
||||
@@ -95,31 +95,6 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testFD 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 testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
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.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' 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.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
|
||||
arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testDF 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
|
||||
@@ -145,3 +120,28 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:testFD 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 testFD (x: kotlin.Any, y: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
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.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' 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.Double, arg1: kotlin.Double): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
|
||||
arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testFD' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
|
||||
+21
-20
@@ -2,6 +2,10 @@ fun test1d(x: Double, y: Double): Boolean {
|
||||
return less(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Boolean {
|
||||
return less(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test2d(x: Double, y: Any): Boolean {
|
||||
return when {
|
||||
y is Double -> less(arg0 = x, arg1 = y /*as Double */)
|
||||
@@ -9,6 +13,13 @@ fun test2d(x: Double, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> less(arg0 = x, arg1 = y /*as Float */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test3d(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -19,17 +30,6 @@ fun test3d(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun test1f(x: Float, y: Float): Boolean {
|
||||
return less(arg0 = x, arg1 = y)
|
||||
}
|
||||
|
||||
fun test2f(x: Float, y: Any): Boolean {
|
||||
return when {
|
||||
y is Float -> less(arg0 = x, arg1 = y /*as Float */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun test3f(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -40,6 +40,16 @@ fun test3f(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun testDF(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
x is Double -> y is Float
|
||||
else -> false
|
||||
} -> less(arg0 = x /*as Double */, arg1 = y /*as Float */.toDouble())
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun testFD(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
@@ -50,12 +60,3 @@ fun testFD(x: Any, y: Any): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
fun testDF(x: Any, y: Any): Boolean {
|
||||
return when {
|
||||
when {
|
||||
x is Double -> y is Float
|
||||
else -> false
|
||||
} -> less(arg0 = x /*as Double */, arg1 = y /*as Float */.toDouble())
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
+38
-38
@@ -1,4 +1,42 @@
|
||||
FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
CLASS CLASS name:F modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.F<T of <root>.F>
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] reified:false
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.F<T of <root>.F> [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL 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:<this> 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:<this> 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:<this> type:kotlin.Any
|
||||
FUN name:testCapturedType visibility:public modality:FINAL <> ($this:<root>.F<T of <root>.F>, x:T of <root>.F, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.F<T of <root>.F>
|
||||
VALUE_PARAMETER name:x index:0 type:T of <root>.F
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun testCapturedType (x: T of <root>.F, y: kotlin.Any): kotlin.Boolean declared in <root>.F'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.F.testCapturedType' type=kotlin.Any origin=null
|
||||
then: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null
|
||||
$this: GET_VAR 'x: T of <root>.F declared in <root>.F.testCapturedType' type=T of <root>.F origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.F.testCapturedType' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test0 visibility:public modality:FINAL <T> (x:kotlin.Any, y:T of <root>.test0) returnType:kotlin.Boolean
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
@@ -121,41 +159,3 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
CLASS CLASS name:F modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.F<T of <root>.F>
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] reified:false
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.F<T of <root>.F> [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
FUN name:testCapturedType visibility:public modality:FINAL <> ($this:<root>.F<T of <root>.F>, x:T of <root>.F, y:kotlin.Any) returnType:kotlin.Boolean
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.F<T of <root>.F>
|
||||
VALUE_PARAMETER name:x index:0 type:T of <root>.F
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun testCapturedType (x: T of <root>.F, y: kotlin.Any): kotlin.Boolean declared in <root>.F'
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.F.testCapturedType' type=kotlin.Any origin=null
|
||||
then: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'public open fun toDouble (): kotlin.Double declared in kotlin.Float' type=kotlin.Double origin=null
|
||||
$this: GET_VAR 'x: T of <root>.F declared in <root>.F.testCapturedType' type=T of <root>.F origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.F.testCapturedType' type=kotlin.Any origin=null
|
||||
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:<this> 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:<this> 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:<this> type:kotlin.Any
|
||||
|
||||
+16
-15
@@ -1,3 +1,19 @@
|
||||
class F<T : Float> {
|
||||
constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
fun testCapturedType(x: T, y: Any): Boolean {
|
||||
return when {
|
||||
y is Double -> ieee754equals(arg0 = x.toDouble(), arg1 = y /*as Double */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun <T : Any?> test0(x: Any, y: T): Boolean {
|
||||
return when {
|
||||
x is Int -> EQEQ(arg0 = x, arg1 = y)
|
||||
@@ -47,18 +63,3 @@ fun <T : Number> test6(x: Any, y: T): Boolean {
|
||||
}
|
||||
}
|
||||
|
||||
class F<T : Float> {
|
||||
constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
fun testCapturedType(x: T, y: Any): Boolean {
|
||||
return when {
|
||||
y is Double -> ieee754equals(arg0 = x.toDouble(), arg1 = y /*as Double */)
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+33
-33
@@ -1,4 +1,9 @@
|
||||
FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Double
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun foo (x: kotlin.Double): kotlin.Double declared in <root>'
|
||||
GET_VAR 'x: kotlin.Double declared in <root>.foo' type=kotlin.Double origin=null
|
||||
FUN name:testSimple visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
BLOCK_BODY
|
||||
@@ -15,29 +20,6 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Int type=kotlin.Int value=1
|
||||
FUN name:testSmartCastInWhenSubject visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastInWhenSubject' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in <root>'
|
||||
CONST Int type=kotlin.Int value=-1
|
||||
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in <root>'
|
||||
BLOCK type=kotlin.Int origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Double [val]
|
||||
TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastInWhenSubject' type=kotlin.Any origin=null
|
||||
WHEN type=kotlin.Int origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_1: kotlin.Double declared in <root>.testSmartCastInWhenSubject' type=kotlin.Double origin=null
|
||||
arg1: CONST Double type=kotlin.Double value=0.0
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Int type=kotlin.Int value=1
|
||||
FUN name:testSmartCastInWhenCondition visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -50,12 +32,12 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
CONST Int type=kotlin.Int value=-1
|
||||
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenCondition (x: kotlin.Double, y: kotlin.Any): kotlin.Int declared in <root>'
|
||||
BLOCK type=kotlin.Int origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.Double [val]
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Double [val]
|
||||
GET_VAR 'x: kotlin.Double declared in <root>.testSmartCastInWhenCondition' type=kotlin.Double origin=null
|
||||
WHEN type=kotlin.Int origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_2: kotlin.Double declared in <root>.testSmartCastInWhenCondition' type=kotlin.Double origin=null
|
||||
arg0: GET_VAR 'val tmp_1: kotlin.Double declared in <root>.testSmartCastInWhenCondition' type=kotlin.Double origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testSmartCastInWhenCondition' type=kotlin.Any origin=null
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
@@ -67,17 +49,40 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenConditionInBranch (x: kotlin.Any): kotlin.Int declared in <root>'
|
||||
BLOCK type=kotlin.Int origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.Any [val]
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.Any [val]
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
|
||||
WHEN type=kotlin.Int origin=WHEN
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'val tmp_3: kotlin.Any declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
|
||||
GET_VAR 'val tmp_2: kotlin.Any declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
|
||||
then: CONST Int type=kotlin.Int value=-1
|
||||
BRANCH
|
||||
if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'val tmp_3: kotlin.Any declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
|
||||
GET_VAR 'val tmp_2: kotlin.Any declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
|
||||
arg1: CONST Double type=kotlin.Double value=0.0
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Int type=kotlin.Int value=1
|
||||
FUN name:testSmartCastInWhenSubject visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastInWhenSubject' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in <root>'
|
||||
CONST Int type=kotlin.Int value=-1
|
||||
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in <root>'
|
||||
BLOCK type=kotlin.Int origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.Double [val]
|
||||
TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastInWhenSubject' type=kotlin.Any origin=null
|
||||
WHEN type=kotlin.Int origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_3: kotlin.Double declared in <root>.testSmartCastInWhenSubject' type=kotlin.Double origin=null
|
||||
arg1: CONST Double type=kotlin.Double value=0.0
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
@@ -115,11 +120,6 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Int type=kotlin.Int value=1
|
||||
FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Double
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun foo (x: kotlin.Double): kotlin.Double declared in <root>'
|
||||
GET_VAR 'x: kotlin.Double declared in <root>.foo' type=kotlin.Double origin=null
|
||||
FUN name:testWithPrematureExitInConditionSubexpression visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
|
||||
Vendored
+22
-22
@@ -1,3 +1,7 @@
|
||||
fun foo(x: Double): Double {
|
||||
return x
|
||||
}
|
||||
|
||||
fun testSimple(x: Double): Int {
|
||||
return { // BLOCK
|
||||
val tmp_0: Double = x
|
||||
@@ -8,27 +12,14 @@ fun testSimple(x: Double): Int {
|
||||
}
|
||||
}
|
||||
|
||||
fun testSmartCastInWhenSubject(x: Any): Int {
|
||||
when {
|
||||
x !is Double -> return -1
|
||||
}
|
||||
return { // BLOCK
|
||||
val tmp_1: Double = x /*as Double */
|
||||
when {
|
||||
ieee754equals(arg0 = tmp_1, arg1 = 0.0) -> 0
|
||||
else -> 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun testSmartCastInWhenCondition(x: Double, y: Any): Int {
|
||||
when {
|
||||
y !is Double -> return -1
|
||||
}
|
||||
return { // BLOCK
|
||||
val tmp_2: Double = x
|
||||
val tmp_1: Double = x
|
||||
when {
|
||||
ieee754equals(arg0 = tmp_2, arg1 = y /*as Double */) -> 0
|
||||
ieee754equals(arg0 = tmp_1, arg1 = y /*as Double */) -> 0
|
||||
else -> 1
|
||||
}
|
||||
}
|
||||
@@ -36,10 +27,23 @@ fun testSmartCastInWhenCondition(x: Double, y: Any): Int {
|
||||
|
||||
fun testSmartCastInWhenConditionInBranch(x: Any): Int {
|
||||
return { // BLOCK
|
||||
val tmp_3: Any = x
|
||||
val tmp_2: Any = x
|
||||
when {
|
||||
tmp_3 !is Double -> -1
|
||||
ieee754equals(arg0 = tmp_3 /*as Double */, arg1 = 0.0) -> 0
|
||||
tmp_2 !is Double -> -1
|
||||
ieee754equals(arg0 = tmp_2 /*as Double */, arg1 = 0.0) -> 0
|
||||
else -> 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun testSmartCastInWhenSubject(x: Any): Int {
|
||||
when {
|
||||
x !is Double -> return -1
|
||||
}
|
||||
return { // BLOCK
|
||||
val tmp_3: Double = x /*as Double */
|
||||
when {
|
||||
ieee754equals(arg0 = tmp_3, arg1 = 0.0) -> 0
|
||||
else -> 1
|
||||
}
|
||||
}
|
||||
@@ -61,10 +65,6 @@ fun testSmartCastToDifferentTypes(x: Any, y: Any): Int {
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(x: Double): Double {
|
||||
return x
|
||||
}
|
||||
|
||||
fun testWithPrematureExitInConditionSubexpression(x: Any): Int {
|
||||
return { // BLOCK
|
||||
val tmp_5: Any = x
|
||||
|
||||
Vendored
+33
-33
@@ -1,4 +1,9 @@
|
||||
FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Double
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun foo (x: kotlin.Double): kotlin.Double declared in <root>'
|
||||
GET_VAR 'x: kotlin.Double declared in <root>.foo' type=kotlin.Double origin=null
|
||||
FUN name:testSimple visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
BLOCK_BODY
|
||||
@@ -15,29 +20,6 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Int type=kotlin.Int value=1
|
||||
FUN name:testSmartCastInWhenSubject visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastInWhenSubject' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in <root>'
|
||||
CONST Int type=kotlin.Int value=-1
|
||||
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in <root>'
|
||||
BLOCK type=kotlin.Int origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Any [val]
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastInWhenSubject' type=kotlin.Any origin=null
|
||||
WHEN type=kotlin.Int origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'val tmp_1: kotlin.Any declared in <root>.testSmartCastInWhenSubject' type=kotlin.Any origin=null
|
||||
arg1: CONST Double type=kotlin.Double value=0.0
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Int type=kotlin.Int value=1
|
||||
FUN name:testSmartCastInWhenCondition visibility:public modality:FINAL <> (x:kotlin.Double, y:kotlin.Any) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Any
|
||||
@@ -50,12 +32,12 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
CONST Int type=kotlin.Int value=-1
|
||||
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenCondition (x: kotlin.Double, y: kotlin.Any): kotlin.Int declared in <root>'
|
||||
BLOCK type=kotlin.Int origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.Double [val]
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Double [val]
|
||||
GET_VAR 'x: kotlin.Double declared in <root>.testSmartCastInWhenCondition' type=kotlin.Double origin=null
|
||||
WHEN type=kotlin.Int origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_2: kotlin.Double declared in <root>.testSmartCastInWhenCondition' type=kotlin.Double origin=null
|
||||
arg0: GET_VAR 'val tmp_1: kotlin.Double declared in <root>.testSmartCastInWhenCondition' type=kotlin.Double origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'y: kotlin.Any declared in <root>.testSmartCastInWhenCondition' type=kotlin.Any origin=null
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
@@ -67,18 +49,41 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenConditionInBranch (x: kotlin.Any): kotlin.Int declared in <root>'
|
||||
BLOCK type=kotlin.Int origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.Any [val]
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.Any [val]
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
|
||||
WHEN type=kotlin.Int origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCL
|
||||
$this: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'val tmp_3: kotlin.Any declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
|
||||
GET_VAR 'val tmp_2: kotlin.Any declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
|
||||
then: CONST Int type=kotlin.Int value=-1
|
||||
BRANCH
|
||||
if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'val tmp_3: kotlin.Any declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
|
||||
GET_VAR 'val tmp_2: kotlin.Any declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
|
||||
arg1: CONST Double type=kotlin.Double value=0.0
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Int type=kotlin.Int value=1
|
||||
FUN name:testSmartCastInWhenSubject visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastInWhenSubject' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in <root>'
|
||||
CONST Int type=kotlin.Int value=-1
|
||||
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in <root>'
|
||||
BLOCK type=kotlin.Int origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.Any [val]
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastInWhenSubject' type=kotlin.Any origin=null
|
||||
WHEN type=kotlin.Int origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun ieee754equals (arg0: kotlin.Double?, arg1: kotlin.Double?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
GET_VAR 'val tmp_3: kotlin.Any declared in <root>.testSmartCastInWhenSubject' type=kotlin.Any origin=null
|
||||
arg1: CONST Double type=kotlin.Double value=0.0
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
@@ -116,11 +121,6 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Int type=kotlin.Int value=1
|
||||
FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Double) returnType:kotlin.Double
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Double
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun foo (x: kotlin.Double): kotlin.Double declared in <root>'
|
||||
GET_VAR 'x: kotlin.Double declared in <root>.foo' type=kotlin.Double origin=null
|
||||
FUN name:testWithPrematureExitInConditionSubexpression visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
|
||||
Vendored
+21
-20
@@ -1,3 +1,7 @@
|
||||
fun foo(x: Double): Double {
|
||||
return x
|
||||
}
|
||||
|
||||
fun testSimple(x: Double): Int {
|
||||
return { // BLOCK
|
||||
val tmp_0: Double = x
|
||||
@@ -8,37 +12,37 @@ fun testSimple(x: Double): Int {
|
||||
}
|
||||
}
|
||||
|
||||
fun testSmartCastInWhenSubject(x: Any): Int {
|
||||
when {
|
||||
x !is Double -> return -1
|
||||
}
|
||||
return { // BLOCK
|
||||
val tmp_1: Any = x
|
||||
when {
|
||||
ieee754equals(arg0 = tmp_1 /*as Double */, arg1 = 0.0) -> 0
|
||||
else -> 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun testSmartCastInWhenCondition(x: Double, y: Any): Int {
|
||||
when {
|
||||
y !is Double -> return -1
|
||||
}
|
||||
return { // BLOCK
|
||||
val tmp_2: Double = x
|
||||
val tmp_1: Double = x
|
||||
when {
|
||||
ieee754equals(arg0 = tmp_2, arg1 = y /*as Double */) -> 0
|
||||
ieee754equals(arg0 = tmp_1, arg1 = y /*as Double */) -> 0
|
||||
else -> 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun testSmartCastInWhenConditionInBranch(x: Any): Int {
|
||||
return { // BLOCK
|
||||
val tmp_2: Any = x
|
||||
when {
|
||||
tmp_2 is Double.not() -> -1
|
||||
ieee754equals(arg0 = tmp_2 /*as Double */, arg1 = 0.0) -> 0
|
||||
else -> 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun testSmartCastInWhenSubject(x: Any): Int {
|
||||
when {
|
||||
x !is Double -> return -1
|
||||
}
|
||||
return { // BLOCK
|
||||
val tmp_3: Any = x
|
||||
when {
|
||||
tmp_3 is Double.not() -> -1
|
||||
ieee754equals(arg0 = tmp_3 /*as Double */, arg1 = 0.0) -> 0
|
||||
else -> 1
|
||||
}
|
||||
@@ -61,10 +65,6 @@ fun testSmartCastToDifferentTypes(x: Any, y: Any): Int {
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(x: Double): Double {
|
||||
return x
|
||||
}
|
||||
|
||||
fun testWithPrematureExitInConditionSubexpression(x: Any): Int {
|
||||
return { // BLOCK
|
||||
val tmp_5: Any = x
|
||||
@@ -77,3 +77,4 @@ fun testWithPrematureExitInConditionSubexpression(x: Any): Int {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user