Add more tests for inline class equality

This commit is contained in:
Steven Schäfer
2019-08-22 16:02:43 +02:00
committed by Alexander Udalov
parent cdc5e1347b
commit b85b2d9af8
23 changed files with 1028 additions and 9 deletions

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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

View File

@@ -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

View File

@@ -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");

View File

@@ -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");

View File

@@ -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");

View File

@@ -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");

View File

@@ -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");

View File

@@ -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");

View File

@@ -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");