Drop identityEquals from builtins, compiler and tests.
This commit is contained in:
+1
-1
@@ -24,7 +24,7 @@ fun box(): String {
|
||||
val ok2 = Simple.valueOf("OK")
|
||||
if (!ok2.equals(ok)) return "ok2 not equal ok"
|
||||
if (ok2.hashCode() != ok.hashCode()) return "hash(ok2) not equal hash(ok)"
|
||||
if (!ok2.identityEquals(ok)) return "ok2 not identity equal ok"
|
||||
if (ok2 !== ok) return "ok2 not identity equal ok"
|
||||
|
||||
|
||||
if (EmptyEnum.values().size != 0) return "EmptyEnum.values().size != 0"
|
||||
|
||||
@@ -5,13 +5,13 @@ public fun hashCode(): Int = 0
|
||||
public fun toString(): String = ""
|
||||
|
||||
public class PublicClass {
|
||||
override fun equals(a: Any?): Boolean = this.identityEquals(a)
|
||||
override fun equals(a: Any?): Boolean = this === a
|
||||
override fun hashCode(): Int = 0
|
||||
override fun toString(): String = "PublicClass"
|
||||
}
|
||||
|
||||
internal class InternalClass {
|
||||
override fun equals(a: Any?): Boolean = this.identityEquals(a)
|
||||
override fun equals(a: Any?): Boolean = this === a
|
||||
override fun hashCode(): Int = 1
|
||||
override fun toString(): String = "InternalClass"
|
||||
|
||||
@@ -22,7 +22,7 @@ internal class InternalClass {
|
||||
}
|
||||
|
||||
private class PrivateClass {
|
||||
override fun equals(a: Any?): Boolean = this.identityEquals(a)
|
||||
override fun equals(a: Any?): Boolean = this === a
|
||||
override fun hashCode(): Int = 2
|
||||
override fun toString(): String = "InternalClass"
|
||||
|
||||
|
||||
+8
-8
@@ -5,17 +5,17 @@ class X
|
||||
fun box(): String {
|
||||
val a = X()
|
||||
val b = X()
|
||||
if (!a.identityEquals(a)) return "a !== a"
|
||||
if (a.identityEquals(b)) return "X() === X()"
|
||||
if (a !== a) return "a !== a"
|
||||
if (a === b) return "X() === X()"
|
||||
val c = a
|
||||
if (!c.identityEquals(a)) return "c = a; c !== a"
|
||||
if (c !== a) return "c = a; c !== a"
|
||||
|
||||
if (X().identityEquals(a)) return "X() identityEquals a"
|
||||
if (X() === a) return "X() === a"
|
||||
|
||||
val t = !(X().identityEquals(a))
|
||||
if (!t) return "t = !(X() identityEquals a); t == false"
|
||||
val t = !(X() === a)
|
||||
if (!t) return "t = !(X() === a); t == false"
|
||||
|
||||
val f = !!(X().identityEquals(a))
|
||||
if (f) return "f = !!(X() identityEquals null); f == true"
|
||||
val f = !!(X() === a)
|
||||
if (f) return "f = !!(X() === null); f == true"
|
||||
return "OK";
|
||||
}
|
||||
Vendored
+6
-6
@@ -1,13 +1,13 @@
|
||||
package foo
|
||||
|
||||
fun box(): String {
|
||||
if (!null.identityEquals(null)) return "null !== null"
|
||||
if (!("ab".identityEquals("ab"))) return "ab !== ab"
|
||||
if (("ab".identityEquals("a"))) return "ab === a"
|
||||
if (null !== null) return "null !== null"
|
||||
if (!("ab" === "ab")) return "ab !== ab"
|
||||
if ("ab" === "a") return "ab === a"
|
||||
|
||||
if ("0".identityEquals(0)) return "'0' === 0"
|
||||
if (!(0.identityEquals(0))) return "0 !== 0"
|
||||
if (0.identityEquals(1)) return "0 === 1"
|
||||
if ("0" as Any === 0) return "'0' === 0"
|
||||
if (!(0 === 0)) return "0 !== 0"
|
||||
if (0 === 1) return "0 === 1"
|
||||
|
||||
|
||||
return "OK";
|
||||
|
||||
@@ -17,7 +17,7 @@ fun String.myHashCode(): Int {
|
||||
class Foo(val name: String) {
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (other is Foo) return name == other.name
|
||||
return this.identityEquals(other)
|
||||
return this === other
|
||||
}
|
||||
override fun hashCode(): Int = name.myHashCode()
|
||||
override fun toString(): String = "Foo($name)"
|
||||
|
||||
@@ -3,11 +3,11 @@ package foo
|
||||
class A
|
||||
|
||||
inline fun compare1(a: A): Boolean {
|
||||
return a.identityEquals(a)
|
||||
return a === a
|
||||
}
|
||||
|
||||
inline fun compare2(a1: A, a2: A): Boolean {
|
||||
return a1.identityEquals(a2)
|
||||
return a1 === a2
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
|
||||
Reference in New Issue
Block a user