Nullable Array.contentEquals/contentHashCode/contentToString #KT-34161

This commit is contained in:
Abduqodiri Qurbonzoda
2020-02-27 14:44:33 +03:00
parent 179ec41a6b
commit e632d58936
16 changed files with 1897 additions and 133 deletions
+3 -1
View File
@@ -44,6 +44,7 @@ Kotlin.isArrayish = function (a) {
};
Kotlin.arrayToString = function (a) {
if (a === null) return "null"
var toString = Kotlin.isCharArray(a) ? String.fromCharCode : Kotlin.toString;
return "[" + Array.prototype.map.call(a, function(e) { return toString(e); }).join(", ") + "]";
};
@@ -56,7 +57,7 @@ Kotlin.arrayEquals = function (a, b) {
if (a === b) {
return true;
}
if (!Kotlin.isArrayish(b) || a.length !== b.length) {
if (a === null || b === null || !Kotlin.isArrayish(b) || a.length !== b.length) {
return false;
}
@@ -73,6 +74,7 @@ Kotlin.arrayDeepEquals = function (a, b) {
};
Kotlin.arrayHashCode = function (arr) {
if (arr === null) return 0
var result = 1;
for (var i = 0, n = arr.length; i < n; i++) {
result = ((31 * result | 0) + Kotlin.hashCode(arr[i])) | 0;