From 7cc8a7dec321774c1d3f2f1a87ac91f952c4fb7e Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Tue, 5 Apr 2022 03:54:16 +0200 Subject: [PATCH] fix: fix classes having multiple instances of fields --- .../revanced/patcher/proxy/mutableTypes/MutableClass.kt | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/app/revanced/patcher/proxy/mutableTypes/MutableClass.kt b/src/main/kotlin/app/revanced/patcher/proxy/mutableTypes/MutableClass.kt index 92cc1e48..df5876d4 100644 --- a/src/main/kotlin/app/revanced/patcher/proxy/mutableTypes/MutableClass.kt +++ b/src/main/kotlin/app/revanced/patcher/proxy/mutableTypes/MutableClass.kt @@ -6,6 +6,7 @@ import app.revanced.patcher.proxy.mutableTypes.MutableMethod.Companion.toMutable import com.google.common.collect.Iterables import org.jf.dexlib2.base.reference.BaseTypeReference import org.jf.dexlib2.iface.ClassDef +import org.jf.dexlib2.util.FieldUtil import org.jf.dexlib2.util.MethodUtil class MutableClass(classDef: ClassDef) : ClassDef, BaseTypeReference() { @@ -27,12 +28,8 @@ class MutableClass(classDef: ClassDef) : ClassDef, BaseTypeReference() { // Fields private val _fields by lazy { classDef.fields.map { field -> field.toMutable() }.toMutableSet() } - private val _staticFields by lazy { - classDef.staticFields.map { staticField -> staticField.toMutable() }.toMutableSet() - } - private val _instanceFields by lazy { - classDef.instanceFields.map { instanceFields -> instanceFields.toMutable() }.toMutableSet() - } + private val _staticFields by lazy { Iterables.filter(_fields, FieldUtil.FIELD_IS_STATIC).toMutableSet() } + private val _instanceFields by lazy {Iterables.filter(_fields, FieldUtil.FIELD_IS_INSTANCE) .toMutableSet() } fun setType(type: String) { this.type = type