From 6192089b71bdca15765369f3e607ddd1f8266205 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Mon, 23 Oct 2023 00:11:50 +0200 Subject: [PATCH] refactor: Change data classes to actual classes The data class members did not serve any actual purpose. BREAKING CHANGE: This gets rid of data class members. --- api/revanced-patcher.api | 36 ------------------- .../patcher/fingerprint/MethodFingerprint.kt | 12 +++---- 2 files changed, 6 insertions(+), 42 deletions(-) diff --git a/api/revanced-patcher.api b/api/revanced-patcher.api index 03b09a4..d9c616b 100644 --- a/api/revanced-patcher.api +++ b/api/revanced-patcher.api @@ -190,49 +190,26 @@ public final class app/revanced/patcher/fingerprint/MethodFingerprint$Companion public final class app/revanced/patcher/fingerprint/MethodFingerprintResult { public fun (Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult;Lapp/revanced/patcher/data/BytecodeContext;)V - public final fun component1 ()Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun component2 ()Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun component3 ()Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult; - public final fun copy (Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult;Lapp/revanced/patcher/data/BytecodeContext;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult; - public static synthetic fun copy$default (Lapp/revanced/patcher/fingerprint/MethodFingerprintResult;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult;Lapp/revanced/patcher/data/BytecodeContext;ILjava/lang/Object;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult; - public fun equals (Ljava/lang/Object;)Z public final fun getClassDef ()Lcom/android/tools/smali/dexlib2/iface/ClassDef; public final fun getMethod ()Lcom/android/tools/smali/dexlib2/iface/Method; public final fun getMutableClass ()Lapp/revanced/patcher/util/proxy/mutableTypes/MutableClass; public final fun getMutableMethod ()Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod; public final fun getScanResult ()Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; } public final class app/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult { public fun (Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$PatternScanResult;Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult;)V - public final fun component1 ()Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$PatternScanResult; - public final fun component2 ()Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult; - public final fun copy (Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$PatternScanResult;Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult; - public static synthetic fun copy$default (Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult;Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$PatternScanResult;Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult;ILjava/lang/Object;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult; - public fun equals (Ljava/lang/Object;)Z public final fun getPatternScanResult ()Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$PatternScanResult; public final fun getStringsScanResult ()Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; } public final class app/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$PatternScanResult { public fun (IILjava/util/List;)V public synthetic fun (IILjava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()I - public final fun component2 ()I - public final fun component3 ()Ljava/util/List; - public final fun copy (IILjava/util/List;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$PatternScanResult; - public static synthetic fun copy$default (Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$PatternScanResult;IILjava/util/List;ILjava/lang/Object;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$PatternScanResult; - public fun equals (Ljava/lang/Object;)Z public final fun getEndIndex ()I public final fun getStartIndex ()I public final fun getWarnings ()Ljava/util/List; - public fun hashCode ()I public final fun setWarnings (Ljava/util/List;)V - public fun toString ()Ljava/lang/String; } public final class app/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$PatternScanResult$Warning { @@ -245,26 +222,13 @@ public final class app/revanced/patcher/fingerprint/MethodFingerprintResult$Meth public final class app/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult { public fun (Ljava/util/List;)V - public final fun component1 ()Ljava/util/List; - public final fun copy (Ljava/util/List;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult; - public static synthetic fun copy$default (Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult;Ljava/util/List;ILjava/lang/Object;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult; - public fun equals (Ljava/lang/Object;)Z public final fun getMatches ()Ljava/util/List; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; } public final class app/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult$StringMatch { public fun (Ljava/lang/String;I)V - public final fun component1 ()Ljava/lang/String; - public final fun component2 ()I - public final fun copy (Ljava/lang/String;I)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult$StringMatch; - public static synthetic fun copy$default (Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult$StringMatch;Ljava/lang/String;IILjava/lang/Object;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult$MethodFingerprintScanResult$StringsScanResult$StringMatch; - public fun equals (Ljava/lang/Object;)Z public final fun getIndex ()I public final fun getString ()Ljava/lang/String; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; } public abstract interface annotation class app/revanced/patcher/fingerprint/annotation/FuzzyPatternScanMethod : java/lang/annotation/Annotation { diff --git a/src/main/kotlin/app/revanced/patcher/fingerprint/MethodFingerprint.kt b/src/main/kotlin/app/revanced/patcher/fingerprint/MethodFingerprint.kt index 951b933..4c2c4d7 100644 --- a/src/main/kotlin/app/revanced/patcher/fingerprint/MethodFingerprint.kt +++ b/src/main/kotlin/app/revanced/patcher/fingerprint/MethodFingerprint.kt @@ -434,7 +434,7 @@ abstract class MethodFingerprint( * @param scanResult The result of scanning for the [MethodFingerprint]. * @param context The [BytecodeContext] this [MethodFingerprintResult] is attached to, to create proxies. */ -data class MethodFingerprintResult( +class MethodFingerprintResult( val method: Method, val classDef: ClassDef, val scanResult: MethodFingerprintScanResult, @@ -466,7 +466,7 @@ data class MethodFingerprintResult( * @param patternScanResult The result of the pattern scan. * @param stringsScanResult The result of the string scan. */ - data class MethodFingerprintScanResult( + class MethodFingerprintScanResult( val patternScanResult: PatternScanResult?, val stringsScanResult: StringsScanResult? ) { @@ -474,13 +474,13 @@ data class MethodFingerprintResult( * The result of scanning strings on the [MethodFingerprint]. * @param matches The list of strings that were matched. */ - data class StringsScanResult(val matches: List) { + class StringsScanResult(val matches: List) { /** * Represents a match for a string at an index. * @param string The string that was matched. * @param index The index of the string. */ - data class StringMatch(val string: String, val index: Int) + class StringMatch(val string: String, val index: Int) } /** @@ -489,7 +489,7 @@ data class MethodFingerprintResult( * @param endIndex The end index of the instructions where to which this pattern matches. * @param warnings A list of warnings considering this [PatternScanResult]. */ - data class PatternScanResult( + class PatternScanResult( val startIndex: Int, val endIndex: Int, var warnings: List? = null @@ -501,7 +501,7 @@ data class MethodFingerprintResult( * @param instructionIndex The index of the opcode relative to the instruction list. * @param patternIndex The index of the opcode relative to the pattern list from the signature. */ - data class Warning( + class Warning( val correctOpcode: Opcode, val wrongOpcode: Opcode, val instructionIndex: Int,