Add more tests for inline class equality with nullable arguments
This commit is contained in:
committed by
Alexander Udalov
parent
1833a69c87
commit
ce3ef4e4d0
@@ -12,6 +12,8 @@ fun isNotEqualAnyRight(s: Any?, t: A) = s != t
|
|||||||
fun isNotEqualSameNullable(s: A?, t: A?) = s != t
|
fun isNotEqualSameNullable(s: A?, t: A?) = s != t
|
||||||
fun isNotEqualAnyNullableLeft(s: A?, t: Any?) = s != t
|
fun isNotEqualAnyNullableLeft(s: A?, t: Any?) = s != t
|
||||||
fun isNotEqualAnyNullableRight(s: Any?, t: A?) = s != t
|
fun isNotEqualAnyNullableRight(s: Any?, t: A?) = s != t
|
||||||
|
fun isNotEqualNullableUnboxedLeft(s: A, t: A?) = s != t
|
||||||
|
fun isNotEqualNullableUnboxedRight(s: A?, t: A) = s != t
|
||||||
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
if (!isNotNullVacuousLeft(A(""))) return "Fail 1"
|
if (!isNotNullVacuousLeft(A(""))) return "Fail 1"
|
||||||
@@ -45,5 +47,11 @@ fun box(): String {
|
|||||||
if (!isNotEqualAnyNullableRight("", null)) return "Fail 29"
|
if (!isNotEqualAnyNullableRight("", null)) return "Fail 29"
|
||||||
if (!isNotEqualAnyNullableRight(null, A(""))) return "Fail 30"
|
if (!isNotEqualAnyNullableRight(null, A(""))) return "Fail 30"
|
||||||
if (!isNotEqualAnyNullableRight(A(""), A("a"))) return "Fail 31"
|
if (!isNotEqualAnyNullableRight(A(""), A("a"))) return "Fail 31"
|
||||||
|
if (!isNotEqualNullableUnboxedLeft(A(""), A("a"))) return "Fail 32"
|
||||||
|
if (isNotEqualNullableUnboxedLeft(A(""), A(""))) return "Fail 33"
|
||||||
|
if (!isNotEqualNullableUnboxedRight(A(""), A("a"))) return "Fail 34"
|
||||||
|
if (isNotEqualNullableUnboxedRight(A("a"), A("a"))) return "Fail 35"
|
||||||
|
if (!isNotEqualNullableUnboxedLeft(A(""), null)) return "Fail 36"
|
||||||
|
if (!isNotEqualNullableUnboxedRight(null, A(""))) return "Fail 37"
|
||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ fun isNotEqualAnyRight(s: Any?, t: A) = s != t
|
|||||||
fun isNotEqualSameNullable(s: A?, t: A?) = s != t
|
fun isNotEqualSameNullable(s: A?, t: A?) = s != t
|
||||||
fun isNotEqualAnyNullableLeft(s: A?, t: Any?) = s != t
|
fun isNotEqualAnyNullableLeft(s: A?, t: Any?) = s != t
|
||||||
fun isNotEqualAnyNullableRight(s: Any?, t: A?) = s != t
|
fun isNotEqualAnyNullableRight(s: Any?, t: A?) = s != t
|
||||||
|
fun isNotEqualNullableUnboxedLeft(s: A, t: A?) = s != t
|
||||||
|
fun isNotEqualNullableUnboxedRight(s: A?, t: A) = s != t
|
||||||
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
if (!isNotNullVacuousLeft(A(0))) return "Fail 1"
|
if (!isNotNullVacuousLeft(A(0))) return "Fail 1"
|
||||||
@@ -57,5 +59,15 @@ fun box(): String {
|
|||||||
if (!isNotEqualSameNullable(A(null), null)) return "Fail 42"
|
if (!isNotEqualSameNullable(A(null), null)) return "Fail 42"
|
||||||
if (!isNotEqualSameNullable(null, A(null))) return "Fail 43"
|
if (!isNotEqualSameNullable(null, A(null))) return "Fail 43"
|
||||||
|
|
||||||
|
if (!isNotEqualNullableUnboxedLeft(A(0), A(1))) return "Fail 44"
|
||||||
|
if (isNotEqualNullableUnboxedLeft(A(0), A(0))) return "Fail 45"
|
||||||
|
if (!isNotEqualNullableUnboxedRight(A(0), A(1))) return "Fail 46"
|
||||||
|
if (isNotEqualNullableUnboxedRight(A(1), A(1))) return "Fail 47"
|
||||||
|
if (!isNotEqualNullableUnboxedLeft(A(0), null)) return "Fail 48"
|
||||||
|
if (!isNotEqualNullableUnboxedRight(null, A(1))) return "Fail 49"
|
||||||
|
|
||||||
|
if (!isNotEqualNullableUnboxedRight(null, A(null))) return "Fail 50"
|
||||||
|
if (!isNotEqualNullableUnboxedLeft(A(null), null)) return "Fail 51"
|
||||||
|
|
||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ fun isNotEqualAnyRight(s: Any?, t: A) = s != t
|
|||||||
fun isNotEqualSameNullable(s: A?, t: A?) = s != t
|
fun isNotEqualSameNullable(s: A?, t: A?) = s != t
|
||||||
fun isNotEqualAnyNullableLeft(s: A?, t: Any?) = s != t
|
fun isNotEqualAnyNullableLeft(s: A?, t: Any?) = s != t
|
||||||
fun isNotEqualAnyNullableRight(s: Any?, t: A?) = s != t
|
fun isNotEqualAnyNullableRight(s: Any?, t: A?) = s != t
|
||||||
|
fun isNotEqualNullableUnboxedLeft(s: A, t: A?) = s != t
|
||||||
|
fun isNotEqualNullableUnboxedRight(s: A?, t: A) = s != t
|
||||||
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
if (!isNotNullVacuousLeft(A(0))) return "Fail 1"
|
if (!isNotNullVacuousLeft(A(0))) return "Fail 1"
|
||||||
@@ -45,5 +47,11 @@ fun box(): String {
|
|||||||
if (!isNotEqualAnyNullableRight(0, null)) return "Fail 29"
|
if (!isNotEqualAnyNullableRight(0, null)) return "Fail 29"
|
||||||
if (!isNotEqualAnyNullableRight(null, A(0))) return "Fail 30"
|
if (!isNotEqualAnyNullableRight(null, A(0))) return "Fail 30"
|
||||||
if (!isNotEqualAnyNullableRight(A(0), A(1))) return "Fail 31"
|
if (!isNotEqualAnyNullableRight(A(0), A(1))) return "Fail 31"
|
||||||
|
if (!isNotEqualNullableUnboxedLeft(A(0), A(1))) return "Fail 32"
|
||||||
|
if (isNotEqualNullableUnboxedLeft(A(0), A(0))) return "Fail 33"
|
||||||
|
if (!isNotEqualNullableUnboxedRight(A(0), A(1))) return "Fail 34"
|
||||||
|
if (isNotEqualNullableUnboxedRight(A(1), A(1))) return "Fail 35"
|
||||||
|
if (!isNotEqualNullableUnboxedLeft(A(0), null)) return "Fail 36"
|
||||||
|
if (!isNotEqualNullableUnboxedRight(null, A(1))) return "Fail 37"
|
||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ fun isEqualAnyRight(s: Any?, t: A) = s == t
|
|||||||
fun isEqualSameNullable(s: A?, t: A?) = s == t
|
fun isEqualSameNullable(s: A?, t: A?) = s == t
|
||||||
fun isEqualAnyNullableLeft(s: A?, t: Any?) = s == t
|
fun isEqualAnyNullableLeft(s: A?, t: Any?) = s == t
|
||||||
fun isEqualAnyNullableRight(s: Any?, t: A?) = s == t
|
fun isEqualAnyNullableRight(s: Any?, t: A?) = s == t
|
||||||
|
fun isEqualNullableUnboxedLeft(s: A, t: A?) = s == t
|
||||||
|
fun isEqualNullableUnboxedRight(s: A?, t: A) = s == t
|
||||||
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
if (isNullVacuousLeft(A(""))) return "Fail 1"
|
if (isNullVacuousLeft(A(""))) return "Fail 1"
|
||||||
@@ -45,5 +47,11 @@ fun box(): String {
|
|||||||
if (isEqualAnyNullableRight("", null)) return "Fail 29"
|
if (isEqualAnyNullableRight("", null)) return "Fail 29"
|
||||||
if (isEqualAnyNullableRight(null, A(""))) return "Fail 30"
|
if (isEqualAnyNullableRight(null, A(""))) return "Fail 30"
|
||||||
if (isEqualAnyNullableRight(A(""), A("a"))) return "Fail 31"
|
if (isEqualAnyNullableRight(A(""), A("a"))) return "Fail 31"
|
||||||
|
if (isEqualNullableUnboxedLeft(A(""), A("a"))) return "Fail 32"
|
||||||
|
if (!isEqualNullableUnboxedLeft(A(""), A(""))) return "Fail 33"
|
||||||
|
if (isEqualNullableUnboxedRight(A(""), A("a"))) return "Fail 34"
|
||||||
|
if (!isEqualNullableUnboxedRight(A("a"), A("a"))) return "Fail 35"
|
||||||
|
if (isEqualNullableUnboxedLeft(A(""), null)) return "Fail 36"
|
||||||
|
if (isEqualNullableUnboxedRight(null, A(""))) return "Fail 37"
|
||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ fun isEqualAnyRight(s: Any?, t: A) = s == t
|
|||||||
fun isEqualSameNullable(s: A?, t: A?) = s == t
|
fun isEqualSameNullable(s: A?, t: A?) = s == t
|
||||||
fun isEqualAnyNullableLeft(s: A?, t: Any?) = s == t
|
fun isEqualAnyNullableLeft(s: A?, t: Any?) = s == t
|
||||||
fun isEqualAnyNullableRight(s: Any?, t: A?) = s == t
|
fun isEqualAnyNullableRight(s: Any?, t: A?) = s == t
|
||||||
|
fun isEqualNullableUnboxedLeft(s: A, t: A?) = s == t
|
||||||
|
fun isEqualNullableUnboxedRight(s: A?, t: A) = s == t
|
||||||
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
if (isNullVacuousLeft(A(0))) return "Fail 1"
|
if (isNullVacuousLeft(A(0))) return "Fail 1"
|
||||||
@@ -57,5 +59,15 @@ fun box(): String {
|
|||||||
if (isEqualSameNullable(A(null), null)) return "Fail 42"
|
if (isEqualSameNullable(A(null), null)) return "Fail 42"
|
||||||
if (isEqualSameNullable(null, A(null))) return "Fail 43"
|
if (isEqualSameNullable(null, A(null))) return "Fail 43"
|
||||||
|
|
||||||
|
if (isEqualNullableUnboxedLeft(A(0), A(1))) return "Fail 44"
|
||||||
|
if (!isEqualNullableUnboxedLeft(A(0), A(0))) return "Fail 45"
|
||||||
|
if (isEqualNullableUnboxedRight(A(0), A(1))) return "Fail 46"
|
||||||
|
if (!isEqualNullableUnboxedRight(A(1), A(1))) return "Fail 47"
|
||||||
|
if (isEqualNullableUnboxedLeft(A(0), null)) return "Fail 48"
|
||||||
|
if (isEqualNullableUnboxedRight(null, A(1))) return "Fail 49"
|
||||||
|
|
||||||
|
if (isEqualNullableUnboxedRight(null, A(null))) return "Fail 50"
|
||||||
|
if (isEqualNullableUnboxedLeft(A(null), null)) return "Fail 51"
|
||||||
|
|
||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ fun isEqualAnyRight(s: Any?, t: A) = s == t
|
|||||||
fun isEqualSameNullable(s: A?, t: A?) = s == t
|
fun isEqualSameNullable(s: A?, t: A?) = s == t
|
||||||
fun isEqualAnyNullableLeft(s: A?, t: Any?) = s == t
|
fun isEqualAnyNullableLeft(s: A?, t: Any?) = s == t
|
||||||
fun isEqualAnyNullableRight(s: Any?, t: A?) = s == t
|
fun isEqualAnyNullableRight(s: Any?, t: A?) = s == t
|
||||||
|
fun isEqualNullableUnboxedLeft(s: A, t: A?) = s == t
|
||||||
|
fun isEqualNullableUnboxedRight(s: A?, t: A) = s == t
|
||||||
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
if (isNullVacuousLeft(A(0))) return "Fail 1"
|
if (isNullVacuousLeft(A(0))) return "Fail 1"
|
||||||
@@ -45,5 +47,11 @@ fun box(): String {
|
|||||||
if (isEqualAnyNullableRight(0, null)) return "Fail 29"
|
if (isEqualAnyNullableRight(0, null)) return "Fail 29"
|
||||||
if (isEqualAnyNullableRight(null, A(0))) return "Fail 30"
|
if (isEqualAnyNullableRight(null, A(0))) return "Fail 30"
|
||||||
if (isEqualAnyNullableRight(A(0), A(1))) return "Fail 31"
|
if (isEqualAnyNullableRight(A(0), A(1))) return "Fail 31"
|
||||||
|
if (isEqualNullableUnboxedLeft(A(0), A(1))) return "Fail 32"
|
||||||
|
if (!isEqualNullableUnboxedLeft(A(0), A(0))) return "Fail 33"
|
||||||
|
if (isEqualNullableUnboxedRight(A(0), A(1))) return "Fail 34"
|
||||||
|
if (!isEqualNullableUnboxedRight(A(1), A(1))) return "Fail 35"
|
||||||
|
if (isEqualNullableUnboxedLeft(A(0), null)) return "Fail 36"
|
||||||
|
if (isEqualNullableUnboxedRight(null, A(1))) return "Fail 37"
|
||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,10 @@ fun isEqualAnyLeftA(s: A, t: Any?) = s == t
|
|||||||
fun isEqualSameNullableA(s: A?, t: A?) = s == t
|
fun isEqualSameNullableA(s: A?, t: A?) = s == t
|
||||||
fun isEqualAnyNullableLeftA(s: A?, t: Any?) = s == t
|
fun isEqualAnyNullableLeftA(s: A?, t: Any?) = s == t
|
||||||
fun isEqualAnyNullableRightA(s: Any?, t: A?) = s == t
|
fun isEqualAnyNullableRightA(s: Any?, t: A?) = s == t
|
||||||
|
// unbox, equals-impl0
|
||||||
|
fun isEqualLeftNullableRightUnboxedA(s: A?, t: A) = s == t
|
||||||
|
// equals-impl
|
||||||
|
fun isEqualRightNullableLeftUnboxedA(s: A, t: A?) = s == t
|
||||||
|
|
||||||
// FILE: b.kt
|
// FILE: b.kt
|
||||||
|
|
||||||
@@ -42,6 +46,9 @@ fun isEqualSameNullableB(s: B?, t: B?) = s == t
|
|||||||
fun isEqualAnyNullableLeftB(s: B?, t: Any?) = s == t
|
fun isEqualAnyNullableLeftB(s: B?, t: Any?) = s == t
|
||||||
// boxes
|
// boxes
|
||||||
// fun isEqualAnyNullableRightB(s: Any?, t: B?) = s == t
|
// fun isEqualAnyNullableRightB(s: Any?, t: B?) = s == t
|
||||||
|
// equals-impl0
|
||||||
|
fun isEqualLeftNullableRightUnboxedB(s: B?, t: B) = s == t
|
||||||
|
fun isEqualRightNullableLeftUnboxedB(s: B, t: B?) = s == t
|
||||||
|
|
||||||
// FILE: c.kt
|
// FILE: c.kt
|
||||||
|
|
||||||
@@ -61,24 +68,28 @@ fun isEqualAnyLeftC(s: C, t: Any?) = s == t
|
|||||||
fun isEqualSameNullableC(s: C?, t: C?) = s == t
|
fun isEqualSameNullableC(s: C?, t: C?) = s == t
|
||||||
fun isEqualAnyNullableLeftC(s: C?, t: Any?) = s == t
|
fun isEqualAnyNullableLeftC(s: C?, t: Any?) = s == t
|
||||||
fun isEqualAnyNullableRightC(s: Any?, t: C?) = s == t
|
fun isEqualAnyNullableRightC(s: Any?, t: C?) = s == t
|
||||||
|
// unbox, equals-impl0
|
||||||
|
fun isEqualLeftNullableRightUnboxedC(s: C?, t: C) = s == t
|
||||||
|
// equals-impl
|
||||||
|
fun isEqualRightNullableLeftUnboxedC(s: C, t: C?) = s == t
|
||||||
|
|
||||||
// @AKt.class:
|
// @AKt.class:
|
||||||
// 0 INVOKESTATIC A.box-impl
|
// 0 INVOKESTATIC A.box-impl
|
||||||
// 0 INVOKEVIRTUAL A.unbox-impl
|
// 1 INVOKEVIRTUAL A.unbox-impl
|
||||||
// 1 INVOKESTATIC A.equals-impl \(
|
// 2 INVOKESTATIC A.equals-impl \(
|
||||||
// 1 INVOKESTATIC A.equals-impl0
|
// 2 INVOKESTATIC A.equals-impl0
|
||||||
// 3 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual
|
// 3 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual
|
||||||
|
|
||||||
// @BKt.class:
|
// @BKt.class:
|
||||||
// 0 INVOKESTATIC B.box-impl
|
// 0 INVOKESTATIC B.box-impl
|
||||||
// 0 INVOKEVIRTUAL B.unbox-impl
|
// 0 INVOKEVIRTUAL B.unbox-impl
|
||||||
// 2 INVOKESTATIC B.equals-impl \(
|
// 2 INVOKESTATIC B.equals-impl \(
|
||||||
// 2 INVOKESTATIC B.equals-impl0
|
// 4 INVOKESTATIC B.equals-impl0
|
||||||
// 0 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual
|
// 0 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual
|
||||||
|
|
||||||
// @CKt.class:
|
// @CKt.class:
|
||||||
// 0 INVOKESTATIC C.box-impl
|
// 0 INVOKESTATIC C.box-impl
|
||||||
// 0 INVOKEVIRTUAL C.unbox-impl
|
// 1 INVOKEVIRTUAL C.unbox-impl
|
||||||
// 1 INVOKESTATIC C.equals-impl \(
|
// 2 INVOKESTATIC C.equals-impl \(
|
||||||
// 1 INVOKESTATIC C.equals-impl0
|
// 2 INVOKESTATIC C.equals-impl0
|
||||||
// 3 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual
|
// 3 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual
|
||||||
Reference in New Issue
Block a user