Use NoScopeRecordCliBindingTrace for codegen tests

This commit is contained in:
Dmitry Petrov
2018-02-13 17:50:53 +03:00
parent 10916b2046
commit 8bfbbe456f
31 changed files with 1013 additions and 41 deletions
+6 -1
View File
@@ -1,3 +1,6 @@
// !LANGUAGE: -ProperIeee754Comparisons
// IGNORE_BACKEND: JS
fun equals1(a: Double, b: Double) = a == b fun equals1(a: Double, b: Double) = a == b
fun equals2(a: Double?, b: Double?) = a!! == b!! fun equals2(a: Double?, b: Double?) = a!! == b!!
@@ -15,7 +18,9 @@ fun box(): String {
if (!equals2(-0.0, 0.0)) return "fail 2" if (!equals2(-0.0, 0.0)) return "fail 2"
if (!equals3(-0.0, 0.0)) return "fail 3" if (!equals3(-0.0, 0.0)) return "fail 3"
if (!equals4(-0.0, 0.0)) return "fail 4" if (!equals4(-0.0, 0.0)) return "fail 4"
if (!equals5(-0.0, 0.0)) return "fail 5"
// Smart casts behavior in 1.2
if (equals5(-0.0, 0.0)) return "fail 5"
return "OK" return "OK"
} }
@@ -0,0 +1,24 @@
// !LANGUAGE: +ProperIeee754Comparisons
fun equals1(a: Double, b: Double) = a == b
fun equals2(a: Double?, b: Double?) = a!! == b!!
fun equals3(a: Double?, b: Double?) = a != null && b != null && a == b
fun equals4(a: Double?, b: Double?) = if (a is Double && b is Double) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Double && b is Double) a == b else null!!
fun box(): String {
if (-0.0 != 0.0) return "fail 0"
if (!equals1(-0.0, 0.0)) return "fail 1"
if (!equals2(-0.0, 0.0)) return "fail 2"
if (!equals3(-0.0, 0.0)) return "fail 3"
if (!equals4(-0.0, 0.0)) return "fail 4"
if (!equals5(-0.0, 0.0)) return "fail 5"
return "OK"
}
+6 -1
View File
@@ -1,3 +1,6 @@
// !LANGUAGE: -ProperIeee754Comparisons
// IGNORE_BACKEND: JS
fun equals1(a: Float, b: Float) = a == b fun equals1(a: Float, b: Float) = a == b
fun equals2(a: Float?, b: Float?) = a!! == b!! fun equals2(a: Float?, b: Float?) = a!! == b!!
@@ -15,7 +18,9 @@ fun box(): String {
if (!equals2(-0.0F, 0.0F)) return "fail 2" if (!equals2(-0.0F, 0.0F)) return "fail 2"
if (!equals3(-0.0F, 0.0F)) return "fail 3" if (!equals3(-0.0F, 0.0F)) return "fail 3"
if (!equals4(-0.0F, 0.0F)) return "fail 4" if (!equals4(-0.0F, 0.0F)) return "fail 4"
if (!equals5(-0.0F, 0.0F)) return "fail 5"
// Smart casts behavior in 1.2
if (equals5(-0.0F, 0.0F)) return "fail 5"
return "OK" return "OK"
} }
@@ -0,0 +1,24 @@
// !LANGUAGE: +ProperIeee754Comparisons
fun equals1(a: Float, b: Float) = a == b
fun equals2(a: Float?, b: Float?) = a!! == b!!
fun equals3(a: Float?, b: Float?) = a != null && b != null && a == b
fun equals4(a: Float?, b: Float?) = if (a is Float && b is Float) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Float && b is Float) a == b else null!!
fun box(): String {
if (-0.0F != 0.0F) return "fail 0"
if (!equals1(-0.0F, 0.0F)) return "fail 1"
if (!equals2(-0.0F, 0.0F)) return "fail 2"
if (!equals3(-0.0F, 0.0F)) return "fail 3"
if (!equals4(-0.0F, 0.0F)) return "fail 4"
if (!equals5(-0.0F, 0.0F)) return "fail 5"
return "OK"
}
+12 -10
View File
@@ -1,4 +1,6 @@
// !LANGUAGE: -ProperIeee754Comparisons
// WITH_RUNTIME // WITH_RUNTIME
// IGNORE_BACKEND: JS
import kotlin.test.* import kotlin.test.*
@@ -117,14 +119,14 @@ fun box(): String {
assertFalse(adnq != dnq, "Double: (Any?)NaN != NaN?") assertFalse(adnq != dnq, "Double: (Any?)NaN != NaN?")
assertFalse(adnq != adnq, "Double: (Any?)NaN != (Any?)NaN") assertFalse(adnq != adnq, "Double: (Any?)NaN != (Any?)NaN")
// Stable smart-casts // Stable smart-casts -- effectively not takein into account in 1.2
if (adn is Double) { if (adn is Double) {
assertFalse(adn == adn, "Double smart-cast: NaN == NaN") assertTrue(adn == adn, "Double smart-cast: NaN == NaN")
assertTrue(adn != adn, "Double smart-cast: NaN == NaN") assertFalse(adn != adn, "Double smart-cast: NaN == NaN")
} }
if (adnq is Double?) { if (adnq is Double?) {
assertFalse(adnq == adnq, "Double? smart-cast: NaN? == NaN?") assertTrue(adnq == adnq, "Double? smart-cast: NaN? == NaN?")
assertTrue(adnq != adnq, "Double? smart-cast: NaN? == NaN?") assertFalse(adnq != adnq, "Double? smart-cast: NaN? == NaN?")
} }
// Unstable smart-casts // Unstable smart-casts
if (gdn is Double) { if (gdn is Double) {
@@ -192,14 +194,14 @@ fun box(): String {
assertFalse(afnq != fnq, "Float: (Any?)NaN != NaN?") assertFalse(afnq != fnq, "Float: (Any?)NaN != NaN?")
assertFalse(afnq != afnq, "Float: (Any?)NaN != (Any?)NaN") assertFalse(afnq != afnq, "Float: (Any?)NaN != (Any?)NaN")
// Stable smart-casts // Stable smart-casts -- effectively not takein into account in 1.2
if (afn is Float) { if (afn is Float) {
assertFalse(afn == afn, "Float smart-cast: NaN == NaN") assertTrue(afn == afn, "Float smart-cast: NaN == NaN")
assertTrue(afn != afn, "Float smart-cast: NaN == NaN") assertFalse(afn != afn, "Float smart-cast: NaN == NaN")
} }
if (afnq is Float?) { if (afnq is Float?) {
assertFalse(afnq == afnq, "Float? smart-cast: NaN? == NaN?") assertTrue(afnq == afnq, "Float? smart-cast: NaN? == NaN?")
assertTrue(afnq != afnq, "Float? smart-cast: NaN? == NaN?") assertFalse(afnq != afnq, "Float? smart-cast: NaN? == NaN?")
} }
// Unstable smart-casts // Unstable smart-casts
if (gfn is Float) { if (gfn is Float) {
@@ -0,0 +1,224 @@
// !LANGUAGE: +ProperIeee754Comparisons
// WITH_RUNTIME
import kotlin.test.*
object O {
var equalsCalled: Boolean = false
get(): Boolean {
val result = field
field = false
return result
}
set(v: Boolean) {
field = v
}
override fun equals(a: Any?): Boolean {
equalsCalled = true
return true
}
}
val A: Any = O
fun <T: Double> testDouble(d: Double, v: T, vararg va: T) {
assertFalse(d == d, "Double: d != d")
assertFalse(d == v, "Double: d != v")
assertFalse(d == va[0], "Double: d != va[0]")
assertFalse(v == d, "Double: v != d")
assertFalse(v == v, "Double: v != v")
assertFalse(v == va[0], "Double: v != va[0]")
assertFalse(va[0] == d, "Double: va[0] != d")
assertFalse(va[0] == v, "Double: va[0] != v")
assertFalse(va[0] == va[0], "Double: va[0] != va[0]")
assertTrue(d != d, "Double: d == d")
assertTrue(d != v, "Double: d == v")
assertTrue(d != va[0], "Double: d == va[0]")
assertTrue(v != d, "Double: v == d")
assertTrue(v != v, "Double: v == v")
assertTrue(v != va[0], "Double: v == va[0]")
assertTrue(va[0] != d, "Double: va[0] == d")
assertTrue(va[0] != v, "Double: va[0] == v")
assertTrue(va[0] != va[0], "Double: va[0] == va[0]")
}
fun <T: Float> testFloat(d: Float, v: T, vararg va: T) {
assertFalse(d == d, "Float: d != d")
assertFalse(d == v, "Float: d != v")
assertFalse(d == va[0], "Float: d != va[0]")
assertFalse(v == d, "Float: v != d")
assertFalse(v == v, "Float: v != v")
assertFalse(v == va[0], "Float: v != va[0]")
assertFalse(va[0] == d, "Float: va[0] != d")
assertFalse(va[0] == v, "Float: va[0] != v")
assertFalse(va[0] == va[0], "Float: va[0] != va[0]")
assertTrue(d != d, "Float: d == d")
assertTrue(d != v, "Float: d == v")
assertTrue(d != va[0], "Float: d == va[0]")
assertTrue(v != d, "Float: v == d")
assertTrue(v != v, "Float: v == v")
assertTrue(v != va[0], "Float: v == va[0]")
assertTrue(va[0] != d, "Float: va[0] == d")
assertTrue(va[0] != v, "Float: va[0] == v")
assertTrue(va[0] != va[0], "Float: va[0] == va[0]")
}
var gdn: Any = Double.NaN
var gfn: Any = Float.NaN
fun box(): String {
// Double
val dn = Double.NaN
val adn: Any = dn
val dnq: Double? = dn
val adnq: Any? = dn
assertFalse(dn == dn, "Double: NaN == NaN")
assertTrue(dn == adn, "Double: NaN != (Any)NaN")
assertTrue(adn == dn, "Double: (Any)NaN != NaN")
assertTrue(adn == adn, "Double: (Any)NaN != (Any)NaN")
assertFalse(dn == dnq, "Double: NaN == NaN?")
assertTrue(dn == adnq, "Double: NaN != (Any?)NaN")
assertTrue(adn == dnq, "Double: (Any)NaN != NaN?")
assertTrue(adn == adnq, "Double: (Any)NaN != (Any?)NaN")
assertFalse(dnq == dn, "Double: NaN? == NaN")
assertTrue(dnq == adn, "Double: NaN? != (Any)NaN")
assertTrue(adnq == dn, "Double: (Any?)NaN != NaN")
assertTrue(adnq == adn, "Double: (Any?)NaN != (Any)NaN")
assertFalse(dnq == dnq, "Double: NaN? == NaN?")
assertTrue(dnq == adnq, "Double: NaN? != (Any?)NaN")
assertTrue(adnq == dnq, "Double: (Any?)NaN != NaN?")
assertTrue(adnq == adnq, "Double: (Any?)NaN != (Any?)NaN")
assertTrue(dn != dn, "Double: NaN == NaN")
assertFalse(dn != adn, "Double: NaN != (Any)NaN")
assertFalse(adn != dn, "Double: (Any)NaN != NaN")
assertFalse(adn != adn, "Double: (Any)NaN != (Any)NaN")
assertTrue(dn != dnq, "Double: NaN == NaN?")
assertFalse(dn != adnq, "Double: NaN != (Any?)NaN")
assertFalse(adn != dnq, "Double: (Any)NaN != NaN?")
assertFalse(adn != adnq, "Double: (Any)NaN != (Any?)NaN")
assertTrue(dnq != dn, "Double: NaN? == NaN")
assertFalse(dnq != adn, "Double: NaN? != (Any)NaN")
assertFalse(adnq != dn, "Double: (Any?)NaN != NaN")
assertFalse(adnq != adn, "Double: (Any?)NaN != (Any)NaN")
assertTrue(dnq != dnq, "Double: NaN? == NaN?")
assertFalse(dnq != adnq, "Double: NaN? != (Any?)NaN")
assertFalse(adnq != dnq, "Double: (Any?)NaN != NaN?")
assertFalse(adnq != adnq, "Double: (Any?)NaN != (Any?)NaN")
// Stable smart-casts
if (adn is Double) {
assertFalse(adn == adn, "Double smart-cast: NaN == NaN")
assertTrue(adn != adn, "Double smart-cast: NaN == NaN")
}
if (adnq is Double?) {
assertFalse(adnq == adnq, "Double? smart-cast: NaN? == NaN?")
assertTrue(adnq != adnq, "Double? smart-cast: NaN? == NaN?")
}
// Unstable smart-casts
if (gdn is Double) {
assertTrue(gdn == gdn, "Unstable Double smart-cast: NaN != NaN")
assertFalse(gdn != gdn, "Unstable Double smart-cast: NaN != NaN")
}
if (gdn is Double?) {
assertTrue(gdn == gdn, "Unstable Double smart-cast: NaN != NaN")
assertFalse(gdn != gdn, "Unstable Double smart-cast: NaN != NaN")
}
// Explicit .equals
assertTrue(A == dn && O.equalsCalled, "A.equals not called for A == dn")
assertTrue(dn != A && !O.equalsCalled, "A.equals called for dn == A")
assertFalse(A != dn || !O.equalsCalled, "A.equals not called for A != dn")
assertFalse(dn == A || O.equalsCalled, "A.equals called for dn != A")
// Generics and varags
testDouble(Double.NaN, Double.NaN, Double.NaN)
// Float
val fn = Float.NaN
val afn: Any = fn
val fnq: Float? = fn
val afnq: Any? = fn
assertFalse(fn == fn, "Float: NaN == NaN")
assertTrue(fn == afn, "Float: NaN != (Any)NaN")
assertTrue(afn == fn, "Float: (Any)NaN != NaN")
assertTrue(afn == afn, "Float: (Any)NaN != (Any)NaN")
assertFalse(fn == fnq, "Float: NaN == NaN?")
assertTrue(fn == afnq, "Float: NaN != (Any?)NaN")
assertTrue(afn == fnq, "Float: (Any)NaN != NaN?")
assertTrue(afn == afnq, "Float: (Any)NaN != (Any?)NaN")
assertFalse(fnq == fn, "Float: NaN? == NaN")
assertTrue(fnq == afn, "Float: NaN? != (Any)NaN")
assertTrue(afnq == fn, "Float: (Any?)NaN != NaN")
assertTrue(afnq == afn, "Float: (Any?)NaN != (Any)NaN")
assertFalse(fnq == fnq, "Float: NaN? == NaN?")
assertTrue(fnq == afnq, "Float: NaN? != (Any?)NaN")
assertTrue(afnq == fnq, "Float: (Any?)NaN != NaN?")
assertTrue(afnq == afnq, "Float: (Any?)NaN != (Any?)NaN")
assertTrue(fn != fn, "Float: NaN == NaN")
assertFalse(fn != afn, "Float: NaN != (Any)NaN")
assertFalse(afn != fn, "Float: (Any)NaN != NaN")
assertFalse(afn != afn, "Float: (Any)NaN != (Any)NaN")
assertTrue(fn != fnq, "Float: NaN == NaN?")
assertFalse(fn != afnq, "Float: NaN != (Any?)NaN")
assertFalse(afn != fnq, "Float: (Any)NaN != NaN?")
assertFalse(afn != afnq, "Float: (Any)NaN != (Any?)NaN")
assertTrue(fnq != fn, "Float: NaN? == NaN")
assertFalse(fnq != afn, "Float: NaN? != (Any)NaN")
assertFalse(afnq != fn, "Float: (Any?)NaN != NaN")
assertFalse(afnq != afn, "Float: (Any?)NaN != (Any)NaN")
assertTrue(fnq != fnq, "Float: NaN? == NaN?")
assertFalse(fnq != afnq, "Float: NaN? != (Any?)NaN")
assertFalse(afnq != fnq, "Float: (Any?)NaN != NaN?")
assertFalse(afnq != afnq, "Float: (Any?)NaN != (Any?)NaN")
// Stable smart-casts
if (afn is Float) {
assertFalse(afn == afn, "Float smart-cast: NaN == NaN")
assertTrue(afn != afn, "Float smart-cast: NaN == NaN")
}
if (afnq is Float?) {
assertFalse(afnq == afnq, "Float? smart-cast: NaN? == NaN?")
assertTrue(afnq != afnq, "Float? smart-cast: NaN? == NaN?")
}
// Unstable smart-casts
if (gfn is Float) {
assertTrue(gfn == gfn, "Unstable Float smart-cast: NaN != NaN")
assertFalse(gfn != gfn, "Unstable Float smart-cast: NaN != NaN")
}
if (gfn is Float?) {
assertTrue(gfn == gfn, "Unstable Float smart-cast: NaN != NaN")
assertFalse(gfn != gfn, "Unstable Float smart-cast: NaN != NaN")
}
assertTrue(A == fn && O.equalsCalled, "A.equals not called for A == fn")
assertTrue(fn != A && !O.equalsCalled, "A.equals called for fn == A")
assertFalse(A != fn || !O.equalsCalled, "A.equals not called for A != fn")
assertFalse(fn == A || O.equalsCalled, "A.equals called for fn != A")
// Generics and varags
testFloat(Float.NaN, Float.NaN, Float.NaN)
return "OK"
}
@@ -1,3 +1,6 @@
// !LANGUAGE: -ProperIeee754Comparisons
// IGNORE_BACKEND: JS
fun equals1(a: Double, b: Double?) = a == b fun equals1(a: Double, b: Double?) = a == b
fun equals2(a: Double?, b: Double?) = a!! == b!! fun equals2(a: Double?, b: Double?) = a!! == b!!
@@ -20,11 +23,16 @@ fun box(): String {
if (!equals2(-0.0, 0.0)) return "fail 2" if (!equals2(-0.0, 0.0)) return "fail 2"
if (!equals3(-0.0, 0.0)) return "fail 3" if (!equals3(-0.0, 0.0)) return "fail 3"
if (!equals4(-0.0, 0.0)) return "fail 4" if (!equals4(-0.0, 0.0)) return "fail 4"
if (!equals5(-0.0, 0.0)) return "fail 5"
if (!equals6(-0.0, 0.0)) return "fail 6" // Smart casts behavior in 1.2
if (equals5(-0.0, 0.0)) return "fail 5"
if (equals6(-0.0, 0.0)) return "fail 6"
if (!equals7(-0.0, 0.0)) return "fail 7" if (!equals7(-0.0, 0.0)) return "fail 7"
if (!equals8(-0.0, 0.0)) return "fail 8" // Smart casts behavior in 1.2
if (equals8(-0.0, 0.0)) return "fail 8"
if (!equals8(null, null)) return "fail 9" if (!equals8(null, null)) return "fail 9"
if (equals8(null, 0.0)) return "fail 10" if (equals8(null, 0.0)) return "fail 10"
if (equals8(0.0, null)) return "fail 11" if (equals8(0.0, null)) return "fail 11"
@@ -0,0 +1,39 @@
// !LANGUAGE: +ProperIeee754Comparisons
fun equals1(a: Double, b: Double?) = a == b
fun equals2(a: Double?, b: Double?) = a!! == b!!
fun equals3(a: Double?, b: Double?) = a != null && a == b
fun equals4(a: Double?, b: Double?) = if (a is Double) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Double && b is Double?) a == b else null!!
fun equals6(a: Any?, b: Any?) = if (a is Double? && b is Double) a == b else null!!
fun equals7(a: Double?, b: Double?) = a == b
fun equals8(a: Any?, b: Any?) = if (a is Double? && b is Double?) a == b else null!!
fun box(): String {
if (!equals1(-0.0, 0.0)) return "fail 1"
if (!equals2(-0.0, 0.0)) return "fail 2"
if (!equals3(-0.0, 0.0)) return "fail 3"
if (!equals4(-0.0, 0.0)) return "fail 4"
if (!equals5(-0.0, 0.0)) return "fail 5"
if (!equals6(-0.0, 0.0)) return "fail 6"
if (!equals7(-0.0, 0.0)) return "fail 7"
if (!equals8(-0.0, 0.0)) return "fail 8"
if (!equals8(null, null)) return "fail 9"
if (equals8(null, 0.0)) return "fail 10"
if (equals8(0.0, null)) return "fail 11"
return "OK"
}
@@ -1,3 +1,6 @@
// !LANGUAGE: -ProperIeee754Comparisons
// IGNORE_BACKEND: JS
fun equals1(a: Float, b: Float?) = a == b fun equals1(a: Float, b: Float?) = a == b
fun equals2(a: Float?, b: Float?) = a!! == b!! fun equals2(a: Float?, b: Float?) = a!! == b!!
@@ -20,11 +23,16 @@ fun box(): String {
if (!equals2(-0.0F, 0.0F)) return "fail 2" if (!equals2(-0.0F, 0.0F)) return "fail 2"
if (!equals3(-0.0F, 0.0F)) return "fail 3" if (!equals3(-0.0F, 0.0F)) return "fail 3"
if (!equals4(-0.0F, 0.0F)) return "fail 4" if (!equals4(-0.0F, 0.0F)) return "fail 4"
if (!equals5(-0.0F, 0.0F)) return "fail 5"
if (!equals6(-0.0F, 0.0F)) return "fail 6" // Smart casts behavior in 1.2
if (equals5(-0.0F, 0.0F)) return "fail 5"
if (equals6(-0.0F, 0.0F)) return "fail 6"
if (!equals7(-0.0F, 0.0F)) return "fail 7" if (!equals7(-0.0F, 0.0F)) return "fail 7"
if (!equals8(-0.0F, 0.0F)) return "fail 8" // Smart casts behavior in 1.2
if (equals8(-0.0F, 0.0F)) return "fail 8"
if (!equals8(null, null)) return "fail 9" if (!equals8(null, null)) return "fail 9"
if (equals8(null, 0.0F)) return "fail 10" if (equals8(null, 0.0F)) return "fail 10"
if (equals8(0.0F, null)) return "fail 11" if (equals8(0.0F, null)) return "fail 11"
@@ -0,0 +1,39 @@
// !LANGUAGE: +ProperIeee754Comparisons
fun equals1(a: Float, b: Float?) = a == b
fun equals2(a: Float?, b: Float?) = a!! == b!!
fun equals3(a: Float?, b: Float?) = a != null && a == b
fun equals4(a: Float?, b: Float?) = if (a is Float) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Float && b is Float?) a == b else null!!
fun equals6(a: Any?, b: Any?) = if (a is Float? && b is Float) a == b else null!!
fun equals7(a: Float?, b: Float?) = a == b
fun equals8(a: Any?, b: Any?) = if (a is Float? && b is Float?) a == b else null!!
fun box(): String {
if (!equals1(-0.0F, 0.0F)) return "fail 1"
if (!equals2(-0.0F, 0.0F)) return "fail 2"
if (!equals3(-0.0F, 0.0F)) return "fail 3"
if (!equals4(-0.0F, 0.0F)) return "fail 4"
if (!equals5(-0.0F, 0.0F)) return "fail 5"
if (!equals6(-0.0F, 0.0F)) return "fail 6"
if (!equals7(-0.0F, 0.0F)) return "fail 7"
if (!equals8(-0.0F, 0.0F)) return "fail 8"
if (!equals8(null, null)) return "fail 9"
if (equals8(null, 0.0F)) return "fail 10"
if (equals8(0.0F, null)) return "fail 11"
return "OK"
}
+6 -1
View File
@@ -1,3 +1,6 @@
// !LANGUAGE: -ProperIeee754Comparisons
// IGNORE_BACKEND: JS
fun greater1(a: Double, b: Double) = a > b fun greater1(a: Double, b: Double) = a > b
fun greater2(a: Double?, b: Double?) = a!! > b!! fun greater2(a: Double?, b: Double?) = a!! > b!!
@@ -14,7 +17,9 @@ fun box(): String {
if (greater2(0.0, -0.0)) return "fail 2" if (greater2(0.0, -0.0)) return "fail 2"
if (greater3(0.0, -0.0)) return "fail 3" if (greater3(0.0, -0.0)) return "fail 3"
if (greater4(0.0, -0.0)) return "fail 4" if (greater4(0.0, -0.0)) return "fail 4"
if (greater5(0.0, -0.0)) return "fail 5"
// Smart casts behavior in 1.2
if (!greater5(0.0, -0.0)) return "fail 5"
return "OK" return "OK"
} }
@@ -0,0 +1,22 @@
// !LANGUAGE: +ProperIeee754Comparisons
fun greater1(a: Double, b: Double) = a > b
fun greater2(a: Double?, b: Double?) = a!! > b!!
fun greater3(a: Double?, b: Double?) = a != null && b != null && a > b
fun greater4(a: Double?, b: Double?) = if (a is Double && b is Double) a > b else null!!
fun greater5(a: Any?, b: Any?) = if (a is Double && b is Double) a > b else null!!
fun box(): String {
if (0.0 > -0.0) return "fail 0"
if (greater1(0.0, -0.0)) return "fail 1"
if (greater2(0.0, -0.0)) return "fail 2"
if (greater3(0.0, -0.0)) return "fail 3"
if (greater4(0.0, -0.0)) return "fail 4"
if (greater5(0.0, -0.0)) return "fail 5"
return "OK"
}
+6 -1
View File
@@ -1,3 +1,6 @@
// !LANGUAGE: -ProperIeee754Comparisons
// IGNORE_BACKEND: JS
fun greater1(a: Float, b: Float) = a > b fun greater1(a: Float, b: Float) = a > b
fun greater2(a: Float?, b: Float?) = a!! > b!! fun greater2(a: Float?, b: Float?) = a!! > b!!
@@ -14,7 +17,9 @@ fun box(): String {
if (greater2(0.0F, -0.0F)) return "fail 2" if (greater2(0.0F, -0.0F)) return "fail 2"
if (greater3(0.0F, -0.0F)) return "fail 3" if (greater3(0.0F, -0.0F)) return "fail 3"
if (greater4(0.0F, -0.0F)) return "fail 4" if (greater4(0.0F, -0.0F)) return "fail 4"
if (greater5(0.0F, -0.0F)) return "fail 5"
// Smart casts behavior in 1.2
if (!greater5(0.0F, -0.0F)) return "fail 5"
return "OK" return "OK"
} }
@@ -0,0 +1,23 @@
// !LANGUAGE: +ProperIeee754Comparisons
fun greater1(a: Float, b: Float) = a > b
fun greater2(a: Float?, b: Float?) = a!! > b!!
fun greater3(a: Float?, b: Float?) = a != null && b != null && a > b
fun greater4(a: Float?, b: Float?) = if (a is Float && b is Float) a > b else null!!
fun greater5(a: Any?, b: Any?) = if (a is Float && b is Float) a > b else null!!
fun box(): String {
if (0.0F > -0.0F) return "fail 0"
if (greater1(0.0F, -0.0F)) return "fail 1"
if (greater2(0.0F, -0.0F)) return "fail 2"
if (greater3(0.0F, -0.0F)) return "fail 3"
if (greater4(0.0F, -0.0F)) return "fail 4"
if (greater5(0.0F, -0.0F)) return "fail 5"
return "OK"
}
+6 -1
View File
@@ -1,3 +1,6 @@
// !LANGUAGE: -ProperIeee754Comparisons
// IGNORE_BACKEND: JS
fun less1(a: Double, b: Double) = a < b fun less1(a: Double, b: Double) = a < b
fun less2(a: Double?, b: Double?) = a!! < b!! fun less2(a: Double?, b: Double?) = a!! < b!!
@@ -14,7 +17,9 @@ fun box(): String {
if (less2(-0.0, 0.0)) return "fail 2" if (less2(-0.0, 0.0)) return "fail 2"
if (less3(-0.0, 0.0)) return "fail 3" if (less3(-0.0, 0.0)) return "fail 3"
if (less4(-0.0, 0.0)) return "fail 4" if (less4(-0.0, 0.0)) return "fail 4"
if (less5(-0.0, 0.0)) return "fail 5"
// Smart casts behavior in 1.2
if (!less5(-0.0, 0.0)) return "fail 5"
return "OK" return "OK"
} }
@@ -0,0 +1,23 @@
// !LANGUAGE: +ProperIeee754Comparisons
fun less1(a: Double, b: Double) = a < b
fun less2(a: Double?, b: Double?) = a!! < b!!
fun less3(a: Double?, b: Double?) = a != null && b != null && a < b
fun less4(a: Double?, b: Double?) = if (a is Double && b is Double) a < b else null!!
fun less5(a: Any?, b: Any?) = if (a is Double && b is Double) a < b else null!!
fun box(): String {
if (-0.0 < 0.0) return "fail 0"
if (less1(-0.0, 0.0)) return "fail 1"
if (less2(-0.0, 0.0)) return "fail 2"
if (less3(-0.0, 0.0)) return "fail 3"
if (less4(-0.0, 0.0)) return "fail 4"
if (less5(-0.0, 0.0)) return "fail 5"
return "OK"
}
+6 -1
View File
@@ -1,3 +1,6 @@
// !LANGUAGE: -ProperIeee754Comparisons
// IGNORE_BACKEND: JS
fun less1(a: Float, b: Float) = a < b fun less1(a: Float, b: Float) = a < b
fun less2(a: Float?, b: Float?) = a!! < b!! fun less2(a: Float?, b: Float?) = a!! < b!!
@@ -14,7 +17,9 @@ fun box(): String {
if (less2(-0.0F, 0.0F)) return "fail 2" if (less2(-0.0F, 0.0F)) return "fail 2"
if (less3(-0.0F, 0.0F)) return "fail 3" if (less3(-0.0F, 0.0F)) return "fail 3"
if (less4(-0.0F, 0.0F)) return "fail 4" if (less4(-0.0F, 0.0F)) return "fail 4"
if (less5(-0.0F, 0.0F)) return "fail 5"
// Smart casts behavior in 1.2
if (!less5(-0.0F, 0.0F)) return "fail 5"
return "OK" return "OK"
} }
@@ -0,0 +1,23 @@
// !LANGUAGE: +ProperIeee754Comparisons
fun less1(a: Float, b: Float) = a < b
fun less2(a: Float?, b: Float?) = a!! < b!!
fun less3(a: Float?, b: Float?) = a != null && b != null && a < b
fun less4(a: Float?, b: Float?) = if (a is Float && b is Float) a < b else true
fun less5(a: Any?, b: Any?) = if (a is Float && b is Float) a < b else true
fun box(): String {
if (-0.0F < 0.0F) return "fail 0"
if (less1(-0.0F, 0.0F)) return "fail 1"
if (less2(-0.0F, 0.0F)) return "fail 2"
if (less3(-0.0F, 0.0F)) return "fail 3"
if (less4(-0.0F, 0.0F)) return "fail 4"
if (less5(-0.0F, 0.0F)) return "fail 5"
return "OK"
}
+9 -2
View File
@@ -1,25 +1,32 @@
// !LANGUAGE: -ProperIeee754Comparisons
// IGNORE_BACKEND: JS
fun box(): String { fun box(): String {
val plusZero: Any = 0.0 val plusZero: Any = 0.0
val minusZero: Any = -0.0 val minusZero: Any = -0.0
val nullDouble: Double? = null val nullDouble: Double? = null
if (plusZero is Double) { if (plusZero is Double) {
// Smart casts behavior in 1.2
when (plusZero) { when (plusZero) {
nullDouble -> { nullDouble -> {
return "fail 1" return "fail 1"
} }
-0.0 -> { -0.0 -> {
return "fail 2"
} }
else -> return "fail 2" else -> {}
} }
if (minusZero is Double) { if (minusZero is Double) {
// Smart casts behavior in 1.2
when (plusZero) { when (plusZero) {
nullDouble -> { nullDouble -> {
return "fail 3" return "fail 3"
} }
minusZero -> { minusZero -> {
return "fail 4"
} }
else -> return "fail 4" else -> {}
} }
} }
} }
+6 -2
View File
@@ -1,4 +1,6 @@
// LANGUAGE_VERSION: 1.0 // LANGUAGE_VERSION: 1.0
// IGNORE_BACKEND: JS
fun box(): String { fun box(): String {
val plusZero: Any = 0.0 val plusZero: Any = 0.0
val minusZero: Any = -0.0 val minusZero: Any = -0.0
@@ -9,8 +11,9 @@ fun box(): String {
return "fail 1" return "fail 1"
} }
-0.0 -> { -0.0 -> {
return "fail 2"
} }
else -> return "fail 2" else -> {}
} }
if (minusZero is Double) { if (minusZero is Double) {
@@ -19,8 +22,9 @@ fun box(): String {
return "fail 3" return "fail 3"
} }
minusZero -> { minusZero -> {
return "fail 4"
} }
else -> return "fail 4" else -> {}
} }
} }
} }
@@ -0,0 +1,34 @@
// !LANGUAGE: +ProperIeee754Comparisons
fun box(): String {
val plusZero: Any = 0.0
val minusZero: Any = -0.0
val nullDouble: Double? = null
if (plusZero is Double) {
when (plusZero) {
nullDouble -> {
return "fail 1"
}
-0.0 -> {
}
else -> {
return "fail 2"
}
}
if (minusZero is Double) {
when (plusZero) {
nullDouble -> {
return "fail 3"
}
minusZero -> {
}
else -> {
return "fail 4"
}
}
}
}
return "OK"
}
+7 -4
View File
@@ -1,3 +1,6 @@
// !LANGUAGE: -ProperIeee754Comparisons
// IGNORE_BACKEND: JS
fun box(): String { fun box(): String {
val plusZero: Any = 0.0 val plusZero: Any = 0.0
val minusZero: Any = -0.0 val minusZero: Any = -0.0
@@ -7,18 +10,18 @@ fun box(): String {
return "fail 1" return "fail 1"
} }
plusZero > minusZero -> { plusZero > minusZero -> {}
return "fail 2"
}
else -> { else -> {
return "fail 2"
} }
} }
when { when {
plusZero == minusZero -> { plusZero == minusZero -> {
return "fail 3"
} }
else -> return "fail 3" else -> {}
} }
} }
@@ -0,0 +1,28 @@
// !LANGUAGE: +ProperIeee754Comparisons
fun box(): String {
val plusZero: Any = 0.0
val minusZero: Any = -0.0
if (plusZero is Double && minusZero is Double) {
when {
plusZero < minusZero -> {
return "fail 1"
}
plusZero > minusZero -> {
return "fail 2"
}
else -> {}
}
when {
plusZero == minusZero -> {}
else -> {
return "fail 3"
}
}
}
return "OK"
}
@@ -0,0 +1,34 @@
// !LANGUAGE: +ProperIeee754Comparisons
fun box(): String {
val plusZero: Any = 0.0
val minusZero: Any = -0.0
val nullDouble: Double? = null
if (plusZero is Double) {
when (plusZero) {
nullDouble -> {
return "fail 1"
}
-0.0 -> {
}
else -> {
return "fail 2"
}
}
if (minusZero is Double) {
when (plusZero) {
nullDouble -> {
return "fail 3"
}
minusZero -> {
}
else -> {
return "fail 4"
}
}
}
}
return "OK"
}
@@ -35,9 +35,11 @@ import org.jetbrains.kotlin.checkers.CheckerTestUtil;
import org.jetbrains.kotlin.checkers.CompilerTestLanguageVersionSettings; import org.jetbrains.kotlin.checkers.CompilerTestLanguageVersionSettings;
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys; import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys;
import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsKt; import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsKt;
import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport;
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles; import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime; import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
import org.jetbrains.kotlin.codegen.state.GenerationState;
import org.jetbrains.kotlin.config.*; import org.jetbrains.kotlin.config.*;
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil; import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil;
import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.name.FqName;
@@ -462,8 +464,11 @@ public abstract class CodegenTestCase extends KtUsefulTestCase {
protected ClassFileFactory generateClassesInFile() { protected ClassFileFactory generateClassesInFile() {
if (classFileFactory == null) { if (classFileFactory == null) {
try { try {
classFileFactory = GenerationState generationState = GenerationUtils.compileFiles(
GenerationUtils.compileFiles(myFiles.getPsiFiles(), myEnvironment, getClassBuilderFactory()).getFactory(); myFiles.getPsiFiles(), myEnvironment, getClassBuilderFactory(),
new CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace()
);
classFileFactory = generationState.getFactory();
if (verifyWithDex() && DxChecker.RUN_DX_CHECKER) { if (verifyWithDex() && DxChecker.RUN_DX_CHECKER) {
DxChecker.check(classFileFactory); DxChecker.check(classFileFactory);
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.codegen
import com.intellij.psi.search.GlobalSearchScope import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory
import org.jetbrains.kotlin.cli.common.output.outputUtils.writeAllTo import org.jetbrains.kotlin.cli.common.output.outputUtils.writeAllTo
import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.codegen.state.GenerationState import org.jetbrains.kotlin.codegen.state.GenerationState
import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfiguration
@@ -26,6 +27,7 @@ import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.descriptors.PackagePartProvider import org.jetbrains.kotlin.descriptors.PackagePartProvider
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.AnalyzingUtils import org.jetbrains.kotlin.resolve.AnalyzingUtils
import org.jetbrains.kotlin.resolve.BindingTrace
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil
import java.io.File import java.io.File
@@ -45,18 +47,21 @@ object GenerationUtils {
fun compileFiles( fun compileFiles(
files: List<KtFile>, files: List<KtFile>,
environment: KotlinCoreEnvironment, environment: KotlinCoreEnvironment,
classBuilderFactory: ClassBuilderFactory = ClassBuilderFactories.TEST classBuilderFactory: ClassBuilderFactory = ClassBuilderFactories.TEST,
trace: BindingTrace = CliLightClassGenerationSupport.CliBindingTrace()
): GenerationState = ): GenerationState =
compileFiles(files, environment.configuration, classBuilderFactory, environment::createPackagePartProvider) compileFiles(files, environment.configuration, classBuilderFactory, environment::createPackagePartProvider, trace)
@JvmStatic @JvmStatic
fun compileFiles( fun compileFiles(
files: List<KtFile>, files: List<KtFile>,
configuration: CompilerConfiguration, configuration: CompilerConfiguration,
classBuilderFactory: ClassBuilderFactory, classBuilderFactory: ClassBuilderFactory,
packagePartProvider: (GlobalSearchScope) -> PackagePartProvider packagePartProvider: (GlobalSearchScope) -> PackagePartProvider,
trace: BindingTrace = CliLightClassGenerationSupport.CliBindingTrace()
): GenerationState { ): GenerationState {
val analysisResult = JvmResolveUtil.analyzeAndCheckForErrors(files.first().project, files, configuration, packagePartProvider) val analysisResult =
JvmResolveUtil.analyzeAndCheckForErrors(files.first().project, files, configuration, packagePartProvider, trace)
analysisResult.throwIfError() analysisResult.throwIfError()
val state = GenerationState.Builder( val state = GenerationState.Builder(
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.container.ComponentProvider
import org.jetbrains.kotlin.descriptors.PackagePartProvider import org.jetbrains.kotlin.descriptors.PackagePartProvider
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.AnalyzingUtils import org.jetbrains.kotlin.resolve.AnalyzingUtils
import org.jetbrains.kotlin.resolve.BindingTrace
import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory
object JvmResolveUtil { object JvmResolveUtil {
@@ -51,13 +52,14 @@ object JvmResolveUtil {
project: Project, project: Project,
files: Collection<KtFile>, files: Collection<KtFile>,
configuration: CompilerConfiguration, configuration: CompilerConfiguration,
packagePartProvider: (GlobalSearchScope) -> PackagePartProvider packagePartProvider: (GlobalSearchScope) -> PackagePartProvider,
trace: BindingTrace = CliLightClassGenerationSupport.CliBindingTrace()
): AnalysisResult { ): AnalysisResult {
for (file in files) { for (file in files) {
AnalyzingUtils.checkForSyntacticErrors(file) AnalyzingUtils.checkForSyntacticErrors(file)
} }
return analyze(project, files, configuration, packagePartProvider).apply { return analyze(project, files, configuration, packagePartProvider, trace).apply {
AnalyzingUtils.throwExceptionOnErrors(bindingContext) AnalyzingUtils.throwExceptionOnErrors(bindingContext)
} }
} }
@@ -82,10 +84,11 @@ object JvmResolveUtil {
project: Project, project: Project,
files: Collection<KtFile>, files: Collection<KtFile>,
configuration: CompilerConfiguration, configuration: CompilerConfiguration,
packagePartProviderFactory: (GlobalSearchScope) -> PackagePartProvider packagePartProviderFactory: (GlobalSearchScope) -> PackagePartProvider,
trace: BindingTrace = CliLightClassGenerationSupport.CliBindingTrace()
): AnalysisResult { ): AnalysisResult {
return TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration( return TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
project, files, CliLightClassGenerationSupport.CliBindingTrace(), configuration, packagePartProviderFactory project, files, trace, configuration, packagePartProviderFactory
) )
} }
} }
@@ -10035,30 +10035,60 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsDouble_properIeeeComparisons.kt")
public void testEqualsDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsFloat.kt") @TestMetadata("equalsFloat.kt")
public void testEqualsFloat() throws Exception { public void testEqualsFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsFloat_properIeeeComparisons.kt")
public void testEqualsFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsNaN.kt") @TestMetadata("equalsNaN.kt")
public void testEqualsNaN() throws Exception { public void testEqualsNaN() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNaN_properIeeeComparisons.kt")
public void testEqualsNaN_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsNullableDouble.kt") @TestMetadata("equalsNullableDouble.kt")
public void testEqualsNullableDouble() throws Exception { public void testEqualsNullableDouble() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNullableDouble_properIeeeComparisons.kt")
public void testEqualsNullableDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsNullableFloat.kt") @TestMetadata("equalsNullableFloat.kt")
public void testEqualsNullableFloat() throws Exception { public void testEqualsNullableFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNullableFloat_properIeeeComparisons.kt")
public void testEqualsNullableFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("explicitCompareCall.kt") @TestMetadata("explicitCompareCall.kt")
public void testExplicitCompareCall() throws Exception { public void testExplicitCompareCall() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/explicitCompareCall.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/explicitCompareCall.kt");
@@ -10083,12 +10113,24 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
doTest(fileName); doTest(fileName);
} }
@TestMetadata("greaterDouble_properIeeeComparisons.kt")
public void testGreaterDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("greaterFloat.kt") @TestMetadata("greaterFloat.kt")
public void testGreaterFloat() throws Exception { public void testGreaterFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("greaterFloat_properIeeeComparisons.kt")
public void testGreaterFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("inline.kt") @TestMetadata("inline.kt")
public void testInline() throws Exception { public void testInline() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/inline.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/inline.kt");
@@ -10101,12 +10143,24 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
doTest(fileName); doTest(fileName);
} }
@TestMetadata("lessDouble_properIeeeComparisons.kt")
public void testLessDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("lessFloat.kt") @TestMetadata("lessFloat.kt")
public void testLessFloat() throws Exception { public void testLessFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("lessFloat_properIeeeComparisons.kt")
public void testLessFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("nullableAnyToReal.kt") @TestMetadata("nullableAnyToReal.kt")
public void testNullableAnyToReal() throws Exception { public void testNullableAnyToReal() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/nullableAnyToReal.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/nullableAnyToReal.kt");
@@ -10227,12 +10281,24 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
doTest(fileName); doTest(fileName);
} }
@TestMetadata("when10_properIeeeComparisons.kt")
public void testWhen10_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when10_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("whenNoSubject.kt") @TestMetadata("whenNoSubject.kt")
public void testWhenNoSubject() throws Exception { public void testWhenNoSubject() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("whenNoSubject_properIeeeComparisons.kt")
public void testWhenNoSubject_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("whenNullableSmartCast.kt") @TestMetadata("whenNullableSmartCast.kt")
public void testWhenNullableSmartCast() throws Exception { public void testWhenNullableSmartCast() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast.kt");
@@ -10244,6 +10310,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast10.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast10.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("when_properIeeeComparisons.kt")
public void testWhen_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when_properIeeeComparisons.kt");
doTest(fileName);
}
} }
@TestMetadata("compiler/testData/codegen/box/increment") @TestMetadata("compiler/testData/codegen/box/increment")
@@ -10035,30 +10035,60 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsDouble_properIeeeComparisons.kt")
public void testEqualsDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsFloat.kt") @TestMetadata("equalsFloat.kt")
public void testEqualsFloat() throws Exception { public void testEqualsFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsFloat_properIeeeComparisons.kt")
public void testEqualsFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsNaN.kt") @TestMetadata("equalsNaN.kt")
public void testEqualsNaN() throws Exception { public void testEqualsNaN() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNaN_properIeeeComparisons.kt")
public void testEqualsNaN_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsNullableDouble.kt") @TestMetadata("equalsNullableDouble.kt")
public void testEqualsNullableDouble() throws Exception { public void testEqualsNullableDouble() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNullableDouble_properIeeeComparisons.kt")
public void testEqualsNullableDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsNullableFloat.kt") @TestMetadata("equalsNullableFloat.kt")
public void testEqualsNullableFloat() throws Exception { public void testEqualsNullableFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNullableFloat_properIeeeComparisons.kt")
public void testEqualsNullableFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("explicitCompareCall.kt") @TestMetadata("explicitCompareCall.kt")
public void testExplicitCompareCall() throws Exception { public void testExplicitCompareCall() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/explicitCompareCall.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/explicitCompareCall.kt");
@@ -10083,12 +10113,24 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
doTest(fileName); doTest(fileName);
} }
@TestMetadata("greaterDouble_properIeeeComparisons.kt")
public void testGreaterDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("greaterFloat.kt") @TestMetadata("greaterFloat.kt")
public void testGreaterFloat() throws Exception { public void testGreaterFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("greaterFloat_properIeeeComparisons.kt")
public void testGreaterFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("inline.kt") @TestMetadata("inline.kt")
public void testInline() throws Exception { public void testInline() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/inline.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/inline.kt");
@@ -10101,12 +10143,24 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
doTest(fileName); doTest(fileName);
} }
@TestMetadata("lessDouble_properIeeeComparisons.kt")
public void testLessDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("lessFloat.kt") @TestMetadata("lessFloat.kt")
public void testLessFloat() throws Exception { public void testLessFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("lessFloat_properIeeeComparisons.kt")
public void testLessFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("nullableAnyToReal.kt") @TestMetadata("nullableAnyToReal.kt")
public void testNullableAnyToReal() throws Exception { public void testNullableAnyToReal() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/nullableAnyToReal.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/nullableAnyToReal.kt");
@@ -10227,12 +10281,24 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
doTest(fileName); doTest(fileName);
} }
@TestMetadata("when10_properIeeeComparisons.kt")
public void testWhen10_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when10_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("whenNoSubject.kt") @TestMetadata("whenNoSubject.kt")
public void testWhenNoSubject() throws Exception { public void testWhenNoSubject() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("whenNoSubject_properIeeeComparisons.kt")
public void testWhenNoSubject_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("whenNullableSmartCast.kt") @TestMetadata("whenNullableSmartCast.kt")
public void testWhenNullableSmartCast() throws Exception { public void testWhenNullableSmartCast() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast.kt");
@@ -10244,6 +10310,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast10.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast10.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("when_properIeeeComparisons.kt")
public void testWhen_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when_properIeeeComparisons.kt");
doTest(fileName);
}
} }
@TestMetadata("compiler/testData/codegen/box/increment") @TestMetadata("compiler/testData/codegen/box/increment")
@@ -10035,30 +10035,60 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsDouble_properIeeeComparisons.kt")
public void testEqualsDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsFloat.kt") @TestMetadata("equalsFloat.kt")
public void testEqualsFloat() throws Exception { public void testEqualsFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsFloat_properIeeeComparisons.kt")
public void testEqualsFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsNaN.kt") @TestMetadata("equalsNaN.kt")
public void testEqualsNaN() throws Exception { public void testEqualsNaN() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNaN_properIeeeComparisons.kt")
public void testEqualsNaN_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsNullableDouble.kt") @TestMetadata("equalsNullableDouble.kt")
public void testEqualsNullableDouble() throws Exception { public void testEqualsNullableDouble() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNullableDouble_properIeeeComparisons.kt")
public void testEqualsNullableDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("equalsNullableFloat.kt") @TestMetadata("equalsNullableFloat.kt")
public void testEqualsNullableFloat() throws Exception { public void testEqualsNullableFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNullableFloat_properIeeeComparisons.kt")
public void testEqualsNullableFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("explicitCompareCall.kt") @TestMetadata("explicitCompareCall.kt")
public void testExplicitCompareCall() throws Exception { public void testExplicitCompareCall() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/explicitCompareCall.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/explicitCompareCall.kt");
@@ -10083,12 +10113,24 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
doTest(fileName); doTest(fileName);
} }
@TestMetadata("greaterDouble_properIeeeComparisons.kt")
public void testGreaterDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("greaterFloat.kt") @TestMetadata("greaterFloat.kt")
public void testGreaterFloat() throws Exception { public void testGreaterFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("greaterFloat_properIeeeComparisons.kt")
public void testGreaterFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("inline.kt") @TestMetadata("inline.kt")
public void testInline() throws Exception { public void testInline() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/inline.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/inline.kt");
@@ -10101,12 +10143,24 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
doTest(fileName); doTest(fileName);
} }
@TestMetadata("lessDouble_properIeeeComparisons.kt")
public void testLessDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("lessFloat.kt") @TestMetadata("lessFloat.kt")
public void testLessFloat() throws Exception { public void testLessFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("lessFloat_properIeeeComparisons.kt")
public void testLessFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("nullableAnyToReal.kt") @TestMetadata("nullableAnyToReal.kt")
public void testNullableAnyToReal() throws Exception { public void testNullableAnyToReal() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/nullableAnyToReal.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/nullableAnyToReal.kt");
@@ -10227,12 +10281,24 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
doTest(fileName); doTest(fileName);
} }
@TestMetadata("when10_properIeeeComparisons.kt")
public void testWhen10_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when10_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("whenNoSubject.kt") @TestMetadata("whenNoSubject.kt")
public void testWhenNoSubject() throws Exception { public void testWhenNoSubject() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("whenNoSubject_properIeeeComparisons.kt")
public void testWhenNoSubject_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject_properIeeeComparisons.kt");
doTest(fileName);
}
@TestMetadata("whenNullableSmartCast.kt") @TestMetadata("whenNullableSmartCast.kt")
public void testWhenNullableSmartCast() throws Exception { public void testWhenNullableSmartCast() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast.kt");
@@ -10244,6 +10310,12 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast10.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast10.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("when_properIeeeComparisons.kt")
public void testWhen_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when_properIeeeComparisons.kt");
doTest(fileName);
}
} }
@TestMetadata("compiler/testData/codegen/box/increment") @TestMetadata("compiler/testData/codegen/box/increment")
@@ -10980,30 +10980,90 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
@TestMetadata("equalsDouble.kt") @TestMetadata("equalsDouble.kt")
public void testEqualsDouble() throws Exception { public void testEqualsDouble() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsDouble.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsDouble.kt");
try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
}
@TestMetadata("equalsDouble_properIeeeComparisons.kt")
public void testEqualsDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsDouble_properIeeeComparisons.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsFloat.kt") @TestMetadata("equalsFloat.kt")
public void testEqualsFloat() throws Exception { public void testEqualsFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat.kt");
try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
}
@TestMetadata("equalsFloat_properIeeeComparisons.kt")
public void testEqualsFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsFloat_properIeeeComparisons.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNaN.kt") @TestMetadata("equalsNaN.kt")
public void testEqualsNaN() throws Exception { public void testEqualsNaN() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN.kt");
try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
}
@TestMetadata("equalsNaN_properIeeeComparisons.kt")
public void testEqualsNaN_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNaN_properIeeeComparisons.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNullableDouble.kt") @TestMetadata("equalsNullableDouble.kt")
public void testEqualsNullableDouble() throws Exception { public void testEqualsNullableDouble() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble.kt");
try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
}
@TestMetadata("equalsNullableDouble_properIeeeComparisons.kt")
public void testEqualsNullableDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableDouble_properIeeeComparisons.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("equalsNullableFloat.kt") @TestMetadata("equalsNullableFloat.kt")
public void testEqualsNullableFloat() throws Exception { public void testEqualsNullableFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat.kt");
try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
}
@TestMetadata("equalsNullableFloat_properIeeeComparisons.kt")
public void testEqualsNullableFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/equalsNullableFloat_properIeeeComparisons.kt");
doTest(fileName); doTest(fileName);
} }
@@ -11040,12 +11100,36 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
@TestMetadata("greaterDouble.kt") @TestMetadata("greaterDouble.kt")
public void testGreaterDouble() throws Exception { public void testGreaterDouble() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterDouble.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterDouble.kt");
try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
}
@TestMetadata("greaterDouble_properIeeeComparisons.kt")
public void testGreaterDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterDouble_properIeeeComparisons.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("greaterFloat.kt") @TestMetadata("greaterFloat.kt")
public void testGreaterFloat() throws Exception { public void testGreaterFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat.kt");
try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
}
@TestMetadata("greaterFloat_properIeeeComparisons.kt")
public void testGreaterFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/greaterFloat_properIeeeComparisons.kt");
doTest(fileName); doTest(fileName);
} }
@@ -11064,12 +11148,36 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
@TestMetadata("lessDouble.kt") @TestMetadata("lessDouble.kt")
public void testLessDouble() throws Exception { public void testLessDouble() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessDouble.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessDouble.kt");
try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
}
@TestMetadata("lessDouble_properIeeeComparisons.kt")
public void testLessDouble_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeComparisons.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("lessFloat.kt") @TestMetadata("lessFloat.kt")
public void testLessFloat() throws Exception { public void testLessFloat() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat.kt");
try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
}
@TestMetadata("lessFloat_properIeeeComparisons.kt")
public void testLessFloat_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/lessFloat_properIeeeComparisons.kt");
doTest(fileName); doTest(fileName);
} }
@@ -11208,18 +11316,48 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
@TestMetadata("when.kt") @TestMetadata("when.kt")
public void testWhen() throws Exception { public void testWhen() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when.kt");
doTest(fileName); try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
} }
@TestMetadata("when10.kt") @TestMetadata("when10.kt")
public void testWhen10() throws Exception { public void testWhen10() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when10.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when10.kt");
try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
}
@TestMetadata("when10_properIeeeComparisons.kt")
public void testWhen10_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when10_properIeeeComparisons.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("whenNoSubject.kt") @TestMetadata("whenNoSubject.kt")
public void testWhenNoSubject() throws Exception { public void testWhenNoSubject() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject.kt");
try {
doTest(fileName);
}
catch (Throwable ignore) {
return;
}
throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that.");
}
@TestMetadata("whenNoSubject_properIeeeComparisons.kt")
public void testWhenNoSubject_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNoSubject_properIeeeComparisons.kt");
doTest(fileName); doTest(fileName);
} }
@@ -11234,6 +11372,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast10.kt"); String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/whenNullableSmartCast10.kt");
doTest(fileName); doTest(fileName);
} }
@TestMetadata("when_properIeeeComparisons.kt")
public void testWhen_properIeeeComparisons() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/ieee754/when_properIeeeComparisons.kt");
doTest(fileName);
}
} }
@TestMetadata("compiler/testData/codegen/box/increment") @TestMetadata("compiler/testData/codegen/box/increment")