From 0a39b3fbd0d08e699c2c94defdc0999bf9bd4fc3 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Mon, 29 May 2023 02:51:58 +0400 Subject: [PATCH 1/2] parametersEqual ordering --- .../app/revanced/patcher/extensions/Extensions.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/app/revanced/patcher/extensions/Extensions.kt b/src/main/kotlin/app/revanced/patcher/extensions/Extensions.kt index f8286312..8726f83a 100644 --- a/src/main/kotlin/app/revanced/patcher/extensions/Extensions.kt +++ b/src/main/kotlin/app/revanced/patcher/extensions/Extensions.kt @@ -224,13 +224,12 @@ internal fun Method.cloneMutable(registerCount: Int = 0) = clone(registerCount). internal fun parametersEqual( parameters1: Iterable, parameters2: Iterable ): Boolean { - return parameters1.count() == parameters2.count() && parameters1.all { parameter -> - parameters2.any { - it.startsWith( - parameter - ) - } + if (parameters1.count() != parameters2.count()) return false + val iterator1 = parameters1.iterator() + parameters2.forEach { + if (!it.startsWith(iterator1.next())) return false } + return true } internal val nullOutputStream = object : OutputStream() { From 302dd46d39da1fa14aa9acfe43e3f1b3f9b59f2e Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Mon, 29 May 2023 02:56:44 +0400 Subject: [PATCH 2/2] comments --- src/main/kotlin/app/revanced/patcher/extensions/Extensions.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/kotlin/app/revanced/patcher/extensions/Extensions.kt b/src/main/kotlin/app/revanced/patcher/extensions/Extensions.kt index 8726f83a..5531b9bd 100644 --- a/src/main/kotlin/app/revanced/patcher/extensions/Extensions.kt +++ b/src/main/kotlin/app/revanced/patcher/extensions/Extensions.kt @@ -220,7 +220,6 @@ private fun replaceOffset( */ internal fun Method.cloneMutable(registerCount: Int = 0) = clone(registerCount).toMutable() -// FIXME: also check the order of parameters as different order equals different method overload internal fun parametersEqual( parameters1: Iterable, parameters2: Iterable ): Boolean {