From 83c5f93d6d80a7ba434e7e02a40193e040d38f95 Mon Sep 17 00:00:00 2001 From: MchKosticyn Date: Tue, 29 Jul 2025 18:22:09 +0300 Subject: [PATCH 1/2] [fix] fixed string equality --- .../main/java/generated/java/lang/StringImpl.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/approximations/src/main/java/generated/java/lang/StringImpl.java b/approximations/src/main/java/generated/java/lang/StringImpl.java index f21f6de..2c4ff00 100644 --- a/approximations/src/main/java/generated/java/lang/StringImpl.java +++ b/approximations/src/main/java/generated/java/lang/StringImpl.java @@ -296,17 +296,13 @@ public static boolean latin1Equals(byte[] value, byte[] other) { if (arrayEquals != null) return arrayEquals; - if (value.length == other.length) { - for(int i = 0; i < value.length; ++i) { - if (value[i] != other[i]) { - return false; - } + for(int i = 0; i < value.length; ++i) { + if (value[i] != other[i]) { + return false; } - - return true; - } else { - return false; } + + return true; } public boolean equals(Object anObject) { From 4711d1d17d78e8cab032a412db28fc307470218e Mon Sep 17 00:00:00 2001 From: MchKosticyn Date: Tue, 29 Jul 2025 18:57:49 +0300 Subject: [PATCH 2/2] [fix] added `arrayEquals` description --- .../src/main/java/generated/java/lang/StringImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/approximations/src/main/java/generated/java/lang/StringImpl.java b/approximations/src/main/java/generated/java/lang/StringImpl.java index 2c4ff00..13611ae 100644 --- a/approximations/src/main/java/generated/java/lang/StringImpl.java +++ b/approximations/src/main/java/generated/java/lang/StringImpl.java @@ -292,6 +292,11 @@ public void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) { } public static boolean latin1Equals(byte[] value, byte[] other) { + /* + `Engine.arrayEquals` checks arrays lengths: + - if they are equal, but symbolic, returns null + - Otherwise checks equality of each element and returns non-null value + */ Boolean arrayEquals = Engine.arrayEquals(value, other); if (arrayEquals != null) return arrayEquals;