mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-04-18 08:31:28 +00:00
Add more tests for inline class equality
This commit is contained in:
committed by
Alexander Udalov
parent
cdc5e1347b
commit
b85b2d9af8
50
compiler/testData/codegen/box/inlineClasses/equalityChecksInlineClassNonNull.kt
vendored
Normal file
50
compiler/testData/codegen/box/inlineClasses/equalityChecksInlineClassNonNull.kt
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class Inner(val w: String)
|
||||
inline class A(val x: Inner)
|
||||
|
||||
fun isNullVacuousLeft(s: A) = s == null
|
||||
fun isNullVacuousRight(s: A) = null == s
|
||||
fun isNullLeft(s: A?) = s == null
|
||||
fun isNullRight(s: A?) = null == s
|
||||
fun isEqualSame(s: A, t: A) = s == t
|
||||
fun isEqualAnyLeft(s: A, t: Any?) = s == t
|
||||
fun isEqualAnyRight(s: Any?, t: A) = s == t
|
||||
fun isEqualSameNullable(s: A?, t: A?) = s == t
|
||||
fun isEqualAnyNullableLeft(s: A?, t: Any?) = s == t
|
||||
fun isEqualAnyNullableRight(s: Any?, t: A?) = s == t
|
||||
|
||||
fun box(): String {
|
||||
if (isNullVacuousLeft(A(Inner("")))) return "Fail 1"
|
||||
if (isNullVacuousRight(A(Inner("")))) return "Fail 2"
|
||||
if (isNullLeft(A(Inner("")))) return "Fail 3"
|
||||
if (isNullRight(A(Inner("")))) return "Fail 4"
|
||||
if (!isNullLeft(null)) return "Fail 5"
|
||||
if (!isNullRight(null)) return "Fail 6"
|
||||
if (!isEqualSame(A(Inner("")), A(Inner("")))) return "Fail 7"
|
||||
if (isEqualSame(A(Inner("")), A(Inner("a")))) return "Fail 8"
|
||||
if (isEqualAnyLeft(A(Inner("")), Inner(""))) return "Fail 9"
|
||||
if (isEqualAnyLeft(A(Inner("")), null)) return "Fail 10"
|
||||
if (!isEqualAnyLeft(A(Inner("")), A(Inner("")))) return "Fail 11"
|
||||
if (isEqualAnyRight(Inner(""), A(Inner("")))) return "Fail 12"
|
||||
if (isEqualAnyRight(null, A(Inner("")))) return "Fail 13"
|
||||
if (!isEqualAnyRight(A(Inner("")), A(Inner("")))) return "Fail 14"
|
||||
if (!isEqualSameNullable(null, null)) return "Fail 15"
|
||||
if (!isEqualSameNullable(A(Inner("")), A(Inner("")))) return "Fail 16"
|
||||
if (isEqualSameNullable(null, A(Inner("")))) return "Fail 17"
|
||||
if (isEqualSameNullable(A(Inner("")), null)) return "Fail 18"
|
||||
if (isEqualSameNullable(A(Inner("")), A(Inner("a")))) return "Fail 19"
|
||||
if (!isEqualAnyNullableLeft(null, null)) return "Fail 20"
|
||||
if (!isEqualAnyNullableLeft(A(Inner("")), A(Inner("")))) return "Fail 21"
|
||||
if (isEqualAnyNullableLeft(A(Inner("")), "")) return "Fail 22"
|
||||
if (isEqualAnyNullableLeft(null, Inner(""))) return "Fail 23"
|
||||
if (isEqualAnyNullableLeft(A(Inner("")), null)) return "Fail 24"
|
||||
if (isEqualAnyNullableLeft(A(Inner("")), A(Inner("a")))) return "Fail 25"
|
||||
if (!isEqualAnyNullableRight(null, null)) return "Fail 26"
|
||||
if (!isEqualAnyNullableRight(A(Inner("a")), A(Inner("a")))) return "Fail 27"
|
||||
if (isEqualAnyNullableRight(Inner(""), A(Inner("")))) return "Fail 28"
|
||||
if (isEqualAnyNullableRight(Inner(""), null)) return "Fail 29"
|
||||
if (isEqualAnyNullableRight(null, A(Inner("")))) return "Fail 30"
|
||||
if (isEqualAnyNullableRight(A(Inner("a")), A(Inner("b")))) return "Fail 31"
|
||||
return "OK"
|
||||
}
|
||||
14
compiler/testData/codegen/box/inlineClasses/equalityChecksMixedNullability.kt
vendored
Normal file
14
compiler/testData/codegen/box/inlineClasses/equalityChecksMixedNullability.kt
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class A(val a: String)
|
||||
|
||||
fun isEqualNA(x: A?, y: A) = x == y
|
||||
fun isEqualAN(x: A, y: A?) = x == y
|
||||
|
||||
fun box(): String {
|
||||
if (isEqualNA(null, A(""))) return "Fail 1"
|
||||
if (isEqualAN(A(""), null)) return "Fail 2"
|
||||
if (!isEqualNA(A(""), A(""))) return "Fail 3"
|
||||
if (!isEqualAN(A(""), A(""))) return "Fail 4"
|
||||
return "OK"
|
||||
}
|
||||
50
compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedInlineClassNonNull.kt
vendored
Normal file
50
compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedInlineClassNonNull.kt
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class Inner(val w: String)
|
||||
inline class A(val x: Inner)
|
||||
|
||||
fun isNotNullVacuousLeft(s: A) = s != null
|
||||
fun isNotNullVacuousRight(s: A) = null != s
|
||||
fun isNotNullLeft(s: A?) = s != null
|
||||
fun isNotNullRight(s: A?) = null != s
|
||||
fun isNotEqualSame(s: A, t: A) = s != t
|
||||
fun isNotEqualAnyLeft(s: A, t: Any?) = s != t
|
||||
fun isNotEqualAnyRight(s: Any?, t: A) = s != t
|
||||
fun isNotEqualSameNullable(s: A?, t: A?) = s != t
|
||||
fun isNotEqualAnyNullableLeft(s: A?, t: Any?) = s != t
|
||||
fun isNotEqualAnyNullableRight(s: Any?, t: A?) = s != t
|
||||
|
||||
fun box(): String {
|
||||
if (!isNotNullVacuousLeft(A(Inner("")))) return "Fail 1"
|
||||
if (!isNotNullVacuousRight(A(Inner("")))) return "Fail 2"
|
||||
if (!isNotNullLeft(A(Inner("")))) return "Fail 3"
|
||||
if (!isNotNullRight(A(Inner("")))) return "Fail 4"
|
||||
if (isNotNullLeft(null)) return "Fail 5"
|
||||
if (isNotNullRight(null)) return "Fail 6"
|
||||
if (isNotEqualSame(A(Inner("")), A(Inner("")))) return "Fail 7"
|
||||
if (!isNotEqualSame(A(Inner("")), A(Inner("a")))) return "Fail 8"
|
||||
if (!isNotEqualAnyLeft(A(Inner("")), Inner(""))) return "Fail 9"
|
||||
if (!isNotEqualAnyLeft(A(Inner("")), null)) return "Fail 10"
|
||||
if (isNotEqualAnyLeft(A(Inner("")), A(Inner("")))) return "Fail 11"
|
||||
if (!isNotEqualAnyRight(Inner(""), A(Inner("")))) return "Fail 12"
|
||||
if (!isNotEqualAnyRight(null, A(Inner("")))) return "Fail 13"
|
||||
if (isNotEqualAnyRight(A(Inner("")), A(Inner("")))) return "Fail 14"
|
||||
if (isNotEqualSameNullable(null, null)) return "Fail 15"
|
||||
if (isNotEqualSameNullable(A(Inner("")), A(Inner("")))) return "Fail 16"
|
||||
if (!isNotEqualSameNullable(null, A(Inner("")))) return "Fail 17"
|
||||
if (!isNotEqualSameNullable(A(Inner("")), null)) return "Fail 18"
|
||||
if (!isNotEqualSameNullable(A(Inner("")), A(Inner("a")))) return "Fail 19"
|
||||
if (isNotEqualAnyNullableLeft(null, null)) return "Fail 20"
|
||||
if (isNotEqualAnyNullableLeft(A(Inner("")), A(Inner("")))) return "Fail 21"
|
||||
if (!isNotEqualAnyNullableLeft(A(Inner("")), "")) return "Fail 22"
|
||||
if (!isNotEqualAnyNullableLeft(null, Inner(""))) return "Fail 23"
|
||||
if (!isNotEqualAnyNullableLeft(A(Inner("")), null)) return "Fail 24"
|
||||
if (!isNotEqualAnyNullableLeft(A(Inner("")), A(Inner("a")))) return "Fail 25"
|
||||
if (isNotEqualAnyNullableRight(null, null)) return "Fail 26"
|
||||
if (isNotEqualAnyNullableRight(A(Inner("a")), A(Inner("a")))) return "Fail 27"
|
||||
if (!isNotEqualAnyNullableRight(Inner(""), A(Inner("")))) return "Fail 28"
|
||||
if (!isNotEqualAnyNullableRight(Inner(""), null)) return "Fail 29"
|
||||
if (!isNotEqualAnyNullableRight(null, A(Inner("")))) return "Fail 30"
|
||||
if (!isNotEqualAnyNullableRight(A(Inner("a")), A(Inner("b")))) return "Fail 31"
|
||||
return "OK"
|
||||
}
|
||||
49
compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNonNull.kt
vendored
Normal file
49
compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNonNull.kt
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class A(val x: String)
|
||||
|
||||
fun isNotNullVacuousLeft(s: A) = s != null
|
||||
fun isNotNullVacuousRight(s: A) = null != s
|
||||
fun isNotNullLeft(s: A?) = s != null
|
||||
fun isNotNullRight(s: A?) = null != s
|
||||
fun isNotEqualSame(s: A, t: A) = s != t
|
||||
fun isNotEqualAnyLeft(s: A, t: Any?) = s != t
|
||||
fun isNotEqualAnyRight(s: Any?, t: A) = s != t
|
||||
fun isNotEqualSameNullable(s: A?, t: A?) = s != t
|
||||
fun isNotEqualAnyNullableLeft(s: A?, t: Any?) = s != t
|
||||
fun isNotEqualAnyNullableRight(s: Any?, t: A?) = s != t
|
||||
|
||||
fun box(): String {
|
||||
if (!isNotNullVacuousLeft(A(""))) return "Fail 1"
|
||||
if (!isNotNullVacuousRight(A(""))) return "Fail 2"
|
||||
if (!isNotNullLeft(A(""))) return "Fail 3"
|
||||
if (!isNotNullRight(A(""))) return "Fail 4"
|
||||
if (isNotNullLeft(null)) return "Fail 5"
|
||||
if (isNotNullRight(null)) return "Fail 6"
|
||||
if (isNotEqualSame(A(""), A(""))) return "Fail 7"
|
||||
if (!isNotEqualSame(A("a"), A("b"))) return "Fail 8"
|
||||
if (!isNotEqualAnyLeft(A(""), "")) return "Fail 9"
|
||||
if (!isNotEqualAnyLeft(A(""), null)) return "Fail 10"
|
||||
if (isNotEqualAnyLeft(A(""), A(""))) return "Fail 11"
|
||||
if (!isNotEqualAnyRight("", A(""))) return "Fail 12"
|
||||
if (!isNotEqualAnyRight(null, A(""))) return "Fail 13"
|
||||
if (isNotEqualAnyRight(A(""), A(""))) return "Fail 14"
|
||||
if (isNotEqualSameNullable(null, null)) return "Fail 15"
|
||||
if (isNotEqualSameNullable(A(""), A(""))) return "Fail 16"
|
||||
if (!isNotEqualSameNullable(null, A(""))) return "Fail 17"
|
||||
if (!isNotEqualSameNullable(A(""), null)) return "Fail 18"
|
||||
if (!isNotEqualSameNullable(A(""), A("a"))) return "Fail 19"
|
||||
if (isNotEqualAnyNullableLeft(null, null)) return "Fail 20"
|
||||
if (isNotEqualAnyNullableLeft(A(""), A(""))) return "Fail 21"
|
||||
if (!isNotEqualAnyNullableLeft(A(""), "")) return "Fail 22"
|
||||
if (!isNotEqualAnyNullableLeft(null, "")) return "Fail 23"
|
||||
if (!isNotEqualAnyNullableLeft(A(""), null)) return "Fail 24"
|
||||
if (!isNotEqualAnyNullableLeft(A(""), A("a"))) return "Fail 25"
|
||||
if (isNotEqualAnyNullableRight(null, null)) return "Fail 26"
|
||||
if (isNotEqualAnyNullableRight(A(""), A(""))) return "Fail 27"
|
||||
if (!isNotEqualAnyNullableRight("", A(""))) return "Fail 28"
|
||||
if (!isNotEqualAnyNullableRight("", null)) return "Fail 29"
|
||||
if (!isNotEqualAnyNullableRight(null, A(""))) return "Fail 30"
|
||||
if (!isNotEqualAnyNullableRight(A(""), A("a"))) return "Fail 31"
|
||||
return "OK"
|
||||
}
|
||||
61
compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNullable.kt
vendored
Normal file
61
compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNullable.kt
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class A(val x: Any?)
|
||||
|
||||
fun isNotNullVacuousLeft(s: A) = s != null
|
||||
fun isNotNullVacuousRight(s: A) = null != s
|
||||
fun isNotNullLeft(s: A?) = s != null
|
||||
fun isNotNullRight(s: A?) = null != s
|
||||
fun isNotEqualSame(s: A, t: A) = s != t
|
||||
fun isNotEqualAnyLeft(s: A, t: Any?) = s != t
|
||||
fun isNotEqualAnyRight(s: Any?, t: A) = s != t
|
||||
fun isNotEqualSameNullable(s: A?, t: A?) = s != t
|
||||
fun isNotEqualAnyNullableLeft(s: A?, t: Any?) = s != t
|
||||
fun isNotEqualAnyNullableRight(s: Any?, t: A?) = s != t
|
||||
|
||||
fun box(): String {
|
||||
if (!isNotNullVacuousLeft(A(0))) return "Fail 1"
|
||||
if (!isNotNullVacuousRight(A(0))) return "Fail 2"
|
||||
if (!isNotNullLeft(A(0))) return "Fail 3"
|
||||
if (!isNotNullRight(A(0))) return "Fail 4"
|
||||
if (isNotNullLeft(null)) return "Fail 5"
|
||||
if (isNotNullRight(null)) return "Fail 6"
|
||||
if (isNotEqualSame(A(0), A(0))) return "Fail 7"
|
||||
if (!isNotEqualSame(A(0), A(1))) return "Fail 8"
|
||||
if (!isNotEqualAnyLeft(A(0), 0)) return "Fail 9"
|
||||
if (!isNotEqualAnyLeft(A(0), null)) return "Fail 10"
|
||||
if (isNotEqualAnyLeft(A(0), A(0))) return "Fail 11"
|
||||
if (!isNotEqualAnyRight(0, A(0))) return "Fail 12"
|
||||
if (!isNotEqualAnyRight(null, A(0))) return "Fail 13"
|
||||
if (isNotEqualAnyRight(A(0), A(0))) return "Fail 14"
|
||||
if (isNotEqualSameNullable(null, null)) return "Fail 15"
|
||||
if (isNotEqualSameNullable(A(0), A(0))) return "Fail 16"
|
||||
if (!isNotEqualSameNullable(null, A(0))) return "Fail 17"
|
||||
if (!isNotEqualSameNullable(A(0), null)) return "Fail 18"
|
||||
if (!isNotEqualSameNullable(A(0), A(1))) return "Fail 19"
|
||||
if (isNotEqualAnyNullableLeft(null, null)) return "Fail 20"
|
||||
if (isNotEqualAnyNullableLeft(A(0), A(0))) return "Fail 21"
|
||||
if (!isNotEqualAnyNullableLeft(A(0), 0)) return "Fail 22"
|
||||
if (!isNotEqualAnyNullableLeft(null, 0)) return "Fail 23"
|
||||
if (!isNotEqualAnyNullableLeft(A(0), null)) return "Fail 24"
|
||||
if (!isNotEqualAnyNullableLeft(A(0), A(1))) return "Fail 25"
|
||||
if (isNotEqualAnyNullableRight(null, null)) return "Fail 26"
|
||||
if (isNotEqualAnyNullableRight(A(0), A(0))) return "Fail 27"
|
||||
if (!isNotEqualAnyNullableRight(0, A(0))) return "Fail 28"
|
||||
if (!isNotEqualAnyNullableRight(0, null)) return "Fail 29"
|
||||
if (!isNotEqualAnyNullableRight(null, A(0))) return "Fail 30"
|
||||
if (!isNotEqualAnyNullableRight(A(0), A(1))) return "Fail 31"
|
||||
|
||||
if (!isNotNullVacuousLeft(A(null))) return "Fail 32"
|
||||
if (!isNotNullVacuousRight(A(null))) return "Fail 33"
|
||||
if (!isNotNullLeft(A(null))) return "Fail 34"
|
||||
if (!isNotNullRight(A(null))) return "Fail 35"
|
||||
if (!isNotEqualAnyLeft(A(null), null)) return "Fail 36"
|
||||
if (!isNotEqualAnyRight(null, A(null))) return "Fail 37"
|
||||
if (!isNotEqualAnyNullableLeft(A(null), null)) return "Fail 38"
|
||||
if (!isNotEqualAnyNullableRight(null, A(null))) return "Fail 39"
|
||||
if (!isNotEqualSameNullable(A(null), null)) return "Fail 42"
|
||||
if (!isNotEqualSameNullable(null, A(null))) return "Fail 43"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
49
compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedPrimitive.kt
vendored
Normal file
49
compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedPrimitive.kt
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class A(val x: Int)
|
||||
|
||||
fun isNotNullVacuousLeft(s: A) = s != null
|
||||
fun isNotNullVacuousRight(s: A) = null != s
|
||||
fun isNotNullLeft(s: A?) = s != null
|
||||
fun isNotNullRight(s: A?) = null != s
|
||||
fun isNotEqualSame(s: A, t: A) = s != t
|
||||
fun isNotEqualAnyLeft(s: A, t: Any?) = s != t
|
||||
fun isNotEqualAnyRight(s: Any?, t: A) = s != t
|
||||
fun isNotEqualSameNullable(s: A?, t: A?) = s != t
|
||||
fun isNotEqualAnyNullableLeft(s: A?, t: Any?) = s != t
|
||||
fun isNotEqualAnyNullableRight(s: Any?, t: A?) = s != t
|
||||
|
||||
fun box(): String {
|
||||
if (!isNotNullVacuousLeft(A(0))) return "Fail 1"
|
||||
if (!isNotNullVacuousRight(A(0))) return "Fail 2"
|
||||
if (!isNotNullLeft(A(0))) return "Fail 3"
|
||||
if (!isNotNullRight(A(0))) return "Fail 4"
|
||||
if (isNotNullLeft(null)) return "Fail 5"
|
||||
if (isNotNullRight(null)) return "Fail 6"
|
||||
if (isNotEqualSame(A(0), A(0))) return "Fail 7"
|
||||
if (!isNotEqualSame(A(0), A(1))) return "Fail 8"
|
||||
if (!isNotEqualAnyLeft(A(0), 0)) return "Fail 9"
|
||||
if (!isNotEqualAnyLeft(A(0), null)) return "Fail 10"
|
||||
if (isNotEqualAnyLeft(A(0), A(0))) return "Fail 11"
|
||||
if (!isNotEqualAnyRight(0, A(0))) return "Fail 12"
|
||||
if (!isNotEqualAnyRight(null, A(0))) return "Fail 13"
|
||||
if (isNotEqualAnyRight(A(0), A(0))) return "Fail 14"
|
||||
if (isNotEqualSameNullable(null, null)) return "Fail 15"
|
||||
if (isNotEqualSameNullable(A(0), A(0))) return "Fail 16"
|
||||
if (!isNotEqualSameNullable(null, A(0))) return "Fail 17"
|
||||
if (!isNotEqualSameNullable(A(0), null)) return "Fail 18"
|
||||
if (!isNotEqualSameNullable(A(0), A(1))) return "Fail 19"
|
||||
if (isNotEqualAnyNullableLeft(null, null)) return "Fail 20"
|
||||
if (isNotEqualAnyNullableLeft(A(0), A(0))) return "Fail 21"
|
||||
if (!isNotEqualAnyNullableLeft(A(0), 0)) return "Fail 22"
|
||||
if (!isNotEqualAnyNullableLeft(null, 0)) return "Fail 23"
|
||||
if (!isNotEqualAnyNullableLeft(A(0), null)) return "Fail 24"
|
||||
if (!isNotEqualAnyNullableLeft(A(0), A(1))) return "Fail 25"
|
||||
if (isNotEqualAnyNullableRight(null, null)) return "Fail 26"
|
||||
if (isNotEqualAnyNullableRight(A(0), A(0))) return "Fail 27"
|
||||
if (!isNotEqualAnyNullableRight(0, A(0))) return "Fail 28"
|
||||
if (!isNotEqualAnyNullableRight(0, null)) return "Fail 29"
|
||||
if (!isNotEqualAnyNullableRight(null, A(0))) return "Fail 30"
|
||||
if (!isNotEqualAnyNullableRight(A(0), A(1))) return "Fail 31"
|
||||
return "OK"
|
||||
}
|
||||
49
compiler/testData/codegen/box/inlineClasses/equalityChecksNonNull.kt
vendored
Normal file
49
compiler/testData/codegen/box/inlineClasses/equalityChecksNonNull.kt
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class A(val x: String)
|
||||
|
||||
fun isNullVacuousLeft(s: A) = s == null
|
||||
fun isNullVacuousRight(s: A) = null == s
|
||||
fun isNullLeft(s: A?) = s == null
|
||||
fun isNullRight(s: A?) = null == s
|
||||
fun isEqualSame(s: A, t: A) = s == t
|
||||
fun isEqualAnyLeft(s: A, t: Any?) = s == t
|
||||
fun isEqualAnyRight(s: Any?, t: A) = s == t
|
||||
fun isEqualSameNullable(s: A?, t: A?) = s == t
|
||||
fun isEqualAnyNullableLeft(s: A?, t: Any?) = s == t
|
||||
fun isEqualAnyNullableRight(s: Any?, t: A?) = s == t
|
||||
|
||||
fun box(): String {
|
||||
if (isNullVacuousLeft(A(""))) return "Fail 1"
|
||||
if (isNullVacuousRight(A(""))) return "Fail 2"
|
||||
if (isNullLeft(A(""))) return "Fail 3"
|
||||
if (isNullRight(A(""))) return "Fail 4"
|
||||
if (!isNullLeft(null)) return "Fail 5"
|
||||
if (!isNullRight(null)) return "Fail 6"
|
||||
if (!isEqualSame(A(""), A(""))) return "Fail 7"
|
||||
if (isEqualSame(A("a"), A("b"))) return "Fail 8"
|
||||
if (isEqualAnyLeft(A(""), "")) return "Fail 9"
|
||||
if (isEqualAnyLeft(A(""), null)) return "Fail 10"
|
||||
if (!isEqualAnyLeft(A(""), A(""))) return "Fail 11"
|
||||
if (isEqualAnyRight("", A(""))) return "Fail 12"
|
||||
if (isEqualAnyRight(null, A(""))) return "Fail 13"
|
||||
if (!isEqualAnyRight(A(""), A(""))) return "Fail 14"
|
||||
if (!isEqualSameNullable(null, null)) return "Fail 15"
|
||||
if (!isEqualSameNullable(A(""), A(""))) return "Fail 16"
|
||||
if (isEqualSameNullable(null, A(""))) return "Fail 17"
|
||||
if (isEqualSameNullable(A(""), null)) return "Fail 18"
|
||||
if (isEqualSameNullable(A(""), A("a"))) return "Fail 19"
|
||||
if (!isEqualAnyNullableLeft(null, null)) return "Fail 20"
|
||||
if (!isEqualAnyNullableLeft(A(""), A(""))) return "Fail 21"
|
||||
if (isEqualAnyNullableLeft(A(""), "")) return "Fail 22"
|
||||
if (isEqualAnyNullableLeft(null, "")) return "Fail 23"
|
||||
if (isEqualAnyNullableLeft(A(""), null)) return "Fail 24"
|
||||
if (isEqualAnyNullableLeft(A(""), A("a"))) return "Fail 25"
|
||||
if (!isEqualAnyNullableRight(null, null)) return "Fail 26"
|
||||
if (!isEqualAnyNullableRight(A(""), A(""))) return "Fail 27"
|
||||
if (isEqualAnyNullableRight("", A(""))) return "Fail 28"
|
||||
if (isEqualAnyNullableRight("", null)) return "Fail 29"
|
||||
if (isEqualAnyNullableRight(null, A(""))) return "Fail 30"
|
||||
if (isEqualAnyNullableRight(A(""), A("a"))) return "Fail 31"
|
||||
return "OK"
|
||||
}
|
||||
61
compiler/testData/codegen/box/inlineClasses/equalityChecksNullable.kt
vendored
Normal file
61
compiler/testData/codegen/box/inlineClasses/equalityChecksNullable.kt
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class A(val x: Any?)
|
||||
|
||||
fun isNullVacuousLeft(s: A) = s == null
|
||||
fun isNullVacuousRight(s: A) = null == s
|
||||
fun isNullLeft(s: A?) = s == null
|
||||
fun isNullRight(s: A?) = null == s
|
||||
fun isEqualSame(s: A, t: A) = s == t
|
||||
fun isEqualAnyLeft(s: A, t: Any?) = s == t
|
||||
fun isEqualAnyRight(s: Any?, t: A) = s == t
|
||||
fun isEqualSameNullable(s: A?, t: A?) = s == t
|
||||
fun isEqualAnyNullableLeft(s: A?, t: Any?) = s == t
|
||||
fun isEqualAnyNullableRight(s: Any?, t: A?) = s == t
|
||||
|
||||
fun box(): String {
|
||||
if (isNullVacuousLeft(A(0))) return "Fail 1"
|
||||
if (isNullVacuousRight(A(0))) return "Fail 2"
|
||||
if (isNullLeft(A(0))) return "Fail 3"
|
||||
if (isNullRight(A(0))) return "Fail 4"
|
||||
if (!isNullLeft(null)) return "Fail 5"
|
||||
if (!isNullRight(null)) return "Fail 6"
|
||||
if (!isEqualSame(A(0), A(0))) return "Fail 7"
|
||||
if (isEqualSame(A(0), A(1))) return "Fail 8"
|
||||
if (isEqualAnyLeft(A(0), 0)) return "Fail 9"
|
||||
if (isEqualAnyLeft(A(0), null)) return "Fail 10"
|
||||
if (!isEqualAnyLeft(A(0), A(0))) return "Fail 11"
|
||||
if (isEqualAnyRight(0, A(0))) return "Fail 12"
|
||||
if (isEqualAnyRight(null, A(0))) return "Fail 13"
|
||||
if (!isEqualAnyRight(A(0), A(0))) return "Fail 14"
|
||||
if (!isEqualSameNullable(null, null)) return "Fail 15"
|
||||
if (!isEqualSameNullable(A(0), A(0))) return "Fail 16"
|
||||
if (isEqualSameNullable(null, A(0))) return "Fail 17"
|
||||
if (isEqualSameNullable(A(0), null)) return "Fail 18"
|
||||
if (isEqualSameNullable(A(0), A(1))) return "Fail 19"
|
||||
if (!isEqualAnyNullableLeft(null, null)) return "Fail 20"
|
||||
if (!isEqualAnyNullableLeft(A(0), A(0))) return "Fail 21"
|
||||
if (isEqualAnyNullableLeft(A(0), 0)) return "Fail 22"
|
||||
if (isEqualAnyNullableLeft(null, 0)) return "Fail 23"
|
||||
if (isEqualAnyNullableLeft(A(0), null)) return "Fail 24"
|
||||
if (isEqualAnyNullableLeft(A(0), A(1))) return "Fail 25"
|
||||
if (!isEqualAnyNullableRight(null, null)) return "Fail 26"
|
||||
if (!isEqualAnyNullableRight(A(0), A(0))) return "Fail 27"
|
||||
if (isEqualAnyNullableRight(0, A(0))) return "Fail 28"
|
||||
if (isEqualAnyNullableRight(0, null)) return "Fail 29"
|
||||
if (isEqualAnyNullableRight(null, A(0))) return "Fail 30"
|
||||
if (isEqualAnyNullableRight(A(0), A(1))) return "Fail 31"
|
||||
|
||||
if (isNullVacuousLeft(A(null))) return "Fail 32"
|
||||
if (isNullVacuousRight(A(null))) return "Fail 33"
|
||||
if (isNullLeft(A(null))) return "Fail 34"
|
||||
if (isNullRight(A(null))) return "Fail 35"
|
||||
if (isEqualAnyLeft(A(null), null)) return "Fail 36"
|
||||
if (isEqualAnyRight(null, A(null))) return "Fail 37"
|
||||
if (isEqualAnyNullableLeft(A(null), null)) return "Fail 38"
|
||||
if (isEqualAnyNullableRight(null, A(null))) return "Fail 39"
|
||||
if (isEqualSameNullable(A(null), null)) return "Fail 42"
|
||||
if (isEqualSameNullable(null, A(null))) return "Fail 43"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
49
compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitive.kt
vendored
Normal file
49
compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitive.kt
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class A(val x: Int)
|
||||
|
||||
fun isNullVacuousLeft(s: A) = s == null
|
||||
fun isNullVacuousRight(s: A) = null == s
|
||||
fun isNullLeft(s: A?) = s == null
|
||||
fun isNullRight(s: A?) = null == s
|
||||
fun isEqualSame(s: A, t: A) = s == t
|
||||
fun isEqualAnyLeft(s: A, t: Any?) = s == t
|
||||
fun isEqualAnyRight(s: Any?, t: A) = s == t
|
||||
fun isEqualSameNullable(s: A?, t: A?) = s == t
|
||||
fun isEqualAnyNullableLeft(s: A?, t: Any?) = s == t
|
||||
fun isEqualAnyNullableRight(s: Any?, t: A?) = s == t
|
||||
|
||||
fun box(): String {
|
||||
if (isNullVacuousLeft(A(0))) return "Fail 1"
|
||||
if (isNullVacuousRight(A(0))) return "Fail 2"
|
||||
if (isNullLeft(A(0))) return "Fail 3"
|
||||
if (isNullRight(A(0))) return "Fail 4"
|
||||
if (!isNullLeft(null)) return "Fail 5"
|
||||
if (!isNullRight(null)) return "Fail 6"
|
||||
if (!isEqualSame(A(0), A(0))) return "Fail 7"
|
||||
if (isEqualSame(A(0), A(1))) return "Fail 8"
|
||||
if (isEqualAnyLeft(A(0), 0)) return "Fail 9"
|
||||
if (isEqualAnyLeft(A(0), null)) return "Fail 10"
|
||||
if (!isEqualAnyLeft(A(0), A(0))) return "Fail 11"
|
||||
if (isEqualAnyRight(0, A(0))) return "Fail 12"
|
||||
if (isEqualAnyRight(null, A(0))) return "Fail 13"
|
||||
if (!isEqualAnyRight(A(0), A(0))) return "Fail 14"
|
||||
if (!isEqualSameNullable(null, null)) return "Fail 15"
|
||||
if (!isEqualSameNullable(A(0), A(0))) return "Fail 16"
|
||||
if (isEqualSameNullable(null, A(0))) return "Fail 17"
|
||||
if (isEqualSameNullable(A(0), null)) return "Fail 18"
|
||||
if (isEqualSameNullable(A(0), A(1))) return "Fail 19"
|
||||
if (!isEqualAnyNullableLeft(null, null)) return "Fail 20"
|
||||
if (!isEqualAnyNullableLeft(A(0), A(0))) return "Fail 21"
|
||||
if (isEqualAnyNullableLeft(A(0), 0)) return "Fail 22"
|
||||
if (isEqualAnyNullableLeft(null, 0)) return "Fail 23"
|
||||
if (isEqualAnyNullableLeft(A(0), null)) return "Fail 24"
|
||||
if (isEqualAnyNullableLeft(A(0), A(1))) return "Fail 25"
|
||||
if (!isEqualAnyNullableRight(null, null)) return "Fail 26"
|
||||
if (!isEqualAnyNullableRight(A(0), A(0))) return "Fail 27"
|
||||
if (isEqualAnyNullableRight(0, A(0))) return "Fail 28"
|
||||
if (isEqualAnyNullableRight(0, null)) return "Fail 29"
|
||||
if (isEqualAnyNullableRight(null, A(0))) return "Fail 30"
|
||||
if (isEqualAnyNullableRight(A(0), A(1))) return "Fail 31"
|
||||
return "OK"
|
||||
}
|
||||
14
compiler/testData/codegen/box/inlineClasses/equalsCallsLeftArgument.kt
vendored
Normal file
14
compiler/testData/codegen/box/inlineClasses/equalsCallsLeftArgument.kt
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class A(val x: String)
|
||||
|
||||
class B {
|
||||
override fun equals(other: Any?) = true
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val x: Any? = B()
|
||||
val y: A = A("")
|
||||
if (x != y) return "Fail"
|
||||
return "OK"
|
||||
}
|
||||
33
compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderInlineClass.kt
vendored
Normal file
33
compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderInlineClass.kt
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class Inner(val x: Int)
|
||||
inline class A(val x: Inner)
|
||||
|
||||
var i = 0
|
||||
|
||||
fun set1(): A {
|
||||
i = 1
|
||||
return A(Inner(0))
|
||||
}
|
||||
|
||||
fun test1(n: Int): A {
|
||||
if (i != 1)
|
||||
throw IllegalStateException("Fail $n")
|
||||
i = 0
|
||||
return A(Inner(0))
|
||||
}
|
||||
|
||||
fun set1Boxed(): Any? = set1()
|
||||
fun test1Boxed(n: Int): Any? = test1(n)
|
||||
|
||||
fun box(): String {
|
||||
try {
|
||||
set1() == test1(1)
|
||||
set1Boxed() == test1(2)
|
||||
set1() == test1Boxed(3)
|
||||
set1Boxed() == test1Boxed(4)
|
||||
} catch (e: IllegalStateException) {
|
||||
return e.message ?: "Fail no message"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
32
compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNonNull.kt
vendored
Normal file
32
compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNonNull.kt
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class A(val x: String = "")
|
||||
|
||||
var i = 0
|
||||
|
||||
fun set1(): A {
|
||||
i = 1
|
||||
return A()
|
||||
}
|
||||
|
||||
fun test1(n: Int): A {
|
||||
if (i != 1)
|
||||
throw IllegalStateException("Fail $n")
|
||||
i = 0
|
||||
return A()
|
||||
}
|
||||
|
||||
fun set1Boxed(): Any? = set1()
|
||||
fun test1Boxed(n: Int): Any? = test1(n)
|
||||
|
||||
fun box(): String {
|
||||
try {
|
||||
set1() == test1(1)
|
||||
set1Boxed() == test1(2)
|
||||
set1() == test1Boxed(3)
|
||||
set1Boxed() == test1Boxed(4)
|
||||
} catch (e: IllegalStateException) {
|
||||
return e.message ?: "Fail no message"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
32
compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNullable.kt
vendored
Normal file
32
compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNullable.kt
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class A(val x: Any? = null)
|
||||
|
||||
var i = 0
|
||||
|
||||
fun set1(): A {
|
||||
i = 1
|
||||
return A()
|
||||
}
|
||||
|
||||
fun test1(n: Int): A {
|
||||
if (i != 1)
|
||||
throw IllegalStateException("Fail $n")
|
||||
i = 0
|
||||
return A()
|
||||
}
|
||||
|
||||
fun set1Boxed(): Any? = set1()
|
||||
fun test1Boxed(n: Int): Any? = test1(n)
|
||||
|
||||
fun box(): String {
|
||||
try {
|
||||
set1() == test1(1)
|
||||
set1Boxed() == test1(2)
|
||||
set1() == test1Boxed(3)
|
||||
set1Boxed() == test1Boxed(4)
|
||||
} catch (e: IllegalStateException) {
|
||||
return e.message ?: "Fail no message"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
32
compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderPrimitive.kt
vendored
Normal file
32
compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderPrimitive.kt
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class A(val x: Int = 0)
|
||||
|
||||
var i = 0
|
||||
|
||||
fun set1(): A {
|
||||
i = 1
|
||||
return A()
|
||||
}
|
||||
|
||||
fun test1(n: Int): A {
|
||||
if (i != 1)
|
||||
throw IllegalStateException("Fail $n")
|
||||
i = 0
|
||||
return A()
|
||||
}
|
||||
|
||||
fun set1Boxed(): Any? = set1()
|
||||
fun test1Boxed(n: Int): Any? = test1(n)
|
||||
|
||||
fun box(): String {
|
||||
try {
|
||||
set1() == test1(1)
|
||||
set1Boxed() == test1(2)
|
||||
set1() == test1Boxed(3)
|
||||
set1Boxed() == test1Boxed(4)
|
||||
} catch (e: IllegalStateException) {
|
||||
return e.message ?: "Fail no message"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
84
compiler/testData/codegen/bytecodeText/inlineClasses/equalsDoesNotBox.kt
vendored
Normal file
84
compiler/testData/codegen/bytecodeText/inlineClasses/equalsDoesNotBox.kt
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
// FILE: inlineClasses.kt
|
||||
inline class A(val x: Int)
|
||||
inline class B(val x: String)
|
||||
inline class C(val x: Any?)
|
||||
|
||||
// FILE: a.kt
|
||||
|
||||
// False
|
||||
fun isNullVacuousLeftA(s: A) = s == null
|
||||
fun isNullVacuousRightA(s: A) = null == s
|
||||
// IFNONNULL
|
||||
fun isNullLeftA(s: A?) = s == null
|
||||
fun isNullRightA(s: A?) = null == s
|
||||
// equals-impl0
|
||||
fun isEqualSameA(s: A, t: A) = s == t
|
||||
// equals-impl
|
||||
fun isEqualAnyLeftA(s: A, t: Any?) = s == t
|
||||
// boxes
|
||||
// fun isEqualAnyRightA(s: Any?, t: A) = s == t
|
||||
// Intrinsics.areEqual
|
||||
fun isEqualSameNullableA(s: A?, t: A?) = s == t
|
||||
fun isEqualAnyNullableLeftA(s: A?, t: Any?) = s == t
|
||||
fun isEqualAnyNullableRightA(s: Any?, t: A?) = s == t
|
||||
|
||||
// FILE: b.kt
|
||||
|
||||
// False
|
||||
fun isNullVacuousLeftB(s: B) = s == null
|
||||
fun isNullVacuousRightB(s: B) = null == s
|
||||
// IFNONNULL
|
||||
fun isNullLeftB(s: B?) = s == null
|
||||
fun isNullRightB(s: B?) = null == s
|
||||
// equals-impl0
|
||||
fun isEqualSameB(s: B, t: B) = s == t
|
||||
// equals-impl
|
||||
fun isEqualAnyLeftB(s: B, t: Any?) = s == t
|
||||
// boxes
|
||||
// fun isEqualAnyRightB(s: Any?, t: B) = s == t
|
||||
// equals-impl0
|
||||
fun isEqualSameNullableB(s: B?, t: B?) = s == t
|
||||
// equals-impl
|
||||
fun isEqualAnyNullableLeftB(s: B?, t: Any?) = s == t
|
||||
// boxes
|
||||
// fun isEqualAnyNullableRightB(s: Any?, t: B?) = s == t
|
||||
|
||||
// FILE: c.kt
|
||||
|
||||
// False
|
||||
fun isNullVacuousLeftC(s: C) = s == null
|
||||
fun isNullVacuousRightC(s: C) = null == s
|
||||
// IFNONULL
|
||||
fun isNullLeftC(s: C?) = s == null
|
||||
fun isNullRightC(s: C?) = null == s
|
||||
// equals-impl0
|
||||
fun isEqualSameC(s: C, t: C) = s == t
|
||||
// equals-impl
|
||||
fun isEqualAnyLeftC(s: C, t: Any?) = s == t
|
||||
// boxes
|
||||
// fun isEqualAnyRightC(s: Any?, t: C) = s == t
|
||||
// Intrinsics.areEqual
|
||||
fun isEqualSameNullableC(s: C?, t: C?) = s == t
|
||||
fun isEqualAnyNullableLeftC(s: C?, t: Any?) = s == t
|
||||
fun isEqualAnyNullableRightC(s: Any?, t: C?) = s == t
|
||||
|
||||
// @AKt.class:
|
||||
// 0 INVOKESTATIC A.box-impl
|
||||
// 0 INVOKEVIRTUAL A.unbox-impl
|
||||
// 1 INVOKESTATIC A.equals-impl \(
|
||||
// 1 INVOKESTATIC A.equals-impl0
|
||||
// 3 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual
|
||||
|
||||
// @BKt.class:
|
||||
// 0 INVOKESTATIC B.box-impl
|
||||
// 0 INVOKEVIRTUAL B.unbox-impl
|
||||
// 2 INVOKESTATIC B.equals-impl \(
|
||||
// 2 INVOKESTATIC B.equals-impl0
|
||||
// 0 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual
|
||||
|
||||
// @CKt.class:
|
||||
// 0 INVOKESTATIC C.box-impl
|
||||
// 0 INVOKEVIRTUAL C.unbox-impl
|
||||
// 1 INVOKESTATIC C.equals-impl \(
|
||||
// 1 INVOKESTATIC C.equals-impl0
|
||||
// 3 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual
|
||||
@@ -1,3 +1,4 @@
|
||||
// IGNORE_BACKEND: JVM
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// WITH_COROUTINES
|
||||
// FILE: test.kt
|
||||
@@ -14,25 +15,24 @@ fun test() {
|
||||
val other = Result.success("nope")
|
||||
if (result == other) println("==")
|
||||
if (result != other) println("!=")
|
||||
if (result.equals(other)) println("equals")
|
||||
if (!result.equals(other)) println("!equals")
|
||||
if (result.equals(other)) println("equals") // Boxes (JVM, JVM_IR)
|
||||
if (!result.equals(other)) println("!equals") // Boxes (JVM, JVM_IR)
|
||||
|
||||
println(result.hashCode())
|
||||
println(result.toString())
|
||||
println("$result")
|
||||
println("$result") // Boxes (JVM_IR)
|
||||
|
||||
val ans1 = runCatching { 42 }
|
||||
println(ans1)
|
||||
println(ans1) // Boxes (JVM, JVM_IR)
|
||||
|
||||
val ans2 = 42.runCatching { this }
|
||||
println(ans2)
|
||||
println(ans2) // Boxes (JVM, JVM_IR)
|
||||
|
||||
println(result.getOrElse { "oops" })
|
||||
println(result.getOrDefault("oops"))
|
||||
}
|
||||
|
||||
// @TestKt.class:
|
||||
// 0 INVOKESTATIC Result.box-impl
|
||||
// 0 INVOKESTATIC Result.unbox-impl
|
||||
// 0 Result\$Failure
|
||||
// 46 Result
|
||||
// 0 INVOKESTATIC kotlin/Result.box-impl
|
||||
// 0 INVOKEVIRTUAL kotlin/Result.unbox-impl
|
||||
// 0 Result\$Failure
|
||||
@@ -12380,11 +12380,81 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/emptyConstructorForInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksInlineClassNonNull.kt")
|
||||
public void testEqualityChecksInlineClassNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksInlineClassNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksMixedNullability.kt")
|
||||
public void testEqualityChecksMixedNullability() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksMixedNullability.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedInlineClassNonNull.kt")
|
||||
public void testEqualityChecksNegatedInlineClassNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedInlineClassNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedNonNull.kt")
|
||||
public void testEqualityChecksNegatedNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedNullable.kt")
|
||||
public void testEqualityChecksNegatedNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedPrimitive.kt")
|
||||
public void testEqualityChecksNegatedPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNonNull.kt")
|
||||
public void testEqualityChecksNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNullable.kt")
|
||||
public void testEqualityChecksNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksPrimitive.kt")
|
||||
public void testEqualityChecksPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityForBoxesOfNullableValuesOfInlineClass.kt")
|
||||
public void testEqualityForBoxesOfNullableValuesOfInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityForBoxesOfNullableValuesOfInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsCallsLeftArgument.kt")
|
||||
public void testEqualsCallsLeftArgument() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsCallsLeftArgument.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderInlineClass.kt")
|
||||
public void testEqualsEvaluationOrderInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderNonNull.kt")
|
||||
public void testEqualsEvaluationOrderNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderNullable.kt")
|
||||
public void testEqualsEvaluationOrderNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderPrimitive.kt")
|
||||
public void testEqualsEvaluationOrderPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsOperatorWithGenericCall.kt")
|
||||
public void testEqualsOperatorWithGenericCall() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsOperatorWithGenericCall.kt");
|
||||
|
||||
@@ -2483,6 +2483,11 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest {
|
||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/defaultParametersDontBox.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsDoesNotBox.kt")
|
||||
public void testEqualsDoesNotBox() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/equalsDoesNotBox.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsIsCalledByInlineClass.kt")
|
||||
public void testEqualsIsCalledByInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/equalsIsCalledByInlineClass.kt");
|
||||
|
||||
@@ -12395,11 +12395,81 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/emptyConstructorForInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksInlineClassNonNull.kt")
|
||||
public void testEqualityChecksInlineClassNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksInlineClassNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksMixedNullability.kt")
|
||||
public void testEqualityChecksMixedNullability() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksMixedNullability.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedInlineClassNonNull.kt")
|
||||
public void testEqualityChecksNegatedInlineClassNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedInlineClassNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedNonNull.kt")
|
||||
public void testEqualityChecksNegatedNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedNullable.kt")
|
||||
public void testEqualityChecksNegatedNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedPrimitive.kt")
|
||||
public void testEqualityChecksNegatedPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNonNull.kt")
|
||||
public void testEqualityChecksNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNullable.kt")
|
||||
public void testEqualityChecksNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksPrimitive.kt")
|
||||
public void testEqualityChecksPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityForBoxesOfNullableValuesOfInlineClass.kt")
|
||||
public void testEqualityForBoxesOfNullableValuesOfInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityForBoxesOfNullableValuesOfInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsCallsLeftArgument.kt")
|
||||
public void testEqualsCallsLeftArgument() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsCallsLeftArgument.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderInlineClass.kt")
|
||||
public void testEqualsEvaluationOrderInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderNonNull.kt")
|
||||
public void testEqualsEvaluationOrderNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderNullable.kt")
|
||||
public void testEqualsEvaluationOrderNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderPrimitive.kt")
|
||||
public void testEqualsEvaluationOrderPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsOperatorWithGenericCall.kt")
|
||||
public void testEqualsOperatorWithGenericCall() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsOperatorWithGenericCall.kt");
|
||||
|
||||
@@ -11265,11 +11265,81 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/emptyConstructorForInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksInlineClassNonNull.kt")
|
||||
public void testEqualityChecksInlineClassNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksInlineClassNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksMixedNullability.kt")
|
||||
public void testEqualityChecksMixedNullability() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksMixedNullability.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedInlineClassNonNull.kt")
|
||||
public void testEqualityChecksNegatedInlineClassNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedInlineClassNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedNonNull.kt")
|
||||
public void testEqualityChecksNegatedNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedNullable.kt")
|
||||
public void testEqualityChecksNegatedNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedPrimitive.kt")
|
||||
public void testEqualityChecksNegatedPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNonNull.kt")
|
||||
public void testEqualityChecksNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNullable.kt")
|
||||
public void testEqualityChecksNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksPrimitive.kt")
|
||||
public void testEqualityChecksPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityForBoxesOfNullableValuesOfInlineClass.kt")
|
||||
public void testEqualityForBoxesOfNullableValuesOfInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityForBoxesOfNullableValuesOfInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsCallsLeftArgument.kt")
|
||||
public void testEqualsCallsLeftArgument() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsCallsLeftArgument.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderInlineClass.kt")
|
||||
public void testEqualsEvaluationOrderInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderNonNull.kt")
|
||||
public void testEqualsEvaluationOrderNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderNullable.kt")
|
||||
public void testEqualsEvaluationOrderNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderPrimitive.kt")
|
||||
public void testEqualsEvaluationOrderPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsOperatorWithGenericCall.kt")
|
||||
public void testEqualsOperatorWithGenericCall() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsOperatorWithGenericCall.kt");
|
||||
|
||||
@@ -2453,6 +2453,11 @@ public class IrBytecodeTextTestGenerated extends AbstractIrBytecodeTextTest {
|
||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/defaultParametersDontBox.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsDoesNotBox.kt")
|
||||
public void testEqualsDoesNotBox() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/equalsDoesNotBox.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsIsCalledByInlineClass.kt")
|
||||
public void testEqualsIsCalledByInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/equalsIsCalledByInlineClass.kt");
|
||||
|
||||
@@ -9720,11 +9720,81 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/emptyConstructorForInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksInlineClassNonNull.kt")
|
||||
public void testEqualityChecksInlineClassNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksInlineClassNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksMixedNullability.kt")
|
||||
public void testEqualityChecksMixedNullability() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksMixedNullability.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedInlineClassNonNull.kt")
|
||||
public void testEqualityChecksNegatedInlineClassNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedInlineClassNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedNonNull.kt")
|
||||
public void testEqualityChecksNegatedNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedNullable.kt")
|
||||
public void testEqualityChecksNegatedNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedPrimitive.kt")
|
||||
public void testEqualityChecksNegatedPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNonNull.kt")
|
||||
public void testEqualityChecksNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNullable.kt")
|
||||
public void testEqualityChecksNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksPrimitive.kt")
|
||||
public void testEqualityChecksPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityForBoxesOfNullableValuesOfInlineClass.kt")
|
||||
public void testEqualityForBoxesOfNullableValuesOfInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityForBoxesOfNullableValuesOfInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsCallsLeftArgument.kt")
|
||||
public void testEqualsCallsLeftArgument() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsCallsLeftArgument.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderInlineClass.kt")
|
||||
public void testEqualsEvaluationOrderInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderNonNull.kt")
|
||||
public void testEqualsEvaluationOrderNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderNullable.kt")
|
||||
public void testEqualsEvaluationOrderNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderPrimitive.kt")
|
||||
public void testEqualsEvaluationOrderPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsOperatorWithGenericCall.kt")
|
||||
public void testEqualsOperatorWithGenericCall() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsOperatorWithGenericCall.kt");
|
||||
|
||||
@@ -10875,11 +10875,81 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/emptyConstructorForInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksInlineClassNonNull.kt")
|
||||
public void testEqualityChecksInlineClassNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksInlineClassNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksMixedNullability.kt")
|
||||
public void testEqualityChecksMixedNullability() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksMixedNullability.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedInlineClassNonNull.kt")
|
||||
public void testEqualityChecksNegatedInlineClassNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedInlineClassNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedNonNull.kt")
|
||||
public void testEqualityChecksNegatedNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedNullable.kt")
|
||||
public void testEqualityChecksNegatedNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNegatedPrimitive.kt")
|
||||
public void testEqualityChecksNegatedPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNegatedPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNonNull.kt")
|
||||
public void testEqualityChecksNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksNullable.kt")
|
||||
public void testEqualityChecksNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityChecksPrimitive.kt")
|
||||
public void testEqualityChecksPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityChecksPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalityForBoxesOfNullableValuesOfInlineClass.kt")
|
||||
public void testEqualityForBoxesOfNullableValuesOfInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalityForBoxesOfNullableValuesOfInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsCallsLeftArgument.kt")
|
||||
public void testEqualsCallsLeftArgument() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsCallsLeftArgument.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderInlineClass.kt")
|
||||
public void testEqualsEvaluationOrderInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderNonNull.kt")
|
||||
public void testEqualsEvaluationOrderNonNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNonNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderNullable.kt")
|
||||
public void testEqualsEvaluationOrderNullable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsEvaluationOrderPrimitive.kt")
|
||||
public void testEqualsEvaluationOrderPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsEvaluationOrderPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("equalsOperatorWithGenericCall.kt")
|
||||
public void testEqualsOperatorWithGenericCall() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/equalsOperatorWithGenericCall.kt");
|
||||
|
||||
Reference in New Issue
Block a user