From 9d81baf4b4ca7514f8a1009e72218638609a7c7f Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 1 Jul 2023 04:35:49 +0400 Subject: [PATCH] fix: clear method lookup maps (#198) --- src/main/kotlin/app/revanced/patcher/Patcher.kt | 2 ++ .../patcher/fingerprint/method/impl/MethodFingerprint.kt | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/src/main/kotlin/app/revanced/patcher/Patcher.kt b/src/main/kotlin/app/revanced/patcher/Patcher.kt index c774235..0865c62 100644 --- a/src/main/kotlin/app/revanced/patcher/Patcher.kt +++ b/src/main/kotlin/app/revanced/patcher/Patcher.kt @@ -389,6 +389,8 @@ class Patcher(private val options: PatcherOptions) { if (stopOnError) return@sequence } } + + MethodFingerprint.clearFingerprintResolutionLookupMaps() } } diff --git a/src/main/kotlin/app/revanced/patcher/fingerprint/method/impl/MethodFingerprint.kt b/src/main/kotlin/app/revanced/patcher/fingerprint/method/impl/MethodFingerprint.kt index ba19e8d..3921827 100644 --- a/src/main/kotlin/app/revanced/patcher/fingerprint/method/impl/MethodFingerprint.kt +++ b/src/main/kotlin/app/revanced/patcher/fingerprint/method/impl/MethodFingerprint.kt @@ -138,6 +138,15 @@ abstract class MethodFingerprint( } } + /** + * Clears the internal lookup maps created in [initializeFingerprintResolutionLookupMaps] + */ + internal fun clearFingerprintResolutionLookupMaps() { + methods.clear() + methodSignatureLookupMap.clear() + methodStringsLookupMap.clear() + } + /** * Resolve a list of [MethodFingerprint] using the lookup map built by [initializeFingerprintResolutionLookupMaps]. *