1
mirror of https://github.com/revanced/revanced-patcher synced 2025-02-25 00:15:24 +01:00

fix!: check for two methods parameters orders (#183)

BREAKING CHANGE: This requires changes to `MethodFingerprint`
This commit is contained in:
LisoUseInAIKyrios 2023-05-30 19:42:24 +04:00 committed by oSumAtrIX
parent 8f1c835299
commit b6d6a7591b
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4

View File

@ -220,17 +220,15 @@ 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<CharSequence>, parameters2: Iterable<CharSequence>
): 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() {