diff --git a/build.gradle.kts b/build.gradle.kts index 7728dea..cf58fff 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,4 +2,4 @@ plugins { alias(libs.plugins.android.kotlin.multiplatform.library) apply false alias(libs.plugins.kotlinMultiplatform) apply false alias(libs.plugins.vanniktech.mavenPublish) apply false -} \ No newline at end of file +} diff --git a/patcher/api/android/patcher.api b/patcher/api/android/patcher.api index 92811bb..3d93d0a 100644 --- a/patcher/api/android/patcher.api +++ b/patcher/api/android/patcher.api @@ -1,59 +1,340 @@ -public final class app/revanced/patcher/Fingerprint { - public final fun getClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getOriginalClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getOriginalClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getOriginalMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun getOriginalMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun getPatternMatch (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/patcher/FingerprintMatch$PatternMatch; - public final fun getPatternMatchOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/patcher/FingerprintMatch$PatternMatch; - public final fun getStringMatches (Lapp/revanced/patcher/patch/BytecodePatchContext;)Ljava/util/List; - public final fun getStringMatchesOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Ljava/util/List; - public final fun match (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/patcher/FingerprintMatch; - public final fun match (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/patcher/FingerprintMatch; - public final fun match (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/patcher/FingerprintMatch; - public final fun matchOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/patcher/FingerprintMatch; - public final fun matchOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/patcher/FingerprintMatch; - public final fun matchOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/patcher/FingerprintMatch; +public final class app/revanced/collections/MutableMap_androidKt { + public static final fun kmpMerge (Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V } -public final class app/revanced/patcher/FingerprintBuilder { +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseAnnotationEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/AnnotationEncodedValue;)V + public fun getElements ()Ljava/util/Set; + public fun getType ()Ljava/lang/String; + public final fun setType (Ljava/lang/String;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/AnnotationEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseArrayEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/ArrayEncodedValue;)V + public fun getValue ()Ljava/util/List; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ArrayEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseBooleanEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/BooleanEncodedValue;)V + public fun getValue ()Z + public final fun setValue (Z)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/BooleanEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseByteEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)V + public fun getValue ()B + public final fun setValue (B)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseCharEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/CharEncodedValue;)V + public fun getValue ()C + public final fun setValue (C)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/CharEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseDoubleEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/DoubleEncodedValue;)V + public fun getValue ()D + public final fun setValue (D)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/DoubleEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue; +} + +public abstract interface class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue : com/android/tools/smali/dexlib2/iface/value/EncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue$Companion; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseEnumEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/EnumEncodedValue;)V + public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference; + public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/EnumEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseFieldEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/FieldEncodedValue;)V + public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference; + public fun getValueType ()I + public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/FieldEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseFloatEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/FloatEncodedValue;)V + public fun getValue ()F + public final fun setValue (F)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/FloatEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseIntEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/IntEncodedValue;)V + public fun getValue ()I + public final fun setValue (I)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/IntEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseLongEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/LongEncodedValue;)V + public fun getValue ()J + public final fun setValue (J)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/LongEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodEncodedValue;)V + public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference; + public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodHandleEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodHandleEncodedValue;)V + public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodHandleReference; + public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodHandleReference;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodHandleEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodTypeEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodTypeEncodedValue;)V + public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodProtoReference; + public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodProtoReference;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodTypeEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseNullEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue$Companion; public fun ()V - public final fun accessFlags (I)V - public final fun accessFlags ([Lcom/android/tools/smali/dexlib2/AccessFlags;)V - public final fun custom (Lkotlin/jvm/functions/Function2;)V - public final fun opcodes (Ljava/lang/String;)V - public final fun opcodes ([Lcom/android/tools/smali/dexlib2/Opcode;)V - public final fun parameters ([Ljava/lang/String;)V - public final fun returns (Ljava/lang/String;)V - public final fun strings ([Ljava/lang/String;)V } -public final class app/revanced/patcher/FingerprintKt { - public static final fun fingerprint (ILkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/Fingerprint; - public static synthetic fun fingerprint$default (ILkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/Fingerprint; +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; } -public final class app/revanced/patcher/FingerprintMatch { - public final fun getClassDef ()Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getContext ()Lapp/revanced/patcher/patch/BytecodePatchContext; - public final fun getMethod ()Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getOriginalClassDef ()Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getOriginalMethod ()Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun getPatternMatch ()Lapp/revanced/patcher/FingerprintMatch$PatternMatch; - public final fun getStringMatches ()Ljava/util/List; +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseShortEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/ShortEncodedValue;)V + public fun getValue ()S + public final fun setValue (S)V } -public final class app/revanced/patcher/FingerprintMatch$PatternMatch { - public final fun getEndIndex ()I - public final fun getStartIndex ()I +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ShortEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue; } -public final class app/revanced/patcher/FingerprintMatch$StringMatch { - public final fun getIndex ()I - public final fun getString ()Ljava/lang/String; +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseStringEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/StringEncodedValue;)V + public fun getValue ()Ljava/lang/String; + public final fun setValue (Ljava/lang/String;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseTypeEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/TypeEncodedValue;)V + public fun getValue ()Ljava/lang/String; + public final fun setValue (Ljava/lang/String;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/TypeEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotation : com/android/tools/smali/dexlib2/base/BaseAnnotation { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotation$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/Annotation;)V + public fun getElements ()Ljava/util/Set; + public fun getType ()Ljava/lang/String; + public fun getVisibility ()I +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotation$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Annotation;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotation; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement : com/android/tools/smali/dexlib2/base/BaseAnnotationElement { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/AnnotationElement;)V + public fun getName ()Ljava/lang/String; + public fun getValue ()Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; + public synthetic fun getValue ()Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue; + public final fun setName (Ljava/lang/String;)V + public final fun setValue (Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/AnnotationElement;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef : com/android/tools/smali/dexlib2/base/reference/BaseTypeReference, com/android/tools/smali/dexlib2/iface/ClassDef { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)V + public final fun charAt (I)C + public fun get (I)C + public fun getAccessFlags ()I + public fun getAnnotations ()Ljava/util/Set; + public synthetic fun getDirectMethods ()Ljava/lang/Iterable; + public fun getDirectMethods ()Ljava/util/Set; + public synthetic fun getFields ()Ljava/lang/Iterable; + public fun getFields ()Ljava/util/Set; + public synthetic fun getInstanceFields ()Ljava/lang/Iterable; + public fun getInstanceFields ()Ljava/util/Set; + public fun getInterfaces ()Ljava/util/List; + public fun getLength ()I + public synthetic fun getMethods ()Ljava/lang/Iterable; + public fun getMethods ()Ljava/util/Set; + public fun getSourceFile ()Ljava/lang/String; + public synthetic fun getStaticFields ()Ljava/lang/Iterable; + public fun getStaticFields ()Ljava/util/Set; + public fun getSuperclass ()Ljava/lang/String; + public fun getType ()Ljava/lang/String; + public synthetic fun getVirtualMethods ()Ljava/lang/Iterable; + public fun getVirtualMethods ()Ljava/util/Set; + public final fun length ()I + public final fun setAccessFlags (I)V + public final fun setSourceFile (Ljava/lang/String;)V + public final fun setSuperClass (Ljava/lang/String;)V + public final fun setType (Ljava/lang/String;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableField : com/android/tools/smali/dexlib2/base/reference/BaseFieldReference, com/android/tools/smali/dexlib2/iface/Field { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableField$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/Field;)V + public fun getAccessFlags ()I + public fun getAnnotations ()Ljava/util/Set; + public fun getDefiningClass ()Ljava/lang/String; + public fun getHiddenApiRestrictions ()Ljava/util/Set; + public fun getInitialValue ()Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; + public synthetic fun getInitialValue ()Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue; + public fun getName ()Ljava/lang/String; + public fun getType ()Ljava/lang/String; + public final fun setAccessFlags (I)V + public final fun setDefiningClass (Ljava/lang/String;)V + public final fun setInitialValue (Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue;)V + public final fun setName (Ljava/lang/String;)V + public final fun setType (Ljava/lang/String;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableField$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Field;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableField; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod : com/android/tools/smali/dexlib2/base/reference/BaseMethodReference, com/android/tools/smali/dexlib2/iface/Method { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/Method;)V + public fun getAccessFlags ()I + public fun getAnnotations ()Ljava/util/Set; + public fun getDefiningClass ()Ljava/lang/String; + public fun getHiddenApiRestrictions ()Ljava/util/Set; + public fun getImplementation ()Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation; + public synthetic fun getImplementation ()Lcom/android/tools/smali/dexlib2/iface/MethodImplementation; + public fun getName ()Ljava/lang/String; + public fun getParameterTypes ()Ljava/util/List; + public fun getParameters ()Ljava/util/List; + public fun getReturnType ()Ljava/lang/String; + public final fun setAccessFlags (I)V + public final fun setDefiningClass (Ljava/lang/String;)V + public final fun setImplementation (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;)V + public final fun setName (Ljava/lang/String;)V + public final fun setReturnType (Ljava/lang/String;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethodParameter : com/android/tools/smali/dexlib2/base/BaseMethodParameter, com/android/tools/smali/dexlib2/iface/MethodParameter { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethodParameter$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/MethodParameter;)V + public final fun charAt (I)C + public fun get (I)C + public fun getAnnotations ()Ljava/util/Set; + public fun getLength ()I + public fun getName ()Ljava/lang/String; + public fun getSignature ()Ljava/lang/String; + public fun getType ()Ljava/lang/String; + public final fun length ()I +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethodParameter$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/MethodParameter;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethodParameter; +} + +public final class app/revanced/patcher/ClassDefComposing { + public static final field INSTANCE Lapp/revanced/patcher/ClassDefComposing; + public final fun composingFirstMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun composingFirstMethod$default (Lapp/revanced/patcher/ClassDefComposing;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; } public final class app/revanced/patcher/IndexedMatcher : app/revanced/patcher/Matcher { @@ -72,32 +353,28 @@ public final class app/revanced/patcher/IndexedMatcher : app/revanced/patcher/Ma public fun removeAt (I)Lkotlin/jvm/functions/Function4; } -public final class app/revanced/patcher/Match { - public fun (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;Ljava/util/List;)V - public final fun getClassDef ()Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getClassDefOrNull ()Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getContext ()Lapp/revanced/patcher/patch/BytecodePatchContext; - public final fun getImmutableClassDef ()Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getImmutableClassDefOrNull ()Lcom/android/tools/smali/dexlib2/iface/ClassDef; +public final class app/revanced/patcher/IterableClassDefComposing { + public static final field INSTANCE Lapp/revanced/patcher/IterableClassDefComposing; + public final fun composingFirstMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun composingFirstMethod$default (Lapp/revanced/patcher/IterableClassDefComposing;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; +} + +public class app/revanced/patcher/Match { + public fun ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;)V + public final fun component1 (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public final fun component2 (Lapp/revanced/patcher/patch/BytecodePatchContext;)Ljava/util/List; + public final fun component3 (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public final fun get (I)I + public final fun get (II)I + public final fun getClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public final fun getClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public final fun getImmutableClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public final fun getImmutableClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; public final fun getImmutableMethod ()Lcom/android/tools/smali/dexlib2/iface/Method; public final fun getImmutableMethodOrNull ()Lcom/android/tools/smali/dexlib2/iface/Method; public final fun getIndices ()Ljava/util/List; - public final fun getMethod ()Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getMethodOrNull ()Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; -} - -public final class app/revanced/patcher/MatchBuilder { - public final fun getCachedMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getImmutableClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getImmutableClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getImmutableMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun getImmutableMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun getIndices ()Ljava/util/List; - public final fun getMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun match (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/patcher/Match; + public final fun getMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public final fun getMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; } public abstract class app/revanced/patcher/Matcher : java/util/List, kotlin/jvm/internal/markers/KMutableList { @@ -177,8 +454,11 @@ public final class app/revanced/patcher/MatchingKt { public static final fun anyVirtualMethod (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lkotlin/jvm/functions/Function1;)Z public static final fun at (ILkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; public static final fun at (ILkotlin/jvm/functions/Function4;)Lkotlin/jvm/functions/Function4; + public static final fun composingFirstMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun composingFirstMethod$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun composingMethod (Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun composingMethod$default (Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun custom (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V - public static final fun declarativePredicate (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public static final fun definingClass (Lapp/revanced/patcher/MutablePredicateList;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)V public static final fun definingClass (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V public static synthetic fun definingClass$default (Lapp/revanced/patcher/MutablePredicateList;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V @@ -186,162 +466,178 @@ public final class app/revanced/patcher/MatchingKt { public static final fun field (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; public static synthetic fun field$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; public static synthetic fun field$default (Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; - public static final fun firstClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefDeclarativelyInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefDeclarativelyInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefDeclarativelyOrNullInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefDeclarativelyOrNullInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefOrNullInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefOrNullInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefDeclarativelyInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefDeclarativelyInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefDeclarativelyOrNullInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefDeclarativelyOrNullInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefOrNullInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefOrNullInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; public static final fun firstMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethod$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodComposite ([Ljava/lang/String;Lkotlin/jvm/functions/Function5;)Lapp/revanced/patcher/MatchBuilder; + public static final fun firstMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethod$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodComposite (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lapp/revanced/patcher/Match; + public static final fun firstMethodComposite (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lapp/revanced/patcher/Match; + public static final fun firstMethodComposite (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lapp/revanced/patcher/Match; + public static synthetic fun firstMethodComposite$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lapp/revanced/patcher/Match; + public static synthetic fun firstMethodComposite$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lapp/revanced/patcher/Match; + public static synthetic fun firstMethodComposite$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lapp/revanced/patcher/Match; public static final fun firstMethodDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; public static synthetic fun firstMethodDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodDeclarativelyInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodDeclarativelyInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodDeclarativelyInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodDeclarativelyInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodDeclarativelyInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodDeclarativelyInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; public static synthetic fun firstMethodDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodDeclarativelyOrNullInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodDeclarativelyOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodDeclarativelyOrNullInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyOrNullInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodDeclarativelyOrNullInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodDeclarativelyOrNullInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyOrNullInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodDeclarativelyOrNullInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyOrNullInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodInClassDefs (Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodInClassDefs$default (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodInClassDefs$default (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodInMethods (Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodOrNullInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodOrNullInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodOrNullInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodOrNullInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodOrNullInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodOrNullInClassDefs (Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodOrNullInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodOrNullInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodOrNullInClassDefs$default (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodOrNullInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodOrNullInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodOrNullInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodOrNullInClassDefs$default (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodOrNullInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodOrNullInMethods (Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodOrNullInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodOrNullInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMutableClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefDeclarativelyInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefDeclarativelyInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefDeclarativelyOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefDeclarativelyOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethod$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodOrNullInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodOrNullInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun getClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun getClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMethodOrNullInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodOrNullInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMutableClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefDeclarativelyInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefDeclarativelyInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefDeclarativelyOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefDeclarativelyOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethod$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyOrNullInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyOrNullInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodOrNullInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodOrNullInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun getClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun getClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; public static final fun getImmutableClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; public static final fun getImmutableClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun gettingFirstClassDef (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstClassDef$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstClassDefDeclaratively (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstClassDefDeclaratively$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstClassDefDeclarativelyOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstClassDefDeclarativelyOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstClassDefOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstClassDefOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstClassDef (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstClassDef$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstClassDefDeclaratively (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstClassDefDeclaratively$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstClassDefDeclarativelyOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstClassDefDeclarativelyOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstClassDefOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstClassDefOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMethod (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMethod$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMethod$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMethodDeclaratively ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; public static synthetic fun gettingFirstMethodDeclaratively$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMethodDeclarativelyOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; public static synthetic fun gettingFirstMethodDeclarativelyOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMethodOrNull (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMethodOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMethodOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableClassDef (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableClassDef$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableClassDefDeclaratively (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableClassDefDeclaratively$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableClassDefDeclarativelyOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableClassDefDeclarativelyOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableClassDefOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableClassDefOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMethodOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMethodOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableClassDef (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableClassDef$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableClassDefDeclaratively (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableClassDefDeclaratively$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableClassDefDeclarativelyOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableClassDefDeclarativelyOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableClassDefOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableClassDefOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMutableMethod (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableMethod$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableMethod$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMutableMethodDeclaratively ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; public static synthetic fun gettingFirstMutableMethodDeclaratively$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMutableMethodDeclarativelyOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; public static synthetic fun gettingFirstMutableMethodDeclarativelyOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMutableMethodOrNull (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableMethodOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableMethodOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableMethodOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableMethodOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun implementation (Lcom/android/tools/smali/dexlib2/iface/Method;Lkotlin/jvm/functions/Function1;)Z public static final fun indexedMatcher (Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/IndexedMatcher; public static final fun indexedMatcher ([Lkotlin/jvm/functions/Function4;)Lapp/revanced/patcher/IndexedMatcher; public static final fun instruction (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; public static synthetic fun instruction$default (Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; - public static final fun instructions (Lapp/revanced/patcher/IndexedMatcher;Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V - public static final fun instructions (Lapp/revanced/patcher/IndexedMatcher;Lapp/revanced/patcher/MutablePredicateList;[Lkotlin/jvm/functions/Function4;)V public static final fun instructions (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V public static final fun instructions (Lapp/revanced/patcher/MutablePredicateList;[Lkotlin/jvm/functions/Function1;)V public static final fun instructions (Lapp/revanced/patcher/MutablePredicateList;[Lkotlin/jvm/functions/Function4;)V + public static final fun instructions (Ljava/util/List;Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V + public static final fun instructions (Ljava/util/List;Lapp/revanced/patcher/MutablePredicateList;[Lkotlin/jvm/functions/Function4;)V public static final fun invoke (JLkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; public static final fun invoke (Lcom/android/tools/smali/dexlib2/Opcode;)Lkotlin/jvm/functions/Function4; public static final fun invoke (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; @@ -353,8 +649,6 @@ public final class app/revanced/patcher/MatchingKt { public static final fun literal (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; public static synthetic fun literal$default (JLkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; public static synthetic fun literal$default (Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; - public static final fun matchIndexed (Lapp/revanced/patcher/PredicateContext;Ljava/lang/Iterable;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z - public static final fun matchIndexed (Lapp/revanced/patcher/PredicateContext;Ljava/lang/Iterable;Ljava/lang/Object;[Lkotlin/jvm/functions/Function4;)Z public static final fun matchIndexed (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Z public static final fun method (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; public static final fun method (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; @@ -365,8 +659,8 @@ public final class app/revanced/patcher/MatchingKt { public static synthetic fun name$default (Lapp/revanced/patcher/MutablePredicateList;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V public static final fun noneOf (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V public static final fun noneOf ([Lkotlin/jvm/functions/Function4;)Lkotlin/jvm/functions/Function4; - public static final fun opcodes (Lapp/revanced/patcher/IndexedMatcher;Lapp/revanced/patcher/MutablePredicateList;[Lcom/android/tools/smali/dexlib2/Opcode;)V public static final fun opcodes (Lapp/revanced/patcher/MutablePredicateList;[Lcom/android/tools/smali/dexlib2/Opcode;)V + public static final fun opcodes (Ljava/util/List;Lapp/revanced/patcher/MutablePredicateList;[Lcom/android/tools/smali/dexlib2/Opcode;)V public static final fun parameterTypes (Lapp/revanced/patcher/MutablePredicateList;[Ljava/lang/String;)V public static final fun predicate (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V public static final fun reference (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; @@ -375,7 +669,6 @@ public final class app/revanced/patcher/MatchingKt { public static final fun registers ([ILkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; public static synthetic fun registers$default (Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; public static synthetic fun registers$default ([ILkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; - public static final fun rememberDeclarativePredicate (Lapp/revanced/patcher/PredicateContext;Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public static final fun returnType (Lapp/revanced/patcher/MutablePredicateList;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)V public static final fun returnType (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V public static synthetic fun returnType$default (Lapp/revanced/patcher/MutablePredicateList;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V @@ -385,8 +678,8 @@ public final class app/revanced/patcher/MatchingKt { public static synthetic fun string$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; public static synthetic fun string$default (Ljava/util/List;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; public static synthetic fun string$default (Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; - public static final fun strings (Lapp/revanced/patcher/IndexedMatcher;Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V - public static final fun strings (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V + public static final fun strings (Lapp/revanced/patcher/MutablePredicateList;[Ljava/lang/String;)V + public static final fun strings (Ljava/util/List;Lapp/revanced/patcher/MutablePredicateList;[Ljava/lang/String;)V public static final fun type (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; public static final fun type (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; public static synthetic fun type$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; @@ -455,25 +748,6 @@ public final class app/revanced/patcher/PatchingKt { public static synthetic fun patcher$default (Ljava/io/File;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; } -public final class app/revanced/patcher/PredicateContext : java/util/Map, kotlin/jvm/internal/markers/KMutableMap { - public fun clear ()V - public fun containsKey (Ljava/lang/Object;)Z - public fun containsValue (Ljava/lang/Object;)Z - public final fun entrySet ()Ljava/util/Set; - public fun get (Ljava/lang/Object;)Ljava/lang/Object; - public fun getEntries ()Ljava/util/Set; - public fun getKeys ()Ljava/util/Set; - public fun getSize ()I - public fun getValues ()Ljava/util/Collection; - public fun isEmpty ()Z - public final fun keySet ()Ljava/util/Set; - public fun put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; - public fun putAll (Ljava/util/Map;)V - public fun remove (Ljava/lang/Object;)Ljava/lang/Object; - public final fun size ()I - public final fun values ()Ljava/util/Collection; -} - public final class app/revanced/patcher/extensions/ExternalLabel { public fun (Ljava/lang/String;Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;)V public final fun copy (Ljava/lang/String;Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;)Lapp/revanced/patcher/extensions/ExternalLabel; @@ -492,54 +766,59 @@ public final class app/revanced/patcher/extensions/InstructionKt { public static final fun getType (Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;)Ljava/lang/String; public static final fun getTypeReference (Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;)Lcom/android/tools/smali/dexlib2/iface/reference/TypeReference; public static final fun getWideLiteral (Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;)Ljava/lang/Long; - public static final fun toInstructions (Ljava/lang/String;Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; - public static synthetic fun toInstructions$default (Ljava/lang/String;Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/Object;)Ljava/util/List; + public static final fun toInstructions (Ljava/lang/String;Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; + public static synthetic fun toInstructions$default (Ljava/lang/String;Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/Object;)Ljava/util/List; } public final class app/revanced/patcher/extensions/MethodKt { public static final fun accessFlags (Lcom/android/tools/smali/dexlib2/iface/Method;[Lcom/android/tools/smali/dexlib2/AccessFlags;)Z - public static final fun addInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V - public static final fun addInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V - public static final fun addInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V - public static final fun addInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/lang/String;)V + public static final fun addInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V + public static final fun addInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V + public static final fun addInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V + public static final fun addInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/lang/String;)V + public static final fun addInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V + public static final fun addInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/util/List;)V + public static final fun addInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/lang/String;)V + public static final fun addInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/util/List;)V public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;ILjava/util/List;)V public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;Ljava/util/List;)V - public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V - public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/util/List;)V - public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/lang/String;)V - public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/util/List;)V - public static final fun addInstructionsWithLabels (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;[Lapp/revanced/patcher/extensions/ExternalLabel;)V + public static final fun addInstructionsWithLabels (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;[Lapp/revanced/patcher/extensions/ExternalLabel;)V + public static final fun getInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction; + public static final fun getInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)Ljava/lang/Object; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;I)Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;I)Ljava/lang/Object; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/iface/Method;I)Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/iface/Method;I)Ljava/lang/Object; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/iface/MethodImplementation;I)Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/iface/MethodImplementation;I)Ljava/lang/Object; - public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction; - public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)Ljava/lang/Object; + public static final fun getInstructionOrNull (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction; + public static final fun getInstructionOrNull (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)Ljava/lang/Object; public static final fun getInstructionOrNull (Lcom/android/tools/smali/dexlib2/iface/Method;I)Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction; public static final fun getInstructionOrNull (Lcom/android/tools/smali/dexlib2/iface/Method;I)Ljava/lang/Object; - public static final fun getInstructionOrNull (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction; - public static final fun getInstructionOrNull (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)Ljava/lang/Object; + public static final fun getInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; public static final fun getInstructions (Lcom/android/tools/smali/dexlib2/iface/Method;)Ljava/lang/Iterable; - public static final fun getInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; + public static final fun getInstructionsOrNull (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; public static final fun getInstructionsOrNull (Lcom/android/tools/smali/dexlib2/iface/Method;)Ljava/lang/Iterable; - public static final fun getInstructionsOrNull (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; - public static final fun newLabel (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/Label; - public static final fun removeInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)V + public static final fun newLabel (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/Label; + public static final fun removeInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)V + public static final fun removeInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)V + public static final fun removeInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;II)V public static final fun removeInstructions (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;I)V public static final fun removeInstructions (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;II)V - public static final fun removeInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)V - public static final fun removeInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;II)V - public static final fun replaceInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V - public static final fun replaceInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V + public static final fun replaceInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V + public static final fun replaceInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V + public static final fun replaceInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V + public static final fun replaceInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/util/List;)V public static final fun replaceInstructions (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;ILjava/util/List;)V - public static final fun replaceInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V - public static final fun replaceInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/util/List;)V } public final class app/revanced/patcher/patch/BytecodePatchBuilder : app/revanced/patcher/patch/PatchBuilder { + public fun apply (Lkotlin/jvm/functions/Function1;)V public final fun extendWith (Ljava/lang/String;)V + public fun getContext (Lapp/revanced/patcher/patch/BytecodePatchContext;Lapp/revanced/patcher/patch/ResourcePatchContext;)Lapp/revanced/patcher/patch/BytecodePatchContext; + public synthetic fun getContext (Lapp/revanced/patcher/patch/BytecodePatchContext;Lapp/revanced/patcher/patch/ResourcePatchContext;)Lapp/revanced/patcher/patch/PatchContext; + public final fun getGetExtensionInputStream ()Lkotlin/jvm/functions/Function0; + public final fun setGetExtensionInputStream (Lkotlin/jvm/functions/Function0;)V } public final class app/revanced/patcher/patch/BytecodePatchContext : app/revanced/patcher/patch/PatchContext { @@ -560,7 +839,7 @@ public final class app/revanced/patcher/patch/BytecodePatchContext$ClassDefs : j public fun containsAll (Ljava/util/Collection;)Z public final fun get (Ljava/lang/String;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; public final fun getMethodsByString ()Ljava/util/Map; - public final fun getOrReplaceMutable (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; + public final fun getOrReplaceMutable (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; public fun getSize ()I public fun isEmpty ()Z public fun iterator ()Ljava/util/Iterator; @@ -705,13 +984,14 @@ public class app/revanced/patcher/patch/Patch { } public abstract class app/revanced/patcher/patch/PatchBuilder { - public synthetic fun (Lapp/revanced/patcher/patch/PatchType;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Lapp/revanced/patcher/patch/PatchType;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun afterDependents (Lkotlin/jvm/functions/Function1;)V - public final fun apply (Lkotlin/jvm/functions/Function1;)V + public fun apply (Lkotlin/jvm/functions/Function1;)V public final fun build (Ljava/lang/String;Ljava/lang/String;Z)Lapp/revanced/patcher/patch/Patch; public final fun compatibleWith ([Ljava/lang/String;)V public final fun compatibleWith ([Lkotlin/Pair;)V public final fun dependsOn ([Lapp/revanced/patcher/patch/Patch;)V + public abstract fun getContext (Lapp/revanced/patcher/patch/BytecodePatchContext;Lapp/revanced/patcher/patch/ResourcePatchContext;)Lapp/revanced/patcher/patch/PatchContext; public final fun invoke (Lapp/revanced/patcher/patch/Option;)Lapp/revanced/patcher/patch/Option; public final fun invoke (Ljava/lang/String;[Ljava/lang/String;)Lkotlin/Pair; } @@ -755,6 +1035,7 @@ public final class app/revanced/patcher/patch/PatchType : java/lang/Enum { } public final class app/revanced/patcher/patch/Patch_androidKt { + public static final fun getCurrentClassLoader ()Ljava/lang/ClassLoader; public static final fun isPatch (Ljava/lang/Class;)Z public static final fun loadPatches ([Ljava/io/File;Lkotlin/jvm/functions/Function2;)Lapp/revanced/patcher/patch/Patches; public static synthetic fun loadPatches$default ([Ljava/io/File;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/patcher/patch/Patches; @@ -784,6 +1065,8 @@ public final class app/revanced/patcher/patch/RawResourcePatchBuilder : app/reva } public class app/revanced/patcher/patch/ResourcePatchBuilder : app/revanced/patcher/patch/PatchBuilder { + public synthetic fun getContext (Lapp/revanced/patcher/patch/BytecodePatchContext;Lapp/revanced/patcher/patch/ResourcePatchContext;)Lapp/revanced/patcher/patch/PatchContext; + public fun getContext (Lapp/revanced/patcher/patch/BytecodePatchContext;Lapp/revanced/patcher/patch/ResourcePatchContext;)Lapp/revanced/patcher/patch/ResourcePatchContext; } public final class app/revanced/patcher/patch/ResourcePatchContext : app/revanced/patcher/patch/PatchContext { @@ -869,344 +1152,11 @@ public final class app/revanced/patcher/util/Document : java/io/Closeable, org/w } public final class app/revanced/patcher/util/MethodNavigator { - public final fun getValue (Lapp/revanced/patcher/patch/BytecodePatchContext;Lkotlin/reflect/KProperty;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; + public final fun getValue (Lapp/revanced/patcher/patch/BytecodePatchContext;Lkotlin/reflect/KProperty;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; public final fun original (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun stop (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; + public final fun stop (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; public final fun to (Lapp/revanced/patcher/patch/BytecodePatchContext;ILkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/util/MethodNavigator; public final fun to (Lapp/revanced/patcher/patch/BytecodePatchContext;[I)Lapp/revanced/patcher/util/MethodNavigator; public static synthetic fun to$default (Lapp/revanced/patcher/util/MethodNavigator;Lapp/revanced/patcher/patch/BytecodePatchContext;ILkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/util/MethodNavigator; } -public final class collections/MutableMap_androidKt { - public static final fun kmpMerge (Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseAnnotationEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/AnnotationEncodedValue;)V - public fun getElements ()Ljava/util/Set; - public fun getType ()Ljava/lang/String; - public final fun setType (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/AnnotationEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseArrayEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/ArrayEncodedValue;)V - public fun getValue ()Ljava/util/List; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ArrayEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseBooleanEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/BooleanEncodedValue;)V - public fun getValue ()Z - public final fun setValue (Z)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/BooleanEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseByteEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)V - public fun getValue ()B - public final fun setValue (B)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseCharEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/CharEncodedValue;)V - public fun getValue ()C - public final fun setValue (C)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/CharEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseDoubleEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/DoubleEncodedValue;)V - public fun getValue ()D - public final fun setValue (D)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/DoubleEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue; -} - -public abstract interface class com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue : com/android/tools/smali/dexlib2/iface/value/EncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue$Companion; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseEnumEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/EnumEncodedValue;)V - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference; - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/EnumEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseFieldEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/FieldEncodedValue;)V - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference; - public fun getValueType ()I - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/FieldEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseFloatEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/FloatEncodedValue;)V - public fun getValue ()F - public final fun setValue (F)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/FloatEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseIntEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/IntEncodedValue;)V - public fun getValue ()I - public final fun setValue (I)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/IntEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseLongEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/LongEncodedValue;)V - public fun getValue ()J - public final fun setValue (J)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/LongEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodEncodedValue;)V - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference; - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodHandleEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodHandleEncodedValue;)V - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodHandleReference; - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodHandleReference;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodHandleEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodTypeEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodTypeEncodedValue;)V - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodProtoReference; - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodProtoReference;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodTypeEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseNullEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue$Companion; - public fun ()V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseShortEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/ShortEncodedValue;)V - public fun getValue ()S - public final fun setValue (S)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ShortEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseStringEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/StringEncodedValue;)V - public fun getValue ()Ljava/lang/String; - public final fun setValue (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseTypeEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/TypeEncodedValue;)V - public fun getValue ()Ljava/lang/String; - public final fun setValue (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/TypeEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableAnnotation : com/android/tools/smali/dexlib2/base/BaseAnnotation { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableAnnotation$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/Annotation;)V - public fun getElements ()Ljava/util/Set; - public fun getType ()Ljava/lang/String; - public fun getVisibility ()I -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableAnnotation$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Annotation;)Lcom/android/tools/smali/dexlib2/mutable/MutableAnnotation; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement : com/android/tools/smali/dexlib2/base/BaseAnnotationElement { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableAnnotationElement$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/AnnotationElement;)V - public fun getName ()Ljava/lang/String; - public synthetic fun getValue ()Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue; - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; - public final fun setName (Ljava/lang/String;)V - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue;)V -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/AnnotationElement;)Lcom/android/tools/smali/dexlib2/mutable/MutableAnnotationElement; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableClassDef : com/android/tools/smali/dexlib2/base/reference/BaseTypeReference, com/android/tools/smali/dexlib2/iface/ClassDef { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)V - public final fun charAt (I)C - public fun get (I)C - public fun getAccessFlags ()I - public fun getAnnotations ()Ljava/util/Set; - public synthetic fun getDirectMethods ()Ljava/lang/Iterable; - public fun getDirectMethods ()Ljava/util/Set; - public synthetic fun getFields ()Ljava/lang/Iterable; - public fun getFields ()Ljava/util/Set; - public synthetic fun getInstanceFields ()Ljava/lang/Iterable; - public fun getInstanceFields ()Ljava/util/Set; - public fun getInterfaces ()Ljava/util/List; - public fun getLength ()I - public synthetic fun getMethods ()Ljava/lang/Iterable; - public fun getMethods ()Ljava/util/Set; - public fun getSourceFile ()Ljava/lang/String; - public synthetic fun getStaticFields ()Ljava/lang/Iterable; - public fun getStaticFields ()Ljava/util/Set; - public fun getSuperclass ()Ljava/lang/String; - public fun getType ()Ljava/lang/String; - public synthetic fun getVirtualMethods ()Ljava/lang/Iterable; - public fun getVirtualMethods ()Ljava/util/Set; - public final fun length ()I - public final fun setAccessFlags (I)V - public final fun setSourceFile (Ljava/lang/String;)V - public final fun setSuperClass (Ljava/lang/String;)V - public final fun setType (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableClassDef$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableField : com/android/tools/smali/dexlib2/base/reference/BaseFieldReference, com/android/tools/smali/dexlib2/iface/Field { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableField$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/Field;)V - public fun getAccessFlags ()I - public fun getAnnotations ()Ljava/util/Set; - public fun getDefiningClass ()Ljava/lang/String; - public fun getHiddenApiRestrictions ()Ljava/util/Set; - public synthetic fun getInitialValue ()Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue; - public fun getInitialValue ()Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; - public fun getName ()Ljava/lang/String; - public fun getType ()Ljava/lang/String; - public final fun setAccessFlags (I)V - public final fun setDefiningClass (Ljava/lang/String;)V - public final fun setInitialValue (Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue;)V - public final fun setName (Ljava/lang/String;)V - public final fun setType (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableField$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Field;)Lcom/android/tools/smali/dexlib2/mutable/MutableField; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableMethod : com/android/tools/smali/dexlib2/base/reference/BaseMethodReference, com/android/tools/smali/dexlib2/iface/Method { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableMethod$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/Method;)V - public fun getAccessFlags ()I - public fun getAnnotations ()Ljava/util/Set; - public fun getDefiningClass ()Ljava/lang/String; - public fun getHiddenApiRestrictions ()Ljava/util/Set; - public fun getImplementation ()Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation; - public synthetic fun getImplementation ()Lcom/android/tools/smali/dexlib2/iface/MethodImplementation; - public fun getName ()Ljava/lang/String; - public fun getParameterTypes ()Ljava/util/List; - public fun getParameters ()Ljava/util/List; - public fun getReturnType ()Ljava/lang/String; - public final fun setAccessFlags (I)V - public final fun setDefiningClass (Ljava/lang/String;)V - public final fun setImplementation (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;)V - public final fun setName (Ljava/lang/String;)V - public final fun setReturnType (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableMethod$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Method;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableMethodParameter : com/android/tools/smali/dexlib2/base/BaseMethodParameter, com/android/tools/smali/dexlib2/iface/MethodParameter { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableMethodParameter$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/MethodParameter;)V - public final fun charAt (I)C - public fun get (I)C - public fun getAnnotations ()Ljava/util/Set; - public fun getLength ()I - public fun getName ()Ljava/lang/String; - public fun getSignature ()Ljava/lang/String; - public fun getType ()Ljava/lang/String; - public final fun length ()I -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableMethodParameter$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/MethodParameter;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethodParameter; -} - diff --git a/patcher/api/jvm/patcher.api b/patcher/api/jvm/patcher.api index e521cae..9b40474 100644 --- a/patcher/api/jvm/patcher.api +++ b/patcher/api/jvm/patcher.api @@ -1,59 +1,336 @@ -public final class app/revanced/patcher/Fingerprint { - public final fun getClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getOriginalClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getOriginalClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getOriginalMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun getOriginalMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun getPatternMatch (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/patcher/FingerprintMatch$PatternMatch; - public final fun getPatternMatchOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/patcher/FingerprintMatch$PatternMatch; - public final fun getStringMatches (Lapp/revanced/patcher/patch/BytecodePatchContext;)Ljava/util/List; - public final fun getStringMatchesOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Ljava/util/List; - public final fun match (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/patcher/FingerprintMatch; - public final fun match (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/patcher/FingerprintMatch; - public final fun match (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/patcher/FingerprintMatch; - public final fun matchOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/patcher/FingerprintMatch; - public final fun matchOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/patcher/FingerprintMatch; - public final fun matchOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/patcher/FingerprintMatch; +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseAnnotationEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/AnnotationEncodedValue;)V + public fun getElements ()Ljava/util/Set; + public fun getType ()Ljava/lang/String; + public final fun setType (Ljava/lang/String;)V } -public final class app/revanced/patcher/FingerprintBuilder { +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/AnnotationEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseArrayEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/ArrayEncodedValue;)V + public fun getValue ()Ljava/util/List; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ArrayEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseBooleanEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/BooleanEncodedValue;)V + public fun getValue ()Z + public final fun setValue (Z)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/BooleanEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseByteEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)V + public fun getValue ()B + public final fun setValue (B)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseCharEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/CharEncodedValue;)V + public fun getValue ()C + public final fun setValue (C)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/CharEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseDoubleEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/DoubleEncodedValue;)V + public fun getValue ()D + public final fun setValue (D)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/DoubleEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue; +} + +public abstract interface class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue : com/android/tools/smali/dexlib2/iface/value/EncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue$Companion; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseEnumEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/EnumEncodedValue;)V + public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference; + public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/EnumEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseFieldEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/FieldEncodedValue;)V + public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference; + public fun getValueType ()I + public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/FieldEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseFloatEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/FloatEncodedValue;)V + public fun getValue ()F + public final fun setValue (F)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/FloatEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseIntEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/IntEncodedValue;)V + public fun getValue ()I + public final fun setValue (I)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/IntEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseLongEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/LongEncodedValue;)V + public fun getValue ()J + public final fun setValue (J)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/LongEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodEncodedValue;)V + public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference; + public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodHandleEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodHandleEncodedValue;)V + public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodHandleReference; + public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodHandleReference;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodHandleEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodTypeEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodTypeEncodedValue;)V + public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodProtoReference; + public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodProtoReference;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodTypeEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseNullEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue$Companion; public fun ()V - public final fun accessFlags (I)V - public final fun accessFlags ([Lcom/android/tools/smali/dexlib2/AccessFlags;)V - public final fun custom (Lkotlin/jvm/functions/Function2;)V - public final fun opcodes (Ljava/lang/String;)V - public final fun opcodes ([Lcom/android/tools/smali/dexlib2/Opcode;)V - public final fun parameters ([Ljava/lang/String;)V - public final fun returns (Ljava/lang/String;)V - public final fun strings ([Ljava/lang/String;)V } -public final class app/revanced/patcher/FingerprintKt { - public static final fun fingerprint (ILkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/Fingerprint; - public static synthetic fun fingerprint$default (ILkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/Fingerprint; +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; } -public final class app/revanced/patcher/FingerprintMatch { - public final fun getClassDef ()Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getContext ()Lapp/revanced/patcher/patch/BytecodePatchContext; - public final fun getMethod ()Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getOriginalClassDef ()Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getOriginalMethod ()Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun getPatternMatch ()Lapp/revanced/patcher/FingerprintMatch$PatternMatch; - public final fun getStringMatches ()Ljava/util/List; +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseShortEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/ShortEncodedValue;)V + public fun getValue ()S + public final fun setValue (S)V } -public final class app/revanced/patcher/FingerprintMatch$PatternMatch { - public final fun getEndIndex ()I - public final fun getStartIndex ()I +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ShortEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue; } -public final class app/revanced/patcher/FingerprintMatch$StringMatch { - public final fun getIndex ()I - public final fun getString ()Ljava/lang/String; +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseStringEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/StringEncodedValue;)V + public fun getValue ()Ljava/lang/String; + public final fun setValue (Ljava/lang/String;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseTypeEncodedValue, app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/value/TypeEncodedValue;)V + public fun getValue ()Ljava/lang/String; + public final fun setValue (Ljava/lang/String;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/TypeEncodedValue;)Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotation : com/android/tools/smali/dexlib2/base/BaseAnnotation { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotation$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/Annotation;)V + public fun getElements ()Ljava/util/Set; + public fun getType ()Ljava/lang/String; + public fun getVisibility ()I +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotation$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Annotation;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotation; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement : com/android/tools/smali/dexlib2/base/BaseAnnotationElement { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/AnnotationElement;)V + public fun getName ()Ljava/lang/String; + public fun getValue ()Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; + public synthetic fun getValue ()Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue; + public final fun setName (Ljava/lang/String;)V + public final fun setValue (Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/AnnotationElement;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef : com/android/tools/smali/dexlib2/base/reference/BaseTypeReference, com/android/tools/smali/dexlib2/iface/ClassDef { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)V + public final fun charAt (I)C + public fun get (I)C + public fun getAccessFlags ()I + public fun getAnnotations ()Ljava/util/Set; + public synthetic fun getDirectMethods ()Ljava/lang/Iterable; + public fun getDirectMethods ()Ljava/util/Set; + public synthetic fun getFields ()Ljava/lang/Iterable; + public fun getFields ()Ljava/util/Set; + public synthetic fun getInstanceFields ()Ljava/lang/Iterable; + public fun getInstanceFields ()Ljava/util/Set; + public fun getInterfaces ()Ljava/util/List; + public fun getLength ()I + public synthetic fun getMethods ()Ljava/lang/Iterable; + public fun getMethods ()Ljava/util/Set; + public fun getSourceFile ()Ljava/lang/String; + public synthetic fun getStaticFields ()Ljava/lang/Iterable; + public fun getStaticFields ()Ljava/util/Set; + public fun getSuperclass ()Ljava/lang/String; + public fun getType ()Ljava/lang/String; + public synthetic fun getVirtualMethods ()Ljava/lang/Iterable; + public fun getVirtualMethods ()Ljava/util/Set; + public final fun length ()I + public final fun setAccessFlags (I)V + public final fun setSourceFile (Ljava/lang/String;)V + public final fun setSuperClass (Ljava/lang/String;)V + public final fun setType (Ljava/lang/String;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableField : com/android/tools/smali/dexlib2/base/reference/BaseFieldReference, com/android/tools/smali/dexlib2/iface/Field { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableField$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/Field;)V + public fun getAccessFlags ()I + public fun getAnnotations ()Ljava/util/Set; + public fun getDefiningClass ()Ljava/lang/String; + public fun getHiddenApiRestrictions ()Ljava/util/Set; + public fun getInitialValue ()Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; + public synthetic fun getInitialValue ()Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue; + public fun getName ()Ljava/lang/String; + public fun getType ()Ljava/lang/String; + public final fun setAccessFlags (I)V + public final fun setDefiningClass (Ljava/lang/String;)V + public final fun setInitialValue (Lapp/revanced/com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue;)V + public final fun setName (Ljava/lang/String;)V + public final fun setType (Ljava/lang/String;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableField$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Field;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableField; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod : com/android/tools/smali/dexlib2/base/reference/BaseMethodReference, com/android/tools/smali/dexlib2/iface/Method { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/Method;)V + public fun getAccessFlags ()I + public fun getAnnotations ()Ljava/util/Set; + public fun getDefiningClass ()Ljava/lang/String; + public fun getHiddenApiRestrictions ()Ljava/util/Set; + public fun getImplementation ()Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation; + public synthetic fun getImplementation ()Lcom/android/tools/smali/dexlib2/iface/MethodImplementation; + public fun getName ()Ljava/lang/String; + public fun getParameterTypes ()Ljava/util/List; + public fun getParameters ()Ljava/util/List; + public fun getReturnType ()Ljava/lang/String; + public final fun setAccessFlags (I)V + public final fun setDefiningClass (Ljava/lang/String;)V + public final fun setImplementation (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;)V + public final fun setName (Ljava/lang/String;)V + public final fun setReturnType (Ljava/lang/String;)V +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethodParameter : com/android/tools/smali/dexlib2/base/BaseMethodParameter, com/android/tools/smali/dexlib2/iface/MethodParameter { + public static final field Companion Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethodParameter$Companion; + public fun (Lcom/android/tools/smali/dexlib2/iface/MethodParameter;)V + public final fun charAt (I)C + public fun get (I)C + public fun getAnnotations ()Ljava/util/Set; + public fun getLength ()I + public fun getName ()Ljava/lang/String; + public fun getSignature ()Ljava/lang/String; + public fun getType ()Ljava/lang/String; + public final fun length ()I +} + +public final class app/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethodParameter$Companion { + public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/MethodParameter;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethodParameter; +} + +public final class app/revanced/patcher/ClassDefComposing { + public static final field INSTANCE Lapp/revanced/patcher/ClassDefComposing; + public final fun composingFirstMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun composingFirstMethod$default (Lapp/revanced/patcher/ClassDefComposing;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; } public final class app/revanced/patcher/IndexedMatcher : app/revanced/patcher/Matcher { @@ -72,32 +349,28 @@ public final class app/revanced/patcher/IndexedMatcher : app/revanced/patcher/Ma public fun removeAt (I)Lkotlin/jvm/functions/Function4; } -public final class app/revanced/patcher/Match { - public fun (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;Ljava/util/List;)V - public final fun getClassDef ()Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getClassDefOrNull ()Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getContext ()Lapp/revanced/patcher/patch/BytecodePatchContext; - public final fun getImmutableClassDef ()Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getImmutableClassDefOrNull ()Lcom/android/tools/smali/dexlib2/iface/ClassDef; +public final class app/revanced/patcher/IterableClassDefComposing { + public static final field INSTANCE Lapp/revanced/patcher/IterableClassDefComposing; + public final fun composingFirstMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun composingFirstMethod$default (Lapp/revanced/patcher/IterableClassDefComposing;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; +} + +public class app/revanced/patcher/Match { + public fun ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;)V + public final fun component1 (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public final fun component2 (Lapp/revanced/patcher/patch/BytecodePatchContext;)Ljava/util/List; + public final fun component3 (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public final fun get (I)I + public final fun get (II)I + public final fun getClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public final fun getClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public final fun getImmutableClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public final fun getImmutableClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; public final fun getImmutableMethod ()Lcom/android/tools/smali/dexlib2/iface/Method; public final fun getImmutableMethodOrNull ()Lcom/android/tools/smali/dexlib2/iface/Method; public final fun getIndices ()Ljava/util/List; - public final fun getMethod ()Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getMethodOrNull ()Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; -} - -public final class app/revanced/patcher/MatchBuilder { - public final fun getCachedMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public final fun getImmutableClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getImmutableClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public final fun getImmutableMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun getImmutableMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun getIndices ()Ljava/util/List; - public final fun getMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun getMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public final fun match (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/patcher/Match; + public final fun getMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public final fun getMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; } public abstract class app/revanced/patcher/Matcher : java/util/List, kotlin/jvm/internal/markers/KMutableList { @@ -177,8 +450,11 @@ public final class app/revanced/patcher/MatchingKt { public static final fun anyVirtualMethod (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lkotlin/jvm/functions/Function1;)Z public static final fun at (ILkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; public static final fun at (ILkotlin/jvm/functions/Function4;)Lkotlin/jvm/functions/Function4; + public static final fun composingFirstMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun composingFirstMethod$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun composingMethod (Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun composingMethod$default (Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun custom (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V - public static final fun declarativePredicate (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public static final fun definingClass (Lapp/revanced/patcher/MutablePredicateList;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)V public static final fun definingClass (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V public static synthetic fun definingClass$default (Lapp/revanced/patcher/MutablePredicateList;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V @@ -186,162 +462,178 @@ public final class app/revanced/patcher/MatchingKt { public static final fun field (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; public static synthetic fun field$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; public static synthetic fun field$default (Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; - public static final fun firstClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefDeclarativelyInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefDeclarativelyInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefDeclarativelyOrNullInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefDeclarativelyOrNullInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun firstClassDefOrNullInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static synthetic fun firstClassDefOrNullInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefDeclarativelyInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefDeclarativelyInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefDeclarativelyOrNullInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefDeclarativelyOrNullInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static final fun firstClassDefOrNullInClassDefs (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; + public static synthetic fun firstClassDefOrNullInClassDefs$default (Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; public static final fun firstMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethod$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodComposite ([Ljava/lang/String;Lkotlin/jvm/functions/Function5;)Lapp/revanced/patcher/MatchBuilder; + public static final fun firstMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethod$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodComposite (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lapp/revanced/patcher/Match; + public static final fun firstMethodComposite (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lapp/revanced/patcher/Match; + public static final fun firstMethodComposite (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lapp/revanced/patcher/Match; + public static synthetic fun firstMethodComposite$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lapp/revanced/patcher/Match; + public static synthetic fun firstMethodComposite$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lapp/revanced/patcher/Match; + public static synthetic fun firstMethodComposite$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lapp/revanced/patcher/Match; public static final fun firstMethodDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; public static synthetic fun firstMethodDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodDeclarativelyInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodDeclarativelyInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodDeclarativelyInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodDeclarativelyInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodDeclarativelyInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodDeclarativelyInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; public static synthetic fun firstMethodDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodDeclarativelyOrNullInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodDeclarativelyOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodDeclarativelyOrNullInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyOrNullInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodDeclarativelyOrNullInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodDeclarativelyOrNullInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyOrNullInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodDeclarativelyOrNullInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodDeclarativelyOrNullInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodInClassDefs (Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodInClassDefs$default (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodInClassDefs$default (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodInMethods (Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodOrNullInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodOrNullInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodOrNullInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodOrNullInClassDef (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodOrNullInClassDef$default (Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodOrNullInClassDefs (Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodOrNullInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodOrNullInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodOrNullInClassDefs$default (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodOrNullInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodOrNullInClassDefs (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMethodOrNullInClassDefs (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodOrNullInClassDefs$default (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodOrNullInClassDefs$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; public static final fun firstMethodOrNullInMethods (Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMethodOrNullInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static synthetic fun firstMethodOrNullInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; - public static final fun firstMutableClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefDeclarativelyInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefDeclarativelyInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefDeclarativelyOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefDeclarativelyOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableClassDefOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static synthetic fun firstMutableClassDefOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun firstMutableMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethod$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodDeclarativelyOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodOrNullInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun firstMutableMethodOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static synthetic fun firstMutableMethodOrNullInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; - public static final fun getClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; - public static final fun getClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMethodOrNullInMethods (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static synthetic fun firstMethodOrNullInMethods$default (Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/android/tools/smali/dexlib2/iface/Method; + public static final fun firstMutableClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefDeclarativelyInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefDeclarativelyInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefDeclarativelyOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefDeclarativelyOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableClassDefOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static synthetic fun firstMutableClassDefOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun firstMutableMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethod (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethod$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclaratively (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclaratively$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyOrNullInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodDeclarativelyOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodDeclarativelyOrNullInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodOrNull$default (Lapp/revanced/patcher/patch/BytecodePatchContext;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodOrNullInClassDef$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/ClassDef;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInClassDefs (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodOrNullInClassDefs$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun firstMutableMethodOrNullInMethods (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static synthetic fun firstMutableMethodOrNullInMethods$default (Lapp/revanced/patcher/patch/BytecodePatchContext;Ljava/lang/Iterable;[Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; + public static final fun getClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; + public static final fun getClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; public static final fun getImmutableClassDef (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; public static final fun getImmutableClassDefOrNull (Lapp/revanced/patcher/patch/BytecodePatchContext;Lcom/android/tools/smali/dexlib2/iface/Method;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; - public static final fun gettingFirstClassDef (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstClassDef$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstClassDefDeclaratively (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstClassDefDeclaratively$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstClassDefDeclarativelyOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstClassDefDeclarativelyOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstClassDefOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstClassDefOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstClassDef (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstClassDef$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstClassDefDeclaratively (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstClassDefDeclaratively$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstClassDefDeclarativelyOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstClassDefDeclarativelyOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstClassDefOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstClassDefOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMethod (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMethod$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMethod$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMethodDeclaratively ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; public static synthetic fun gettingFirstMethodDeclaratively$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMethodDeclarativelyOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; public static synthetic fun gettingFirstMethodDeclarativelyOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMethodOrNull (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMethodOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMethodOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableClassDef (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableClassDef$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableClassDefDeclaratively (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableClassDefDeclaratively$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableClassDefDeclarativelyOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableClassDefDeclarativelyOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableClassDefOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableClassDefOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMethodOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMethodOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableClassDef (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableClassDef$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableClassDefDeclaratively (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableClassDefDeclaratively$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableClassDefDeclarativelyOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableClassDefDeclarativelyOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableClassDefOrNull (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableClassDefOrNull$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMutableMethod (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableMethod$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableMethod ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableMethod$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMutableMethodDeclaratively ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; public static synthetic fun gettingFirstMutableMethodDeclaratively$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMutableMethodDeclarativelyOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; public static synthetic fun gettingFirstMutableMethodDeclarativelyOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun gettingFirstMutableMethodOrNull (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)Lkotlin/properties/ReadOnlyProperty; - public static final fun gettingFirstMutableMethodOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Lkotlin/properties/ReadOnlyProperty; - public static synthetic fun gettingFirstMutableMethodOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; + public static final fun gettingFirstMutableMethodOrNull ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/properties/ReadOnlyProperty; + public static synthetic fun gettingFirstMutableMethodOrNull$default ([Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/properties/ReadOnlyProperty; public static final fun implementation (Lcom/android/tools/smali/dexlib2/iface/Method;Lkotlin/jvm/functions/Function1;)Z public static final fun indexedMatcher (Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/IndexedMatcher; public static final fun indexedMatcher ([Lkotlin/jvm/functions/Function4;)Lapp/revanced/patcher/IndexedMatcher; public static final fun instruction (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; public static synthetic fun instruction$default (Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; - public static final fun instructions (Lapp/revanced/patcher/IndexedMatcher;Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V - public static final fun instructions (Lapp/revanced/patcher/IndexedMatcher;Lapp/revanced/patcher/MutablePredicateList;[Lkotlin/jvm/functions/Function4;)V public static final fun instructions (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V public static final fun instructions (Lapp/revanced/patcher/MutablePredicateList;[Lkotlin/jvm/functions/Function1;)V public static final fun instructions (Lapp/revanced/patcher/MutablePredicateList;[Lkotlin/jvm/functions/Function4;)V + public static final fun instructions (Ljava/util/List;Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V + public static final fun instructions (Ljava/util/List;Lapp/revanced/patcher/MutablePredicateList;[Lkotlin/jvm/functions/Function4;)V public static final fun invoke (JLkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; public static final fun invoke (Lcom/android/tools/smali/dexlib2/Opcode;)Lkotlin/jvm/functions/Function4; public static final fun invoke (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; @@ -353,8 +645,6 @@ public final class app/revanced/patcher/MatchingKt { public static final fun literal (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; public static synthetic fun literal$default (JLkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; public static synthetic fun literal$default (Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; - public static final fun matchIndexed (Lapp/revanced/patcher/PredicateContext;Ljava/lang/Iterable;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z - public static final fun matchIndexed (Lapp/revanced/patcher/PredicateContext;Ljava/lang/Iterable;Ljava/lang/Object;[Lkotlin/jvm/functions/Function4;)Z public static final fun matchIndexed (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Z public static final fun method (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; public static final fun method (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; @@ -365,8 +655,8 @@ public final class app/revanced/patcher/MatchingKt { public static synthetic fun name$default (Lapp/revanced/patcher/MutablePredicateList;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V public static final fun noneOf (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V public static final fun noneOf ([Lkotlin/jvm/functions/Function4;)Lkotlin/jvm/functions/Function4; - public static final fun opcodes (Lapp/revanced/patcher/IndexedMatcher;Lapp/revanced/patcher/MutablePredicateList;[Lcom/android/tools/smali/dexlib2/Opcode;)V public static final fun opcodes (Lapp/revanced/patcher/MutablePredicateList;[Lcom/android/tools/smali/dexlib2/Opcode;)V + public static final fun opcodes (Ljava/util/List;Lapp/revanced/patcher/MutablePredicateList;[Lcom/android/tools/smali/dexlib2/Opcode;)V public static final fun parameterTypes (Lapp/revanced/patcher/MutablePredicateList;[Ljava/lang/String;)V public static final fun predicate (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V public static final fun reference (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; @@ -375,7 +665,6 @@ public final class app/revanced/patcher/MatchingKt { public static final fun registers ([ILkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; public static synthetic fun registers$default (Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; public static synthetic fun registers$default ([ILkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; - public static final fun rememberDeclarativePredicate (Lapp/revanced/patcher/PredicateContext;Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public static final fun returnType (Lapp/revanced/patcher/MutablePredicateList;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)V public static final fun returnType (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V public static synthetic fun returnType$default (Lapp/revanced/patcher/MutablePredicateList;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V @@ -385,8 +674,8 @@ public final class app/revanced/patcher/MatchingKt { public static synthetic fun string$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; public static synthetic fun string$default (Ljava/util/List;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; public static synthetic fun string$default (Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; - public static final fun strings (Lapp/revanced/patcher/IndexedMatcher;Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V - public static final fun strings (Lapp/revanced/patcher/MutablePredicateList;Lkotlin/jvm/functions/Function1;)V + public static final fun strings (Lapp/revanced/patcher/MutablePredicateList;[Ljava/lang/String;)V + public static final fun strings (Ljava/util/List;Lapp/revanced/patcher/MutablePredicateList;[Ljava/lang/String;)V public static final fun type (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function4; public static final fun type (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function4; public static synthetic fun type$default (Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function4; @@ -455,25 +744,6 @@ public final class app/revanced/patcher/PatchingKt { public static synthetic fun patcher$default (Ljava/io/File;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1; } -public final class app/revanced/patcher/PredicateContext : java/util/Map, kotlin/jvm/internal/markers/KMutableMap { - public fun clear ()V - public fun containsKey (Ljava/lang/Object;)Z - public fun containsValue (Ljava/lang/Object;)Z - public final fun entrySet ()Ljava/util/Set; - public fun get (Ljava/lang/Object;)Ljava/lang/Object; - public fun getEntries ()Ljava/util/Set; - public fun getKeys ()Ljava/util/Set; - public fun getSize ()I - public fun getValues ()Ljava/util/Collection; - public fun isEmpty ()Z - public final fun keySet ()Ljava/util/Set; - public fun put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; - public fun putAll (Ljava/util/Map;)V - public fun remove (Ljava/lang/Object;)Ljava/lang/Object; - public final fun size ()I - public final fun values ()Ljava/util/Collection; -} - public final class app/revanced/patcher/extensions/ExternalLabel { public fun (Ljava/lang/String;Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;)V public final fun copy (Ljava/lang/String;Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;)Lapp/revanced/patcher/extensions/ExternalLabel; @@ -492,54 +762,59 @@ public final class app/revanced/patcher/extensions/InstructionKt { public static final fun getType (Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;)Ljava/lang/String; public static final fun getTypeReference (Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;)Lcom/android/tools/smali/dexlib2/iface/reference/TypeReference; public static final fun getWideLiteral (Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;)Ljava/lang/Long; - public static final fun toInstructions (Ljava/lang/String;Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; - public static synthetic fun toInstructions$default (Ljava/lang/String;Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/Object;)Ljava/util/List; + public static final fun toInstructions (Ljava/lang/String;Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; + public static synthetic fun toInstructions$default (Ljava/lang/String;Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/Object;)Ljava/util/List; } public final class app/revanced/patcher/extensions/MethodKt { public static final fun accessFlags (Lcom/android/tools/smali/dexlib2/iface/Method;[Lcom/android/tools/smali/dexlib2/AccessFlags;)Z - public static final fun addInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V - public static final fun addInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V - public static final fun addInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V - public static final fun addInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/lang/String;)V + public static final fun addInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V + public static final fun addInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V + public static final fun addInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V + public static final fun addInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/lang/String;)V + public static final fun addInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V + public static final fun addInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/util/List;)V + public static final fun addInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/lang/String;)V + public static final fun addInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/util/List;)V public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;ILjava/util/List;)V public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;Ljava/util/List;)V - public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V - public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/util/List;)V - public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/lang/String;)V - public static final fun addInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;Ljava/util/List;)V - public static final fun addInstructionsWithLabels (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;[Lapp/revanced/patcher/extensions/ExternalLabel;)V + public static final fun addInstructionsWithLabels (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;[Lapp/revanced/patcher/extensions/ExternalLabel;)V + public static final fun getInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction; + public static final fun getInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)Ljava/lang/Object; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;I)Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;I)Ljava/lang/Object; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/iface/Method;I)Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/iface/Method;I)Ljava/lang/Object; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/iface/MethodImplementation;I)Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction; public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/iface/MethodImplementation;I)Ljava/lang/Object; - public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction; - public static final fun getInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)Ljava/lang/Object; + public static final fun getInstructionOrNull (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction; + public static final fun getInstructionOrNull (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)Ljava/lang/Object; public static final fun getInstructionOrNull (Lcom/android/tools/smali/dexlib2/iface/Method;I)Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction; public static final fun getInstructionOrNull (Lcom/android/tools/smali/dexlib2/iface/Method;I)Ljava/lang/Object; - public static final fun getInstructionOrNull (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/BuilderInstruction; - public static final fun getInstructionOrNull (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)Ljava/lang/Object; + public static final fun getInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; public static final fun getInstructions (Lcom/android/tools/smali/dexlib2/iface/Method;)Ljava/lang/Iterable; - public static final fun getInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; + public static final fun getInstructionsOrNull (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; public static final fun getInstructionsOrNull (Lcom/android/tools/smali/dexlib2/iface/Method;)Ljava/lang/Iterable; - public static final fun getInstructionsOrNull (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;)Ljava/util/List; - public static final fun newLabel (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/Label; - public static final fun removeInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)V + public static final fun newLabel (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)Lcom/android/tools/smali/dexlib2/builder/Label; + public static final fun removeInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)V + public static final fun removeInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;I)V + public static final fun removeInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;II)V public static final fun removeInstructions (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;I)V public static final fun removeInstructions (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;II)V - public static final fun removeInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;I)V - public static final fun removeInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;II)V - public static final fun replaceInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V - public static final fun replaceInstruction (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V + public static final fun replaceInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILcom/android/tools/smali/dexlib2/builder/BuilderInstruction;)V + public static final fun replaceInstruction (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V + public static final fun replaceInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V + public static final fun replaceInstructions (Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/util/List;)V public static final fun replaceInstructions (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;ILjava/util/List;)V - public static final fun replaceInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/lang/String;)V - public static final fun replaceInstructions (Lcom/android/tools/smali/dexlib2/mutable/MutableMethod;ILjava/util/List;)V } public final class app/revanced/patcher/patch/BytecodePatchBuilder : app/revanced/patcher/patch/PatchBuilder { + public fun apply (Lkotlin/jvm/functions/Function1;)V public final fun extendWith (Ljava/lang/String;)V + public fun getContext (Lapp/revanced/patcher/patch/BytecodePatchContext;Lapp/revanced/patcher/patch/ResourcePatchContext;)Lapp/revanced/patcher/patch/BytecodePatchContext; + public synthetic fun getContext (Lapp/revanced/patcher/patch/BytecodePatchContext;Lapp/revanced/patcher/patch/ResourcePatchContext;)Lapp/revanced/patcher/patch/PatchContext; + public final fun getGetExtensionInputStream ()Lkotlin/jvm/functions/Function0; + public final fun setGetExtensionInputStream (Lkotlin/jvm/functions/Function0;)V } public final class app/revanced/patcher/patch/BytecodePatchContext : app/revanced/patcher/patch/PatchContext { @@ -560,7 +835,7 @@ public final class app/revanced/patcher/patch/BytecodePatchContext$ClassDefs : j public fun containsAll (Ljava/util/Collection;)Z public final fun get (Ljava/lang/String;)Lcom/android/tools/smali/dexlib2/iface/ClassDef; public final fun getMethodsByString ()Ljava/util/Map; - public final fun getOrReplaceMutable (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; + public final fun getOrReplaceMutable (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableClassDef; public fun getSize ()I public fun isEmpty ()Z public fun iterator ()Ljava/util/Iterator; @@ -705,13 +980,14 @@ public class app/revanced/patcher/patch/Patch { } public abstract class app/revanced/patcher/patch/PatchBuilder { - public synthetic fun (Lapp/revanced/patcher/patch/PatchType;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Lapp/revanced/patcher/patch/PatchType;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun afterDependents (Lkotlin/jvm/functions/Function1;)V - public final fun apply (Lkotlin/jvm/functions/Function1;)V + public fun apply (Lkotlin/jvm/functions/Function1;)V public final fun build (Ljava/lang/String;Ljava/lang/String;Z)Lapp/revanced/patcher/patch/Patch; public final fun compatibleWith ([Ljava/lang/String;)V public final fun compatibleWith ([Lkotlin/Pair;)V public final fun dependsOn ([Lapp/revanced/patcher/patch/Patch;)V + public abstract fun getContext (Lapp/revanced/patcher/patch/BytecodePatchContext;Lapp/revanced/patcher/patch/ResourcePatchContext;)Lapp/revanced/patcher/patch/PatchContext; public final fun invoke (Lapp/revanced/patcher/patch/Option;)Lapp/revanced/patcher/patch/Option; public final fun invoke (Ljava/lang/String;[Ljava/lang/String;)Lkotlin/Pair; } @@ -755,6 +1031,7 @@ public final class app/revanced/patcher/patch/PatchType : java/lang/Enum { } public final class app/revanced/patcher/patch/Patch_jvmKt { + public static final fun getCurrentClassLoader ()Ljava/lang/ClassLoader; public static final fun isPatch (Ljava/lang/Class;)Z public static final fun loadPatches ([Ljava/io/File;Lkotlin/jvm/functions/Function2;)Lapp/revanced/patcher/patch/Patches; public static synthetic fun loadPatches$default ([Ljava/io/File;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lapp/revanced/patcher/patch/Patches; @@ -784,6 +1061,8 @@ public final class app/revanced/patcher/patch/RawResourcePatchBuilder : app/reva } public class app/revanced/patcher/patch/ResourcePatchBuilder : app/revanced/patcher/patch/PatchBuilder { + public synthetic fun getContext (Lapp/revanced/patcher/patch/BytecodePatchContext;Lapp/revanced/patcher/patch/ResourcePatchContext;)Lapp/revanced/patcher/patch/PatchContext; + public fun getContext (Lapp/revanced/patcher/patch/BytecodePatchContext;Lapp/revanced/patcher/patch/ResourcePatchContext;)Lapp/revanced/patcher/patch/ResourcePatchContext; } public final class app/revanced/patcher/patch/ResourcePatchContext : app/revanced/patcher/patch/PatchContext { @@ -869,340 +1148,11 @@ public final class app/revanced/patcher/util/Document : java/io/Closeable, org/w } public final class app/revanced/patcher/util/MethodNavigator { - public final fun getValue (Lapp/revanced/patcher/patch/BytecodePatchContext;Lkotlin/reflect/KProperty;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; + public final fun getValue (Lapp/revanced/patcher/patch/BytecodePatchContext;Lkotlin/reflect/KProperty;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; public final fun original (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/iface/Method; - public final fun stop (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; + public final fun stop (Lapp/revanced/patcher/patch/BytecodePatchContext;)Lapp/revanced/com/android/tools/smali/dexlib2/mutable/MutableMethod; public final fun to (Lapp/revanced/patcher/patch/BytecodePatchContext;ILkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/util/MethodNavigator; public final fun to (Lapp/revanced/patcher/patch/BytecodePatchContext;[I)Lapp/revanced/patcher/util/MethodNavigator; public static synthetic fun to$default (Lapp/revanced/patcher/util/MethodNavigator;Lapp/revanced/patcher/patch/BytecodePatchContext;ILkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/util/MethodNavigator; } -public final class com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseAnnotationEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/AnnotationEncodedValue;)V - public fun getElements ()Ljava/util/Set; - public fun getType ()Ljava/lang/String; - public final fun setType (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/AnnotationEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableAnnotationEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseArrayEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/ArrayEncodedValue;)V - public fun getValue ()Ljava/util/List; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ArrayEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableArrayEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseBooleanEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/BooleanEncodedValue;)V - public fun getValue ()Z - public final fun setValue (Z)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/BooleanEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableBooleanEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseByteEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)V - public fun getValue ()B - public final fun setValue (B)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseCharEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/CharEncodedValue;)V - public fun getValue ()C - public final fun setValue (C)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/CharEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableCharEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseDoubleEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/DoubleEncodedValue;)V - public fun getValue ()D - public final fun setValue (D)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/DoubleEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableDoubleEncodedValue; -} - -public abstract interface class com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue : com/android/tools/smali/dexlib2/iface/value/EncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue$Companion; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseEnumEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/EnumEncodedValue;)V - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference; - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/EnumEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableEnumEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseFieldEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/FieldEncodedValue;)V - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference; - public fun getValueType ()I - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/FieldReference;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/FieldEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableFieldEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseFloatEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/FloatEncodedValue;)V - public fun getValue ()F - public final fun setValue (F)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/FloatEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableFloatEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseIntEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/IntEncodedValue;)V - public fun getValue ()I - public final fun setValue (I)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/IntEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableIntEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseLongEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/LongEncodedValue;)V - public fun getValue ()J - public final fun setValue (J)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/LongEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableLongEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodEncodedValue;)V - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference; - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodReference;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodHandleEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodHandleEncodedValue;)V - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodHandleReference; - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodHandleReference;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodHandleEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodHandleEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseMethodTypeEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/MethodTypeEncodedValue;)V - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/reference/MethodProtoReference; - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/reference/MethodProtoReference;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/MethodTypeEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableMethodTypeEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseNullEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue$Companion; - public fun ()V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableNullEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseShortEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/ShortEncodedValue;)V - public fun getValue ()S - public final fun setValue (S)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ShortEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableShortEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseStringEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/StringEncodedValue;)V - public fun getValue ()Ljava/lang/String; - public final fun setValue (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableStringEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/ByteEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableByteEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue : com/android/tools/smali/dexlib2/base/value/BaseTypeEncodedValue, com/android/tools/smali/dexlib2/iface/value/MutableEncodedValue { - public static final field Companion Lcom/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/value/TypeEncodedValue;)V - public fun getValue ()Ljava/lang/String; - public final fun setValue (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/value/TypeEncodedValue;)Lcom/android/tools/smali/dexlib2/iface/value/MutableTypeEncodedValue; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableAnnotation : com/android/tools/smali/dexlib2/base/BaseAnnotation { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableAnnotation$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/Annotation;)V - public fun getElements ()Ljava/util/Set; - public fun getType ()Ljava/lang/String; - public fun getVisibility ()I -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableAnnotation$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Annotation;)Lcom/android/tools/smali/dexlib2/mutable/MutableAnnotation; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement : com/android/tools/smali/dexlib2/base/BaseAnnotationElement { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableAnnotationElement$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/AnnotationElement;)V - public fun getName ()Ljava/lang/String; - public synthetic fun getValue ()Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue; - public fun getValue ()Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; - public final fun setName (Ljava/lang/String;)V - public final fun setValue (Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue;)V -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableAnnotationElement$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/AnnotationElement;)Lcom/android/tools/smali/dexlib2/mutable/MutableAnnotationElement; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableClassDef : com/android/tools/smali/dexlib2/base/reference/BaseTypeReference, com/android/tools/smali/dexlib2/iface/ClassDef { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)V - public final fun charAt (I)C - public fun get (I)C - public fun getAccessFlags ()I - public fun getAnnotations ()Ljava/util/Set; - public synthetic fun getDirectMethods ()Ljava/lang/Iterable; - public fun getDirectMethods ()Ljava/util/Set; - public synthetic fun getFields ()Ljava/lang/Iterable; - public fun getFields ()Ljava/util/Set; - public synthetic fun getInstanceFields ()Ljava/lang/Iterable; - public fun getInstanceFields ()Ljava/util/Set; - public fun getInterfaces ()Ljava/util/List; - public fun getLength ()I - public synthetic fun getMethods ()Ljava/lang/Iterable; - public fun getMethods ()Ljava/util/Set; - public fun getSourceFile ()Ljava/lang/String; - public synthetic fun getStaticFields ()Ljava/lang/Iterable; - public fun getStaticFields ()Ljava/util/Set; - public fun getSuperclass ()Ljava/lang/String; - public fun getType ()Ljava/lang/String; - public synthetic fun getVirtualMethods ()Ljava/lang/Iterable; - public fun getVirtualMethods ()Ljava/util/Set; - public final fun length ()I - public final fun setAccessFlags (I)V - public final fun setSourceFile (Ljava/lang/String;)V - public final fun setSuperClass (Ljava/lang/String;)V - public final fun setType (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableClassDef$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/ClassDef;)Lcom/android/tools/smali/dexlib2/mutable/MutableClassDef; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableField : com/android/tools/smali/dexlib2/base/reference/BaseFieldReference, com/android/tools/smali/dexlib2/iface/Field { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableField$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/Field;)V - public fun getAccessFlags ()I - public fun getAnnotations ()Ljava/util/Set; - public fun getDefiningClass ()Ljava/lang/String; - public fun getHiddenApiRestrictions ()Ljava/util/Set; - public synthetic fun getInitialValue ()Lcom/android/tools/smali/dexlib2/iface/value/EncodedValue; - public fun getInitialValue ()Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue; - public fun getName ()Ljava/lang/String; - public fun getType ()Ljava/lang/String; - public final fun setAccessFlags (I)V - public final fun setDefiningClass (Ljava/lang/String;)V - public final fun setInitialValue (Lcom/android/tools/smali/dexlib2/iface/value/MutableEncodedValue;)V - public final fun setName (Ljava/lang/String;)V - public final fun setType (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableField$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Field;)Lcom/android/tools/smali/dexlib2/mutable/MutableField; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableMethod : com/android/tools/smali/dexlib2/base/reference/BaseMethodReference, com/android/tools/smali/dexlib2/iface/Method { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableMethod$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/Method;)V - public fun getAccessFlags ()I - public fun getAnnotations ()Ljava/util/Set; - public fun getDefiningClass ()Ljava/lang/String; - public fun getHiddenApiRestrictions ()Ljava/util/Set; - public fun getImplementation ()Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation; - public synthetic fun getImplementation ()Lcom/android/tools/smali/dexlib2/iface/MethodImplementation; - public fun getName ()Ljava/lang/String; - public fun getParameterTypes ()Ljava/util/List; - public fun getParameters ()Ljava/util/List; - public fun getReturnType ()Ljava/lang/String; - public final fun setAccessFlags (I)V - public final fun setDefiningClass (Ljava/lang/String;)V - public final fun setImplementation (Lcom/android/tools/smali/dexlib2/builder/MutableMethodImplementation;)V - public final fun setName (Ljava/lang/String;)V - public final fun setReturnType (Ljava/lang/String;)V -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableMethod$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/Method;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethod; -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableMethodParameter : com/android/tools/smali/dexlib2/base/BaseMethodParameter, com/android/tools/smali/dexlib2/iface/MethodParameter { - public static final field Companion Lcom/android/tools/smali/dexlib2/mutable/MutableMethodParameter$Companion; - public fun (Lcom/android/tools/smali/dexlib2/iface/MethodParameter;)V - public final fun charAt (I)C - public fun get (I)C - public fun getAnnotations ()Ljava/util/Set; - public fun getLength ()I - public fun getName ()Ljava/lang/String; - public fun getSignature ()Ljava/lang/String; - public fun getType ()Ljava/lang/String; - public final fun length ()I -} - -public final class com/android/tools/smali/dexlib2/mutable/MutableMethodParameter$Companion { - public final fun toMutable (Lcom/android/tools/smali/dexlib2/iface/MethodParameter;)Lcom/android/tools/smali/dexlib2/mutable/MutableMethodParameter; -} - diff --git a/patcher/build.gradle.kts b/patcher/build.gradle.kts index eb1f636..d958f70 100644 --- a/patcher/build.gradle.kts +++ b/patcher/build.gradle.kts @@ -56,7 +56,7 @@ kotlin { "-Xcontext-parameters", ) - jvmToolchain(11) + jvmToolchain(17) } } diff --git a/patcher/src/commonMain/kotlin/app/revanced/patcher/Fingerprint.kt b/patcher/src/commonMain/kotlin/app/revanced/patcher/Fingerprint.kt deleted file mode 100644 index 4ff54a4..0000000 --- a/patcher/src/commonMain/kotlin/app/revanced/patcher/Fingerprint.kt +++ /dev/null @@ -1,363 +0,0 @@ -@file:Suppress("unused", "MemberVisibilityCanBePrivate") - -package app.revanced.patcher - -import app.revanced.patcher.extensions.instructionsOrNull -import app.revanced.patcher.patch.BytecodePatchContext -import app.revanced.patcher.patch.PatchException -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.iface.ClassDef -import com.android.tools.smali.dexlib2.iface.Method -import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction -import com.android.tools.smali.dexlib2.iface.reference.StringReference -import com.android.tools.smali.dexlib2.util.MethodUtil - -@Deprecated("Use the matcher API instead.") -class Fingerprint internal constructor( - internal val accessFlags: Int?, - internal val returnType: String?, - internal val parameters: List?, - internal val opcodes: List?, - internal val strings: List?, - internal val custom: ((method: Method, classDef: ClassDef) -> Boolean)?, - private val fuzzyPatternScanThreshold: Int, -) { - @Suppress("ktlint:standard:backing-property-naming") - // Backing field needed for lazy initialization. - private var _matchOrNull: FingerprintMatch? = null - - context(_: BytecodePatchContext) - private val matchOrNull: FingerprintMatch? - get() = matchOrNull() - - context(context: BytecodePatchContext) - internal fun matchOrNull(): FingerprintMatch? { - if (_matchOrNull != null) return _matchOrNull - - var match = strings?.mapNotNull { - context.classDefs.methodsByString[it] - }?.minByOrNull { it.size }?.let { methodClasses -> - methodClasses.forEach { method -> - val match = matchOrNull(method, context.classDefs[method.definingClass]!!) - if (match != null) return@let match - } - - null - } - if (match != null) return match - context.classDefs.forEach { classDef -> - match = matchOrNull(classDef) - if (match != null) return match - } - - return null - } - - context(_: BytecodePatchContext) - fun matchOrNull( - classDef: ClassDef, - ): FingerprintMatch? { - if (_matchOrNull != null) return _matchOrNull - - for (method in classDef.methods) { - val match = matchOrNull(method, classDef) - if (match != null) return match - } - - return null - } - - context(context: BytecodePatchContext) - fun matchOrNull( - method: Method, - ) = matchOrNull(method, context.classDefs[method.definingClass]!!) - - context(context: BytecodePatchContext) - fun matchOrNull( - method: Method, - classDef: ClassDef, - ): FingerprintMatch? { - if (_matchOrNull != null) return _matchOrNull - - if (returnType != null && !method.returnType.startsWith(returnType)) { - return null - } - - if (accessFlags != null && accessFlags != method.accessFlags) { - return null - } - - fun parametersEqual( - parameters1: Iterable, - parameters2: Iterable, - ): Boolean { - if (parameters1.count() != parameters2.count()) return false - val iterator1 = parameters1.iterator() - parameters2.forEach { - if (!it.startsWith(iterator1.next())) return false - } - return true - } - - // TODO: parseParameters() - if (parameters != null && !parametersEqual(parameters, method.parameterTypes)) { - return null - } - - if (custom != null && !custom.invoke(method, classDef)) { - return null - } - - val stringMatches: List? = - if (strings != null) { - buildList { - val instructions = method.instructionsOrNull ?: return null - - val stringsList = strings.toMutableList() - - instructions.forEachIndexed { instructionIndex, instruction -> - if ( - instruction.opcode != Opcode.CONST_STRING && - instruction.opcode != Opcode.CONST_STRING_JUMBO - ) { - return@forEachIndexed - } - - val string = ((instruction as ReferenceInstruction).reference as StringReference).string - val index = stringsList.indexOfFirst(string::contains) - if (index == -1) return@forEachIndexed - - add(FingerprintMatch.StringMatch(string, instructionIndex)) - stringsList.removeAt(index) - } - - if (stringsList.isNotEmpty()) return null - } - } else { - null - } - - val patternMatch = if (opcodes != null) { - val instructions = method.instructionsOrNull ?: return null - - fun patternScan(): FingerprintMatch.PatternMatch? { - val fingerprintFuzzyPatternScanThreshold = fuzzyPatternScanThreshold - - val instructionLength = instructions.count() - val patternLength = opcodes.size - - for (index in 0 until instructionLength) { - var patternIndex = 0 - var threshold = fingerprintFuzzyPatternScanThreshold - - while (index + patternIndex < instructionLength) { - val originalOpcode = instructions.elementAt(index + patternIndex).opcode - val patternOpcode = opcodes.elementAt(patternIndex) - - if (patternOpcode != null && patternOpcode.ordinal != originalOpcode.ordinal) { - // Reaching maximum threshold (0) means, - // the pattern does not match to the current instructions. - if (threshold-- == 0) break - } - - if (patternIndex < patternLength - 1) { - // If the entire pattern has not been scanned yet, continue the scan. - patternIndex++ - continue - } - - // The entire pattern has been scanned. - return FingerprintMatch.PatternMatch( - index, - index + patternIndex, - ) - } - } - - return null - } - - patternScan() ?: return null - } else { - null - } - - _matchOrNull = FingerprintMatch( - context, - classDef, - method, - patternMatch, - stringMatches, - ) - - return _matchOrNull - } - - private val exception get() = PatchException("Failed to match the fingerprint: $this") - - context(_: BytecodePatchContext) - private val match - get() = matchOrNull ?: throw exception - - context(_: BytecodePatchContext) - fun match( - classDef: ClassDef, - ) = matchOrNull(classDef) ?: throw exception - - context(_: BytecodePatchContext) - fun match( - method: Method, - ) = matchOrNull(method) ?: throw exception - - context(_: BytecodePatchContext) - fun match( - method: Method, - classDef: ClassDef, - ) = matchOrNull(method, classDef) ?: throw exception - - context(_: BytecodePatchContext) - val originalClassDefOrNull - get() = matchOrNull?.originalClassDef - - context(_: BytecodePatchContext) - val originalMethodOrNull - get() = matchOrNull?.originalMethod - - context(_: BytecodePatchContext) - val classDefOrNull - get() = matchOrNull?.classDef - - context(_: BytecodePatchContext) - val methodOrNull - get() = matchOrNull?.method - - context(_: BytecodePatchContext) - val patternMatchOrNull - get() = matchOrNull?.patternMatch - - context(_: BytecodePatchContext) - val stringMatchesOrNull - get() = matchOrNull?.stringMatches - - context(_: BytecodePatchContext) - val originalClassDef - get() = match.originalClassDef - - context(_: BytecodePatchContext) - val originalMethod - get() = match.originalMethod - - context(_: BytecodePatchContext) - val classDef - get() = match.classDef - - context(_: BytecodePatchContext) - val method - get() = match.method - - context(_: BytecodePatchContext) - val patternMatch - get() = match.patternMatch - - context(_: BytecodePatchContext) - val stringMatches - get() = match.stringMatches -} - -@Deprecated("Use the matcher API instead.") -class FingerprintMatch internal constructor( - val context: BytecodePatchContext, - val originalClassDef: ClassDef, - val originalMethod: Method, - val patternMatch: PatternMatch?, - val stringMatches: List?, -) { - - val classDef by lazy { - val classDef = context.classDefs[originalClassDef.type]!! - - context.classDefs.getOrReplaceMutable(classDef) - } - - val method by lazy { classDef.methods.first { MethodUtil.methodSignaturesMatch(it, originalMethod) } } - - class PatternMatch internal constructor( - val startIndex: Int, - val endIndex: Int, - ) - - class StringMatch internal constructor(val string: String, val index: Int) -} - -@Deprecated("Use the matcher API instead.") -class FingerprintBuilder internal constructor( - private val fuzzyPatternScanThreshold: Int = 0, -) { - private var accessFlags: Int? = null - private var returnType: String? = null - private var parameters: List? = null - private var opcodes: List? = null - private var strings: List? = null - private var customBlock: ((method: Method, classDef: ClassDef) -> Boolean)? = null - - fun accessFlags(accessFlags: Int) { - this.accessFlags = accessFlags - } - - fun accessFlags(vararg accessFlags: AccessFlags) { - this.accessFlags = accessFlags.fold(0) { acc, it -> acc or it.value } - } - - fun returns(returnType: String) { - this.returnType = returnType - } - - fun parameters(vararg parameters: String) { - this.parameters = parameters.toList() - } - - fun opcodes(vararg opcodes: Opcode?) { - this.opcodes = opcodes.toList() - } - - fun opcodes(instructions: String) { - this.opcodes = instructions.trimIndent().split("\n").filter { - it.isNotBlank() - }.map { - // Remove any operands. - val name = it.split(" ", limit = 1).first().trim() - if (name == "null") return@map null - - opcodesByName[name] ?: throw Exception("Unknown opcode: $name") - } - } - - fun strings(vararg strings: String) { - this.strings = strings.toList() - } - - fun custom(customBlock: (method: Method, classDef: ClassDef) -> Boolean) { - this.customBlock = customBlock - } - - internal fun build() = Fingerprint( - accessFlags, - returnType, - parameters, - opcodes, - strings, - customBlock, - fuzzyPatternScanThreshold, - ) - - private companion object { - val opcodesByName = Opcode.entries.associateBy { it.name } - } -} - -@Deprecated("Use the matcher API instead.") -fun fingerprint( - fuzzyPatternScanThreshold: Int = 0, - block: FingerprintBuilder.() -> Unit, -) = FingerprintBuilder(fuzzyPatternScanThreshold).apply(block).build() diff --git a/patcher/src/commonMain/kotlin/app/revanced/patcher/Matching.kt b/patcher/src/commonMain/kotlin/app/revanced/patcher/Matching.kt index 276fb51..33b4bd2 100644 --- a/patcher/src/commonMain/kotlin/app/revanced/patcher/Matching.kt +++ b/patcher/src/commonMain/kotlin/app/revanced/patcher/Matching.kt @@ -57,33 +57,24 @@ fun MethodImplementation.anyDebugItem(predicate: Predicate) = debugItems.an fun Iterable.anyInstruction(predicate: Predicate) = any(predicate) -typealias ClassDefPredicate = context(PredicateContext) -ClassDef.() -> Boolean +typealias ClassDefPredicate = + ClassDef.() -> Boolean -typealias MethodPredicate = context(PredicateContext) +typealias MethodPredicate = + Method.() -> Boolean + +typealias BytecodePatchContextMethodPredicate = context(BytecodePatchContext) Method.() -> Boolean -typealias BytecodePatchContextMethodPredicate = context(BytecodePatchContext, PredicateContext) -Method.() -> Boolean - -typealias BytecodePatchContextClassDefPredicate = context(BytecodePatchContext, PredicateContext) +typealias BytecodePatchContextClassDefPredicate = context(BytecodePatchContext) ClassDef.() -> Boolean -inline fun PredicateContext.remember( - key: Any, - defaultValue: () -> V, -) = if (key in this) { - get(key) as V -} else { - defaultValue().also { put(key, it) } -} - -private fun cachedReadOnlyProperty(block: BytecodePatchContext.(KProperty<*>) -> T) = - object : ReadOnlyProperty { - private val cache = HashMap(1) +private fun cachedReadOnlyProperty(block: R.(KProperty<*>) -> T) = + object : ReadOnlyProperty { + private val cache = HashMap(1) override fun getValue( - thisRef: BytecodePatchContext, + thisRef: R, property: KProperty<*>, ) = if (thisRef in cache) { cache.getValue(thisRef) @@ -92,31 +83,12 @@ private fun cachedReadOnlyProperty(block: BytecodePatchContext.(KProperty<*> } } +@JvmName("bytecodePatchContextCachedReadOnlyProperty") +private fun cachedReadOnlyProperty(block: BytecodePatchContext.(KProperty<*>) -> T) = + cachedReadOnlyProperty(block) + class MutablePredicateList internal constructor() : MutableList> by mutableListOf() -typealias DeclarativePredicate = context(PredicateContext) -MutablePredicateList.() -> Unit - -typealias BytecodePatchContextDeclarativePredicate = context(BytecodePatchContext, PredicateContext) -MutablePredicateList.() -> Unit - -fun T.declarativePredicate(build: Function>) = - with(MutablePredicateList().apply(build)) { - all(this@declarativePredicate) - } - -context(context: PredicateContext) -fun T.rememberDeclarativePredicate( - key: Any, - block: Function>, -) = with(context.remember(key) { MutablePredicateList().apply(block) }) { - all(this@rememberDeclarativePredicate) -} - -context(_: PredicateContext) -private fun T.rememberDeclarativePredicate(predicate: DeclarativePredicate) = - rememberDeclarativePredicate("declarativePredicate") { predicate() } - @JvmName("firstMethodOrNullInMethods") fun Iterable.firstMethodOrNull(methodReference: MethodReference) = firstOrNull { MethodUtil.methodSignaturesMatch(methodReference, it) } @@ -138,20 +110,18 @@ fun Iterable.firstMethodOrNull( vararg strings: String, predicate: MethodPredicate = { true }, ) = if (strings.isEmpty()) { - withPredicateContext { firstOrNull { it.predicate() } } + firstOrNull { it.predicate() } } else { - withPredicateContext { - first { method -> - val instructions = method.instructionsOrNull ?: return@first false + first { method -> + val instructions = method.instructionsOrNull ?: return@first false - // TODO: Check potential to optimize (Set or not). - // Maybe even use context maps, but the methods may not be present in the context yet. - val methodStrings = instructions.asSequence().mapNotNull { it.string }.toSet() + // TODO: Check potential to optimize (Set or not). + // Maybe even use context maps, but the methods may not be present in the context yet. + val methodStrings = instructions.asSequence().mapNotNull { it.string }.toSet() - if (strings.any { it !in methodStrings }) return@first false + if (strings.any { it !in methodStrings }) return@first false - method.predicate() - } + method.predicate() } } @@ -178,32 +148,6 @@ fun Iterable.firstMutableMethod( predicate: MethodPredicate = { true }, ) = requireNotNull(firstMutableMethodOrNull(strings = strings, predicate)) -@JvmName("firstMethodDeclarativelyOrNullInMethods") -fun Iterable.firstMethodDeclarativelyOrNull( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = firstMethodOrNull(strings = strings) { rememberDeclarativePredicate(predicate) } - -@JvmName("firstMethodDeclarativelyInMethods") -fun Iterable.firstMethodDeclaratively( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = requireNotNull(firstMethodDeclarativelyOrNull(strings = strings, predicate)) - -@JvmName("firstMutableMethodDeclarativelyOrNullInMethods") -context(_: BytecodePatchContext) -fun Iterable.firstMutableMethodDeclarativelyOrNull( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = firstMutableMethodOrNull(strings = strings) { rememberDeclarativePredicate(predicate) } - -@JvmName("firstMutableMethodDeclarativelyInMethods") -context(_: BytecodePatchContext) -fun Iterable.firstMutableMethodDeclaratively( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = requireNotNull(firstMutableMethodDeclarativelyOrNull(strings = strings, predicate)) - @JvmName("firstMethodOrNullInClassDefs") fun Iterable.firstMethodOrNull(methodReference: MethodReference) = asSequence().flatMap { it.methods.asSequence() }.asIterable().firstMethodOrNull(methodReference) @@ -256,35 +200,6 @@ fun Iterable.firstMutableMethod( predicate: MethodPredicate = { true }, ) = requireNotNull(firstMutableMethodOrNull(strings = strings, predicate)) -@JvmName("firstMethodDeclarativelyOrNullInClassDefs") -fun Iterable.firstMethodDeclarativelyOrNull(predicate: DeclarativePredicate) = - firstMethodOrNull { rememberDeclarativePredicate(predicate) } - -@JvmName("firstMethodDeclarativelyInClassDefs") -fun Iterable.firstMethodDeclaratively(predicate: DeclarativePredicate) = - requireNotNull(firstMethodDeclarativelyOrNull(predicate)) - -@JvmName("firstMethodDeclarativelyOrNullInClassDefs") -context(context: BytecodePatchContext) -fun Iterable.firstMethodDeclarativelyOrNull( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = firstMethodOrNull(strings = strings) { rememberDeclarativePredicate(predicate) } - -@JvmName("firstMethodDeclarativelyInClassDefs") -context(context: BytecodePatchContext) -fun Iterable.firstMethodDeclaratively( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = requireNotNull(firstMethodDeclarativelyOrNull(strings = strings, predicate)) - -@JvmName("firstMutableMethodDeclarativelyOrNullInClassDefs") -context(context: BytecodePatchContext) -fun Iterable.firstMutableMethodDeclarativelyOrNull( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = firstMutableMethodOrNull(strings = strings) { rememberDeclarativePredicate(predicate) } - @JvmName("firstMethodOrNullInClassDef") fun ClassDef.firstMethodOrNull(methodReference: MethodReference) = methods.firstMethodOrNull(methodReference) @@ -325,42 +240,14 @@ fun ClassDef.firstMutableMethod( predicate: MethodPredicate = { true }, ) = requireNotNull(firstMutableMethodOrNull(strings = strings, predicate)) -@JvmName("firstMethodDeclarativelyOrNullInClassDef") -fun ClassDef.firstMethodDeclarativelyOrNull( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = methods.firstMethodDeclarativelyOrNull(strings = strings, predicate) - -@JvmName("firstMethodDeclarativelyInClassDef") -fun ClassDef.firstMethodDeclaratively( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = requireNotNull(firstMethodDeclarativelyOrNull(strings = strings, predicate)) - -@JvmName("firstMutableMethodDeclarativelyOrNullInClassDef") -context(_: BytecodePatchContext) -fun ClassDef.firstMutableMethodDeclarativelyOrNull( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = methods.firstMutableMethodDeclarativelyOrNull(strings = strings, predicate) - -@JvmName("firstMutableMethodDeclarativelyInClassDef") -context(_: BytecodePatchContext) -fun ClassDef.firstMutableMethodDeclaratively( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = requireNotNull(firstMutableMethodDeclarativelyOrNull(strings = strings, predicate)) - @JvmName("firstClassDefOrNullInClassDefs") fun Iterable.firstClassDefOrNull( type: String? = null, predicate: ClassDefPredicate = { true }, -) = withPredicateContext { - if (type == null) { - firstOrNull { it.predicate() } - } else { - firstOrNull { it.type == type && it.predicate() } - } +) = if (type == null) { + firstOrNull { it.predicate() } +} else { + firstOrNull { it.type == type && it.predicate() } } @JvmName("firstClassDefInClassDefs") @@ -377,7 +264,7 @@ fun Iterable.firstMutableClassDefOrNull( ) = if (type == null) { firstClassDefOrNull(type, predicate) } else { - context.classDefs[type].takeIf { withPredicateContext { it?.predicate() == true } } + context.classDefs[type].takeIf { it?.predicate() == true } }?.let { context.classDefs.getOrReplaceMutable(it) } @JvmName("firstMutableClassDefInClassDefs") @@ -387,32 +274,6 @@ fun Iterable.firstMutableClassDef( predicate: ClassDefPredicate = { true }, ) = requireNotNull(firstMutableClassDefOrNull(type, predicate)) -@JvmName("firstClassDefDeclarativelyOrNullInClassDefs") -fun Iterable.firstClassDefDeclarativelyOrNull( - type: String? = null, - predicate: DeclarativePredicate = { }, -) = firstClassDefOrNull(type) { rememberDeclarativePredicate(predicate) } - -@JvmName("firstClassDefDeclarativelyInClassDefs") -fun Iterable.firstClassDefDeclaratively( - type: String? = null, - predicate: DeclarativePredicate = { }, -) = requireNotNull(firstClassDefDeclarativelyOrNull(type, predicate)) - -@JvmName("firstMutableClassDefDeclarativelyOrNullInClassDefs") -context(_: BytecodePatchContext) -fun Iterable.firstMutableClassDefDeclarativelyOrNull( - type: String? = null, - predicate: DeclarativePredicate = { }, -) = firstMutableClassDefOrNull(type) { rememberDeclarativePredicate(predicate) } - -@JvmName("firstMutableClassDefDeclarativelyInClassDefs") -context(_: BytecodePatchContext) -fun Iterable.firstMutableClassDefDeclaratively( - type: String? = null, - predicate: DeclarativePredicate = { }, -) = requireNotNull(firstMutableClassDefDeclarativelyOrNull(type, predicate)) - context(_: BytecodePatchContext) fun firstMethodOrNull(methodReference: MethodReference) = firstClassDefOrNull(methodReference.definingClass)?.methods?.firstMethodOrNull(methodReference) @@ -436,21 +297,20 @@ context(context: BytecodePatchContext) fun firstMethodOrNull( vararg strings: String, predicate: MethodPredicate = { true }, -): Method? = - withPredicateContext { - if (strings.isEmpty()) return context.classDefs.firstMethodOrNull(predicate) +): Method? { + if (strings.isEmpty()) return context.classDefs.firstMethodOrNull(predicate) - // TODO: Get rid of duplicates, but this isn't needed for functionality. Perhaps worse performance-wise? - val strings = strings.toSet() + // TODO: Get rid of duplicates, but this isn't needed for functionality. Perhaps worse performance-wise? + val strings = strings.toSet() - val methodsWithStrings = strings.mapNotNull { context.classDefs.methodsByString[it] } - if (methodsWithStrings.size != strings.size) return null + val methodsWithStrings = strings.mapNotNull { context.classDefs.methodsByString[it] } + if (methodsWithStrings.size != strings.size) return null - return methodsWithStrings.minBy { it.size }.firstOrNull { method -> - val containsAllOtherStrings = methodsWithStrings.all { method in it } - containsAllOtherStrings && method.predicate() - } + return methodsWithStrings.minBy { it.size }.firstOrNull { method -> + val containsAllOtherStrings = methodsWithStrings.all { method in it } + containsAllOtherStrings && method.predicate() } +} context(_: BytecodePatchContext) fun firstMethod( @@ -500,50 +360,6 @@ fun gettingFirstMutableMethod( predicate: BytecodePatchContextMethodPredicate = { true }, ) = cachedReadOnlyProperty { firstMutableMethod(strings = strings) { predicate() } } -context(_: BytecodePatchContext) -fun firstMethodDeclarativelyOrNull( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = firstMethodOrNull(strings = strings) { rememberDeclarativePredicate(predicate) } - -context(_: BytecodePatchContext) -fun firstMethodDeclaratively( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = requireNotNull(firstMethodDeclarativelyOrNull(strings = strings, predicate)) - -context(_: BytecodePatchContext) -fun firstMutableMethodDeclarativelyOrNull( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = firstMutableMethodOrNull(strings = strings) { rememberDeclarativePredicate(predicate) } - -context(_: BytecodePatchContext) -fun firstMutableMethodDeclaratively( - vararg strings: String, - predicate: DeclarativePredicate = { }, -) = requireNotNull(firstMutableMethodDeclarativelyOrNull(strings = strings, predicate)) - -fun gettingFirstMethodDeclarativelyOrNull( - vararg strings: String, - predicate: BytecodePatchContextDeclarativePredicate = { }, -) = gettingFirstMethodOrNull(strings = strings) { rememberDeclarativePredicate { predicate() } } - -fun gettingFirstMethodDeclaratively( - vararg strings: String, - predicate: BytecodePatchContextDeclarativePredicate = { }, -) = gettingFirstMethod(strings = strings) { rememberDeclarativePredicate { predicate() } } - -fun gettingFirstMutableMethodDeclarativelyOrNull( - vararg strings: String, - predicate: BytecodePatchContextDeclarativePredicate = { }, -) = gettingFirstMutableMethodOrNull(strings = strings) { rememberDeclarativePredicate { predicate() } } - -fun gettingFirstMutableMethodDeclaratively( - vararg strings: String, - predicate: BytecodePatchContextDeclarativePredicate = { }, -) = gettingFirstMutableMethod(strings = strings) { rememberDeclarativePredicate { predicate() } } - context(context: BytecodePatchContext) fun firstClassDefOrNull( type: String? = null, @@ -551,7 +367,7 @@ fun firstClassDefOrNull( ) = if (type == null) { context.classDefs.firstClassDefOrNull(type, predicate) } else { - withPredicateContext { context.classDefs[type]?.takeIf { it.predicate() } } + context.classDefs[type]?.takeIf { it.predicate() } } context(_: BytecodePatchContext) @@ -592,53 +408,213 @@ fun gettingFirstMutableClassDef( predicate: BytecodePatchContextClassDefPredicate = { true }, ) = cachedReadOnlyProperty { firstMutableClassDef(type) { predicate() } } +private fun buildPredicate( + build: MutablePredicateList.() -> Unit = { }, + block: (predicate: Predicate) -> R, +) = block(MutablePredicateList().apply { build() }::all) + +private fun buildPredicate( + strings: Array, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, + block: (strings: Array, predicate: MethodPredicate) -> T, +) = with(mutableListOf(elements = strings)) { + buildPredicate({ build() }) { predicate -> block(toTypedArray(), predicate) } +} + +@JvmName("firstMethodDeclarativelyOrNullInMethods") +fun Iterable.firstMethodDeclarativelyOrNull( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = buildPredicate(strings, build, ::firstMethodOrNull) + +@JvmName("firstMethodDeclarativelyInMethods") +fun Iterable.firstMethodDeclaratively( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = requireNotNull(firstMethodDeclarativelyOrNull(strings = strings, build)) + +@JvmName("firstMutableMethodDeclarativelyOrNullInMethods") +context(_: BytecodePatchContext) +fun Iterable.firstMutableMethodDeclarativelyOrNull( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = buildPredicate(strings, build) { strings, predicate -> firstMutableMethodOrNull(strings = strings, predicate) } + +@JvmName("firstMutableMethodDeclarativelyInMethods") +context(_: BytecodePatchContext) +fun Iterable.firstMutableMethodDeclaratively( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = requireNotNull(firstMutableMethodDeclarativelyOrNull(strings = strings, build)) + +@JvmName("firstMethodDeclarativelyOrNullInClassDefs") +fun Iterable.firstMethodDeclarativelyOrNull(build: MutablePredicateList.() -> Unit) = + buildPredicate(build, ::firstMethodOrNull) + +@JvmName("firstMethodDeclarativelyInClassDefs") +fun Iterable.firstMethodDeclaratively(build: MutablePredicateList.() -> Unit) = + requireNotNull(firstMethodDeclarativelyOrNull(build)) + +@JvmName("firstMethodDeclarativelyOrNullInClassDefs") +fun Iterable.firstMethodDeclarativelyOrNull( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = buildPredicate(strings, build, ::firstMethodOrNull) + +@JvmName("firstMethodDeclarativelyInClassDefs") +fun Iterable.firstMethodDeclaratively( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = requireNotNull(firstMethodDeclarativelyOrNull(strings = strings, build)) + +@JvmName("firstMutableMethodDeclarativelyOrNullInClassDefs") +context(context: BytecodePatchContext) +fun Iterable.firstMutableMethodDeclarativelyOrNull( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = buildPredicate(strings, build) { strings, predicate -> firstMutableMethodOrNull(strings = strings, predicate) } + +@JvmName("firstMethodDeclarativelyOrNullInClassDef") +fun ClassDef.firstMethodDeclarativelyOrNull( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = methods.firstMethodDeclarativelyOrNull(strings = strings, build) + +@JvmName("firstMethodDeclarativelyInClassDef") +fun ClassDef.firstMethodDeclaratively( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = requireNotNull(firstMethodDeclarativelyOrNull(strings = strings, build)) + +@JvmName("firstMutableMethodDeclarativelyOrNullInClassDef") +context(_: BytecodePatchContext) +fun ClassDef.firstMutableMethodDeclarativelyOrNull( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = methods.firstMutableMethodDeclarativelyOrNull(strings = strings, build) + +@JvmName("firstMutableMethodDeclarativelyInClassDef") +context(_: BytecodePatchContext) +fun ClassDef.firstMutableMethodDeclaratively( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = requireNotNull(firstMutableMethodDeclarativelyOrNull(strings = strings, build)) + +@JvmName("firstClassDefDeclarativelyOrNullInClassDefs") +fun Iterable.firstClassDefDeclarativelyOrNull( + type: String? = null, + build: MutablePredicateList.() -> Unit = { }, +) = buildPredicate(build) { predicate -> firstClassDefOrNull(type, predicate) } + +@JvmName("firstClassDefDeclarativelyInClassDefs") +fun Iterable.firstClassDefDeclaratively( + type: String? = null, + build: MutablePredicateList.() -> Unit = { }, +) = requireNotNull(firstClassDefDeclarativelyOrNull(type, build)) + +@JvmName("firstMutableClassDefDeclarativelyOrNullInClassDefs") +context(_: BytecodePatchContext) +fun Iterable.firstMutableClassDefDeclarativelyOrNull( + type: String? = null, + build: MutablePredicateList.() -> Unit = { }, +) = buildPredicate(build) { predicate -> + firstMutableClassDefOrNull(type, predicate) +} + +@JvmName("firstMutableClassDefDeclarativelyInClassDefs") +context(_: BytecodePatchContext) +fun Iterable.firstMutableClassDefDeclaratively( + type: String? = null, + build: MutablePredicateList.() -> Unit = { }, +) = requireNotNull(firstMutableClassDefDeclarativelyOrNull(type, build)) + +context(_: BytecodePatchContext) +fun firstMethodDeclarativelyOrNull( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = buildPredicate(strings, build) { strings, predicate -> firstMethodOrNull(strings = strings, predicate) } + +context(_: BytecodePatchContext) +fun firstMethodDeclaratively( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = requireNotNull(firstMethodDeclarativelyOrNull(strings = strings, build)) + +context(_: BytecodePatchContext) +fun firstMutableMethodDeclarativelyOrNull( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = buildPredicate(strings, build) { strings, predicate -> firstMutableMethodOrNull(strings = strings, predicate) } + +context(_: BytecodePatchContext) +fun firstMutableMethodDeclaratively( + vararg strings: String, + build: context(MutableList) MutablePredicateList.() -> Unit = { }, +) = requireNotNull(firstMutableMethodDeclarativelyOrNull(strings = strings, build)) + +fun gettingFirstMethodDeclarativelyOrNull( + vararg strings: String, + build: context(BytecodePatchContext, MutableList) MutablePredicateList.() -> Unit = {}, +) = cachedReadOnlyProperty { firstMethodDeclarativelyOrNull(strings = strings) { build() } } + +fun gettingFirstMethodDeclaratively( + vararg strings: String, + build: context(BytecodePatchContext, MutableList) MutablePredicateList.() -> Unit = {}, +) = cachedReadOnlyProperty { firstMethodDeclaratively(strings = strings) { build() } } + +fun gettingFirstMutableMethodDeclarativelyOrNull( + vararg strings: String, + build: context(BytecodePatchContext, MutableList) MutablePredicateList.() -> Unit = {}, +) = cachedReadOnlyProperty { firstMutableMethodDeclarativelyOrNull(strings = strings) { build() } } + +fun gettingFirstMutableMethodDeclaratively( + vararg strings: String, + build: context(BytecodePatchContext, MutableList) MutablePredicateList.() -> Unit = {}, +) = cachedReadOnlyProperty { firstMutableMethodDeclaratively(strings = strings) { build() } } + context(_: BytecodePatchContext) fun firstClassDefDeclarativelyOrNull( type: String? = null, - predicate: DeclarativePredicate = { }, -) = firstClassDefOrNull(type) { rememberDeclarativePredicate(predicate) } + build: MutablePredicateList.() -> Unit = { }, +) = buildPredicate(build) { predicate -> firstClassDefOrNull(type, predicate) } context(_: BytecodePatchContext) fun firstClassDefDeclaratively( type: String? = null, - predicate: DeclarativePredicate = { }, -) = firstClassDef(type) { rememberDeclarativePredicate(predicate) } + build: MutablePredicateList.() -> Unit = { }, +) = buildPredicate(build) { predicate -> firstClassDef(type, predicate) } context(_: BytecodePatchContext) fun firstMutableClassDefDeclarativelyOrNull( type: String? = null, - predicate: DeclarativePredicate = { }, -) = firstMutableClassDefOrNull(type) { rememberDeclarativePredicate(predicate) } + build: MutablePredicateList.() -> Unit = { }, +) = buildPredicate(build) { predicate -> firstMutableClassDefOrNull(type, predicate) } context(_: BytecodePatchContext) fun firstMutableClassDefDeclaratively( type: String? = null, - predicate: DeclarativePredicate = { }, -) = firstMutableClassDef(type) { rememberDeclarativePredicate(predicate) } + build: MutablePredicateList.() -> Unit = { }, +) = buildPredicate(build) { predicate -> firstMutableClassDef(type, predicate) } fun gettingFirstClassDefDeclarativelyOrNull( type: String? = null, - predicate: BytecodePatchContextDeclarativePredicate = { }, -) = gettingFirstClassDefOrNull { rememberDeclarativePredicate { predicate() } } + build: context(BytecodePatchContext) MutablePredicateList.() -> Unit = { }, +) = cachedReadOnlyProperty { firstClassDefDeclarativelyOrNull(type) { build() } } fun gettingFirstClassDefDeclaratively( type: String? = null, - predicate: BytecodePatchContextDeclarativePredicate = { }, -) = gettingFirstClassDef { rememberDeclarativePredicate { predicate() } } + build: context(BytecodePatchContext) MutablePredicateList.() -> Unit = { }, +) = cachedReadOnlyProperty { firstClassDefDeclaratively(type) { build() } } fun gettingFirstMutableClassDefDeclarativelyOrNull( type: String? = null, - predicate: BytecodePatchContextDeclarativePredicate = { }, -) = gettingFirstMutableClassDefOrNull { rememberDeclarativePredicate { predicate() } } + build: context(BytecodePatchContext) MutablePredicateList.() -> Unit = { }, +) = cachedReadOnlyProperty { firstMutableClassDefDeclarativelyOrNull(type) { build() } } fun gettingFirstMutableClassDefDeclaratively( type: String? = null, - predicate: BytecodePatchContextDeclarativePredicate = { }, -) = gettingFirstMutableClassDef { rememberDeclarativePredicate { predicate() } } - -class PredicateContext internal constructor() : MutableMap by mutableMapOf() - -private inline fun withPredicateContext(block: PredicateContext.() -> T) = PredicateContext().block() + build: context(BytecodePatchContext) MutablePredicateList.() -> Unit = { }, +) = cachedReadOnlyProperty { firstMutableClassDefDeclaratively { build() } } typealias IndexedMatcherPredicate = T.(lastMatchedIndex: Int, currentIndex: Int, setNextIndex: (Int?) -> Unit) -> Boolean @@ -651,18 +627,6 @@ fun indexedMatcher(build: Function>) = IndexedMatcher() fun Iterable.matchIndexed(build: Function>) = indexedMatcher(build)(this) -context(_: PredicateContext) -fun Iterable.matchIndexed( - key: Any, - build: Function>, -) = indexedMatcher()(key, this, build) - -context(_: PredicateContext) -fun Iterable.matchIndexed( - key: Any, - vararg items: IndexedMatcherPredicate, -) = indexedMatcher()(key, this) { items.forEach { +it } } - fun at( index: Int, predicate: IndexedMatcherPredicate, @@ -886,13 +850,6 @@ class IndexedMatcher : Matcher>() { context(matcher: M) operator fun > U.unaryPlus() = matcher.add(this) -context(context: PredicateContext) -inline operator fun > M.invoke( - key: Any, - iterable: Iterable, - builder: Function, -) = context.remember(key) { apply(builder) }(iterable) - abstract class Matcher : MutableList by mutableListOf() { var matchIndex = -1 protected set @@ -904,17 +861,17 @@ abstract class Matcher : MutableList by mutableListOf() { // region MutablePredicateList extensions -fun MutablePredicateList.allOf(block: Function>) { +fun MutablePredicateList.allOf(block: MutablePredicateList.() -> Unit) { val child = MutablePredicateList().apply(block) add { child.all { it() } } } -fun MutablePredicateList.anyOf(block: Function>) { +fun MutablePredicateList.anyOf(block: MutablePredicateList.() -> Unit) { val child = MutablePredicateList().apply(block) add { child.any { it() } } } -fun MutablePredicateList.noneOf(block: Function>) { +fun MutablePredicateList.noneOf(block: MutablePredicateList.() -> Unit) { val child = MutablePredicateList().apply(block) add { child.none { it() } } } @@ -953,49 +910,9 @@ fun MutablePredicateList.definingClass( fun MutablePredicateList.parameterTypes(vararg parameterTypePrefixes: String) = predicate { parameterTypes.size == parameterTypePrefixes.size && - parameterTypes - .zip(parameterTypePrefixes) - .all { (a, b) -> a.startsWith(b) } + parameterTypes.zip(parameterTypePrefixes).all { (a, b) -> a.startsWith(b) } } -fun MutablePredicateList.strings(build: Function>) { - val match = indexedMatcher(build) - - predicate { implementation { match(instructions) } } -} - -context(matcher: IndexedMatcher) -fun MutablePredicateList.strings(build: Function>) { - matcher.build() - - predicate { implementation { matcher(instructions) } } -} - -// fun MutablePredicateList.strings( -// vararg predicates: IndexedMatcherPredicate -// ) = strings { predicates.forEach { +it } } -// -// context(matcher: IndexedMatcher) -// fun MutablePredicateList.strings( -// vararg predicates: IndexedMatcherPredicate -// ) = strings { predicates.forEach { +it } } -// -// -// fun MutablePredicateList.strings( -// vararg strings: String -// ) = strings(predicates = strings.map { string(it) }.toTypedArray()) -// -// context( -// stringsList: MutableList, -// matcher: IndexedMatcherPredicate) -// fun MutablePredicateList.strings( -// vararg strings: String -// ) { -// stringsList += strings -// -// strings(predicates = strings.map { string(it) }.toTypedArray()) -// } - fun MutablePredicateList.instructions(build: Function>) { val match = indexedMatcher(build) @@ -1007,14 +924,14 @@ fun MutablePredicateList.instructions(vararg predicates: IndexedMatcherP predicates.forEach { +it } } -context(matcher: IndexedMatcher) +context(matchers: MutableList>) fun MutablePredicateList.instructions(build: Function>) { - matcher.build() + val match = indexedMatcher(build).also(matchers::add) - predicate { implementation { matcher(instructions) } } + predicate { implementation { match(instructions) } } } -context(matcher: IndexedMatcher) +context(matchers: MutableList>) fun MutablePredicateList.instructions(vararg predicates: IndexedMatcherPredicate) = instructions { predicates.forEach { +it } } @@ -1027,9 +944,16 @@ fun MutablePredicateList.custom(block: Predicate) { fun MutablePredicateList.opcodes(vararg opcodes: Opcode) = instructions { opcodes.forEach { +it() } } -context(matcher: IndexedMatcher) +context(matchers: MutableList>) fun MutablePredicateList.opcodes(vararg opcodes: Opcode) = instructions { opcodes.forEach { +it() } } +private fun Array.toUnorderedStringPredicates() = unorderedAllOf(predicates = map { string(it) }.toTypedArray()) + +fun MutablePredicateList.strings(vararg strings: String) = instructions(predicates = strings.toUnorderedStringPredicates()) + +context(matchers: MutableList>) +fun MutablePredicateList.strings(vararg strings: String) = instructions(predicates = strings.toUnorderedStringPredicates()) + inline fun `is`(crossinline predicate: Predicate = { true }): IndexedMatcherPredicate = { _, _, _ -> (this as? T)?.predicate() == true } @@ -1148,122 +1072,126 @@ operator fun String.invoke(compare: String.(String) -> Boolean = String::equals) operator fun Opcode.invoke(): IndexedMatcherPredicate = { _, _, _ -> opcode == this@invoke } -typealias BuildCompositeDeclarativePredicate = +typealias DeclarativePredicateCompositeBuilder = context( - BytecodePatchContext, - PredicateContext, - IndexedMatcher, + MutableList>, MutableList ) MutablePredicateList.() -> Unit -fun firstMethodComposite( +fun BytecodePatchContext.firstMethodComposite( vararg strings: String, - build: BuildCompositeDeclarativePredicate = { }, -) = MatchBuilder(strings = strings, build) + build: DeclarativePredicateCompositeBuilder = {}, +) = Match(strings, build) { strings, build -> firstMethodOrNull(strings = strings, build) } -class MatchBuilder private constructor( - private val strings: MutableList, - private val indexedMatcher: IndexedMatcher = indexedMatcher(), - build: BuildCompositeDeclarativePredicate = { }, -) { - internal constructor( +fun Iterable.firstMethodComposite( + vararg strings: String, + build: DeclarativePredicateCompositeBuilder = {}, +) = Match(strings, build) { strings, build -> firstMethodOrNull(strings = strings, build) } + +fun ClassDef.firstMethodComposite( + vararg strings: String, + build: DeclarativePredicateCompositeBuilder = {}, +) = Match(strings, build) { strings, build -> firstMethodOrNull(strings = strings, build) } + +fun composingFirstMethod( + vararg strings: String, + build: DeclarativePredicateCompositeBuilder = {}, +) = cachedReadOnlyProperty { firstMethodComposite(strings = strings, build) } + +// Such objects can be made for the getting functions as well, if desired. + +object ClassDefComposing { + fun composingFirstMethod( vararg strings: String, - build: BuildCompositeDeclarativePredicate = { }, - ) : this(strings = mutableListOf(elements = strings), build = build) + build: DeclarativePredicateCompositeBuilder = {}, + ) = cachedReadOnlyProperty { firstMethodComposite(strings = strings, build) } +} - private val predicate: BytecodePatchContextDeclarativePredicate = { - context(strings, indexedMatcher) { build() } +object IterableClassDefComposing { + fun composingFirstMethod( + vararg strings: String, + build: DeclarativePredicateCompositeBuilder = {}, + ) = cachedReadOnlyProperty, Match> { firstMethodComposite(strings = strings, build) } +} + +fun composingMethod( + getMethod: T.(strings: Array, predicate: Predicate) -> Method?, + build: DeclarativePredicateCompositeBuilder = {}, +) = cachedReadOnlyProperty { + Match(emptyArray(), build) { strings, predicate -> getMethod(strings, predicate) } +} + +open class Match( + private val strings: Array, + private val build: DeclarativePredicateCompositeBuilder, + private val getImmutableMethodOrNull: (strings: Array, predicate: Predicate) -> Method?, +) { + private val matchers = mutableListOf>() + + val indices: List> by lazy { + immutableMethod // Ensure matched. + matchers.map { it.indices } + } + val immutableMethodOrNull by lazy { + val strings = strings.toMutableList() + + buildPredicate({ context(matchers, strings) { build() } }) { predicate -> + getImmutableMethodOrNull(strings.toTypedArray(), predicate) + } } + val immutableMethod by lazy { requireNotNull(immutableMethodOrNull) } + + private val BytecodePatchContext._methodOrNull by cachedReadOnlyProperty { + firstMutableMethodOrNull(immutableMethodOrNull ?: return@cachedReadOnlyProperty null) + } + + context(context: BytecodePatchContext) + val methodOrNull get() = context._methodOrNull + context(_: BytecodePatchContext) - val indices: List - get() { - immutableMethod // Ensure matched. - return indexedMatcher.indices - } + val method get() = requireNotNull(methodOrNull) - private val BytecodePatchContext.cachedImmutableMethodOrNull by gettingFirstMethodDeclarativelyOrNull( - strings = strings.toTypedArray(), - predicate, - ) - - private val BytecodePatchContext.cachedImmutableClassDefOrNull by cachedReadOnlyProperty { - val type = cachedImmutableMethodOrNull?.definingClass ?: return@cachedReadOnlyProperty null + private val BytecodePatchContext._immutableClassDefOrNull by cachedReadOnlyProperty { + val type = immutableMethodOrNull?.definingClass ?: return@cachedReadOnlyProperty null firstClassDefOrNull(type) } context(context: BytecodePatchContext) - val immutableMethodOrNull get() = context.cachedImmutableMethodOrNull - - context(_: BytecodePatchContext) - val immutableMethod get() = requireNotNull(immutableMethodOrNull) - - context(context: BytecodePatchContext) - val immutableClassDefOrNull get() = context.cachedImmutableClassDefOrNull + val immutableClassDefOrNull get() = context._immutableClassDefOrNull context(context: BytecodePatchContext) val immutableClassDef get() = requireNotNull(immutableClassDefOrNull) - val BytecodePatchContext.cachedMethodOrNull by cachedReadOnlyProperty { - firstMutableMethodOrNull(immutableMethodOrNull ?: return@cachedReadOnlyProperty null) - } - - private val BytecodePatchContext.cachedClassDefOrNull by cachedReadOnlyProperty { + private val BytecodePatchContext._classDefOrNull by cachedReadOnlyProperty { val type = immutableMethodOrNull?.definingClass ?: return@cachedReadOnlyProperty null firstMutableClassDefOrNull(type) } context(context: BytecodePatchContext) - val methodOrNull get() = context.cachedMethodOrNull - - context(_: BytecodePatchContext) - val method get() = requireNotNull(methodOrNull) - - context(context: BytecodePatchContext) - val classDefOrNull get() = context.cachedClassDefOrNull + val classDefOrNull get() = context._classDefOrNull context(_: BytecodePatchContext) val classDef get() = requireNotNull(classDefOrNull) - context(context: BytecodePatchContext) - fun match(classDef: ClassDef) = - Match( - context, - classDef.firstMethodDeclarativelyOrNull { predicate() }, - indices, - ) -} - -class Match( - private val context: BytecodePatchContext, - val immutableMethodOrNull: Method?, - private val _indices: List, -) { - val immutableMethod by lazy { requireNotNull(immutableMethodOrNull) } - - val methodOrNull by lazy { - context(context) { firstMutableMethodOrNull(immutableMethodOrNull ?: return@lazy null) } - } - - val method by lazy { requireNotNull(methodOrNull) } - - val immutableClassDefOrNull by lazy { context(context) { immutableMethodOrNull?.immutableClassDefOrNull } } - - val immutableClassDef by lazy { requireNotNull(context(context) { immutableMethod.immutableClassDef }) } - - val classDefOrNull by lazy { - context(context) { firstMutableClassDefOrNull(immutableMethodOrNull?.definingClass ?: return@lazy null) } - } - - val classDef by lazy { requireNotNull(classDefOrNull) } + // This is opinionated, but aimed to assist expected usage. Could be generic and open to change if needed. context(_: BytecodePatchContext) - val indices: List - get() { - immutableMethod // Ensure matched. - return _indices - } + operator fun component1() = method + + context(_: BytecodePatchContext) + operator fun component2() = indices + + context(_: BytecodePatchContext) + operator fun component3() = immutableClassDef + + operator fun get(index: Int) = indices[0][index] + + operator fun get( + matcherIndex: Int, + index: Int, + ) = indices[matcherIndex][index] } context(context: BytecodePatchContext) diff --git a/patcher/src/commonMain/kotlin/app/revanced/patcher/extensions/Method.kt b/patcher/src/commonMain/kotlin/app/revanced/patcher/extensions/Method.kt index 23e9365..301cdab 100644 --- a/patcher/src/commonMain/kotlin/app/revanced/patcher/extensions/Method.kt +++ b/patcher/src/commonMain/kotlin/app/revanced/patcher/extensions/Method.kt @@ -11,7 +11,10 @@ import com.android.tools.smali.dexlib2.iface.Method import com.android.tools.smali.dexlib2.iface.MethodImplementation import com.android.tools.smali.dexlib2.iface.instruction.Instruction -fun Method.accessFlags(vararg flags: AccessFlags) = accessFlags.and(flags.map { it.ordinal }.reduce { acc, i -> acc or i }) != 0 +fun Method.accessFlags(vararg flags: AccessFlags): Boolean { + val mask = flags.fold(0) { acc, i -> acc or i.value } + return mask and accessFlags == mask +} /** * Add instructions to a method at the given index. diff --git a/patcher/src/commonMain/kotlin/app/revanced/patcher/patch/BytecodePatchContext.kt b/patcher/src/commonMain/kotlin/app/revanced/patcher/patch/BytecodePatchContext.kt index 4c27d09..016a64c 100644 --- a/patcher/src/commonMain/kotlin/app/revanced/patcher/patch/BytecodePatchContext.kt +++ b/patcher/src/commonMain/kotlin/app/revanced/patcher/patch/BytecodePatchContext.kt @@ -182,11 +182,11 @@ class BytecodePatchContext internal constructor( val classDefs = ClassDefs() /** - * Extend this [BytecodePatchContext] with [extensionInputStream]. + * Add classes from [extensionInputStream] to this [BytecodePatchContext]. * * @param extensionInputStream The input stream for an extension dex file. */ - internal fun extendWith(extensionInputStream: InputStream) { + internal fun addExtension(extensionInputStream: InputStream) { RawDexIO.readRawDexFile(extensionInputStream, 0, null).classes.forEach { classDef -> val existingClass = classDefs[classDef.type] ?: run { diff --git a/patcher/src/commonMain/kotlin/app/revanced/patcher/patch/Patch.kt b/patcher/src/commonMain/kotlin/app/revanced/patcher/patch/Patch.kt index 5515195..ff255cd 100644 --- a/patcher/src/commonMain/kotlin/app/revanced/patcher/patch/Patch.kt +++ b/patcher/src/commonMain/kotlin/app/revanced/patcher/patch/Patch.kt @@ -130,16 +130,17 @@ class BytecodePatchBuilder private constructor( context(_: BytecodePatchContext, _: ResourcePatchContext) override val context get() = contextOf() + init { + apply = { context.addExtension() } + } + override fun apply(block: BytecodePatchContext.() -> Unit) { apply = { - block( - // Extend the context with the extension, before returning it to the patch before applying it. - context.apply { - getExtensionInputStream?.let { get -> extendWith(get()) } - }, - ) + block(context.apply { addExtension() }) } } + + private fun BytecodePatchContext.addExtension() = getExtensionInputStream?.let { get -> addExtension(get()) } } open class ResourcePatchBuilder internal constructor( diff --git a/patcher/src/jvmTest/kotlin/app/revanced/patcher/FingerprintTest.kt b/patcher/src/jvmTest/kotlin/app/revanced/patcher/FingerprintTest.kt deleted file mode 100644 index f97c082..0000000 --- a/patcher/src/jvmTest/kotlin/app/revanced/patcher/FingerprintTest.kt +++ /dev/null @@ -1,27 +0,0 @@ -package app.revanced.patcher - -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.TestInstance -import kotlin.test.Test -import kotlin.test.assertNotNull -import kotlin.test.assertNull - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class FingerprintTest : PatcherTestBase() { - @BeforeAll - fun setup() = setupMock() - - @Test - fun `matches fingerprints correctly`() { - with(bytecodePatchContext) { - assertNotNull( - fingerprint { returns("V") }.originalMethodOrNull, - "Fingerprints should match correctly." - ) - assertNull( - fingerprint { returns("does not exist") }.originalMethodOrNull, - "Fingerprints should match correctly." - ) - } - } -} diff --git a/patcher/src/jvmTest/kotlin/app/revanced/patcher/MatchingTest.kt b/patcher/src/jvmTest/kotlin/app/revanced/patcher/MatchingTest.kt index 10763cc..93b5b97 100644 --- a/patcher/src/jvmTest/kotlin/app/revanced/patcher/MatchingTest.kt +++ b/patcher/src/jvmTest/kotlin/app/revanced/patcher/MatchingTest.kt @@ -20,9 +20,9 @@ class MatchingTest : PatcherTestBase() { fun setup() = setupMock() @Test - fun `finds via builder api`() { - fun firstMethodComposite(fail: Boolean = false) = - firstMethodComposite { + fun `finds via composite api`() { + fun build(fail: Boolean = false): DeclarativePredicateCompositeBuilder = + { name("method") definingClass("class") @@ -40,24 +40,24 @@ class MatchingTest : PatcherTestBase() { } with(bytecodePatchContext) { - val match = firstMethodComposite() + val match = firstMethodComposite(build = build()) assertNotNull( match.methodOrNull, "Expected to find a method", ) assertEquals( 4, - match.indices[3], + match[3], "Expected to find the string instruction at index 4", ) assertNull( - firstMethodComposite(fail = true).immutableMethodOrNull, + firstMethodComposite(build = build(fail = true)).immutableMethodOrNull, "Expected to not find a method", ) assertNotNull( - firstMethodComposite().match(classDefs.first()).methodOrNull, + classDefs.first().firstMethodComposite(build = build()).methodOrNull, "Expected to find a method matching in a specific class", ) } diff --git a/patcher/src/jvmTest/kotlin/app/revanced/patcher/PatcherTestBase.kt b/patcher/src/jvmTest/kotlin/app/revanced/patcher/PatcherTestBase.kt index a157d6b..21fe2e7 100644 --- a/patcher/src/jvmTest/kotlin/app/revanced/patcher/PatcherTestBase.kt +++ b/patcher/src/jvmTest/kotlin/app/revanced/patcher/PatcherTestBase.kt @@ -22,17 +22,18 @@ abstract class PatcherTestBase { protected lateinit var resourcePatchContext: ResourcePatchContext protected fun setupMock( - method: ImmutableMethod = ImmutableMethod( - "class", - "method", - emptyList(), - "V", - 0, - null, - null, - ImmutableMethodImplementation( - 2, - """ + method: ImmutableMethod = + ImmutableMethod( + "class", + "method", + emptyList(), + "V", + 0, + null, + null, + ImmutableMethodImplementation( + 2, + """ const-string v0, "Hello, World!" iput-object v0, p0, Ljava/lang/System;->out:Ljava/io/PrintStream; iget-object v0, p0, Ljava/lang/System;->out:Ljava/io/PrintStream; @@ -43,63 +44,69 @@ abstract class PatcherTestBase { invoke-static { p0 }, Ljava/lang/System;->currentTimeMillis()J check-cast p0, Ljava/io/PrintStream; """.toInstructions(), - null, - null + null, + null, + ), ), - ), ) { resourcePatchContext = mockk(relaxed = true) - bytecodePatchContext = mockk bytecodePatchContext@{ - mockkStatic(MultiDexIO::readDexFile) - every { - MultiDexIO.readDexFile( - any(), - any(), - any(), - any(), - any() - ) - } returns mockk { - every { classes } returns mutableSetOf( - ImmutableClassDef( - "class", - 0, - null, - null, - null, - null, - null, - listOf(method), + bytecodePatchContext = + mockk bytecodePatchContext@{ + mockkStatic(MultiDexIO::readDexFile) + every { + MultiDexIO.readDexFile( + any(), + any(), + any(), + any(), + any(), ) - ) - every { opcodes } returns Opcodes.getDefault() + } returns + mockk { + every { classes } returns + mutableSetOf( + ImmutableClassDef( + "class", + 0, + null, + null, + null, + null, + null, + listOf(method), + ), + ) + every { opcodes } returns Opcodes.getDefault() + } + + every { this@bytecodePatchContext.getProperty("apkFile") } returns mockk() + + every { this@bytecodePatchContext.classDefs } returns + ClassDefs().apply { + javaClass + .getDeclaredMethod($$"initializeCache$patcher") + .apply { + isAccessible = true + }.invoke(this) + } + + every { get() } returns emptySet() + + justRun { this@bytecodePatchContext["addExtension"](any()) } } - - every { this@bytecodePatchContext.getProperty("apkFile") } returns mockk() - - every { this@bytecodePatchContext.classDefs } returns ClassDefs().apply { - javaClass.getDeclaredMethod($$"initializeCache$patcher").apply { - isAccessible = true - }.invoke(this) - } - - every { get() } returns emptySet() - - justRun { this@bytecodePatchContext["extendWith"](any()) } - } } protected operator fun Set.invoke() { runCatching { apply( bytecodePatchContext, - resourcePatchContext + resourcePatchContext, ) { } }.fold( { it.dexFiles }, - { it.printStackTrace() } + { it.printStackTrace() }, ) } protected operator fun Patch.invoke() = setOf(this)() -} \ No newline at end of file +} diff --git a/patcher/src/jvmTest/kotlin/app/revanced/patcher/patch/PatchTest.kt b/patcher/src/jvmTest/kotlin/app/revanced/patcher/patch/PatchTest.kt index c7d5ca7..aa72487 100644 --- a/patcher/src/jvmTest/kotlin/app/revanced/patcher/patch/PatchTest.kt +++ b/patcher/src/jvmTest/kotlin/app/revanced/patcher/patch/PatchTest.kt @@ -14,36 +14,39 @@ internal object PatchTest { @Test fun `can create patch with compatible packages`() { - val patch = bytecodePatch(name = "Test") { - compatibleWith( - "compatible.package"("1.0.0"), - ) - } + val patch = + bytecodePatch(name = "Test") { + compatibleWith( + "compatible.package"("1.0.0"), + ) + } assertEquals(1, patch.compatiblePackages!!.size) - assertEquals("compatible.package", patch.compatiblePackages!!.first().first) + assertEquals("compatible.package", patch.compatiblePackages.first().first) } @Test fun `can create patch with dependencies`() { - val patch = bytecodePatch(name = "Test") { - dependsOn(resourcePatch {}) - } + val patch = + bytecodePatch(name = "Test") { + dependsOn(resourcePatch {}) + } assertEquals(1, patch.dependencies.size) } @Test fun `can create patch with options`() { - val patch = bytecodePatch(name = "Test") { - val print by stringOption("print") - val custom = option("custom")() + val patch = + bytecodePatch(name = "Test") { + val print by stringOption("print") + val custom = option("custom")() - this.apply { - println(print) - println(custom.value) + this.apply { + println(print) + println(custom.value) + } } - } assertEquals(2, patch.options.size) } @@ -59,8 +62,8 @@ internal object PatchTest { 2, patches.size, "Expected 2 patches to be loaded, " + - "because there's only two named patches declared as public static fields " + - "or returned by public static and non-parametrized methods.", + "because there's only two named patches declared as public static fields " + + "or returned by public static and non-parametrized methods.", ) } } @@ -71,14 +74,15 @@ val Public by creatingBytecodePatch {} // Loaded, because it's named. private val privateUnnamedPatch = bytecodePatch {} // Not loaded, because it's private. -private val Private by creatingBytecodePatch {} // Not loaded, because it's private. +private val Private by creatingBytecodePatch {} // Not loaded, because it's private. fun publicUnnamedPatchFunction() = publicUnnamedPatch // Not loaded, because it's unnamed. fun publicNamedPatchFunction() = bytecodePatch("Public") { } // Loaded, because it's named. -fun parameterizedFunction(@Suppress("UNUSED_PARAMETER") param: Any) = - publicNamedPatchFunction() // Not loaded, because it's parameterized. +fun parameterizedFunction( + @Suppress("UNUSED_PARAMETER") param: Any, +) = publicNamedPatchFunction() // Not loaded, because it's parameterized. private fun privateUnnamedPatchFunction() = privateUnnamedPatch // Not loaded, because it's private.