CrackMe.apk
Download file
package kotlin.reflect.jvm.internal;
import androidx.autofill.HintConstants;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.collections.CollectionsKt;
import kotlin.collections.MapsKt;
import kotlin.jvm.internal.ClassBasedDeclarationContainer;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.PropertyReference1Impl;
import kotlin.jvm.internal.Reflection;
import kotlin.reflect.KProperty;
import kotlin.reflect.jvm.internal.ReflectProperties;
import kotlin.reflect.jvm.internal.impl.descriptors.CallableMemberDescriptor;
import kotlin.reflect.jvm.internal.impl.descriptors.ConstructorDescriptor;
import kotlin.reflect.jvm.internal.impl.descriptors.DescriptorVisibility;
import kotlin.reflect.jvm.internal.impl.descriptors.FunctionDescriptor;
import kotlin.reflect.jvm.internal.impl.descriptors.PropertyDescriptor;
import kotlin.reflect.jvm.internal.impl.descriptors.runtime.components.ReflectJavaClassFinderKt;
import kotlin.reflect.jvm.internal.impl.descriptors.runtime.components.RuntimeModuleData;
import kotlin.reflect.jvm.internal.impl.descriptors.runtime.structure.ReflectClassUtilKt;
import kotlin.reflect.jvm.internal.impl.name.Name;
import kotlin.text.MatchResult;
import kotlin.text.Regex;
import kotlin.text.StringsKt;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
@Metadata(d1 = {"\u0000\u0001\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u001e\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010!\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010 \n\u0002\b\u0006\n\u0002\u0010\u0011\n\u0002\b\n\b \u0018\u0000 <2\u00020\u0001:\u0003<=>B\u0005¢\u0006\u0002\u0010\u0002J*\u0010\f\u001a\u00020\r2\u0010\u0010\u000e\u001a\f\u0012\b\u0012\u0006\u0012\u0002\b\u00030\t0\u000f2\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u0013H\u0002J\u0014\u0010\u0014\u001a\b\u0012\u0002\b\u0003\u0018\u00010\u00152\u0006\u0010\u0010\u001a\u00020\u0011J\u0014\u0010\u0016\u001a\b\u0012\u0002\b\u0003\u0018\u00010\u00152\u0006\u0010\u0010\u001a\u00020\u0011J \u0010\u0017\u001a\u0004\u0018\u00010\u00182\u0006\u0010\u0019\u001a\u00020\u00112\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u001a\u001a\u00020\u0013J\u0016\u0010\u001b\u001a\u00020\u001c2\u0006\u0010\u0019\u001a\u00020\u00112\u0006\u0010\u001d\u001a\u00020\u0011J\u0018\u0010\u001e\u001a\u0004\u0018\u00010\u00182\u0006\u0010\u0019\u001a\u00020\u00112\u0006\u0010\u0010\u001a\u00020\u0011J\u0016\u0010\u001f\u001a\u00020 2\u0006\u0010\u0019\u001a\u00020\u00112\u0006\u0010\u001d\u001a\u00020\u0011J\u0016\u0010!\u001a\b\u0012\u0004\u0012\u00020\u001c0\u00042\u0006\u0010\u0019\u001a\u00020\"H&J\u0012\u0010#\u001a\u0004\u0018\u00010 2\u0006\u0010$\u001a\u00020%H&J\"\u0010&\u001a\f\u0012\b\u0012\u0006\u0012\u0002\b\u00030'0\u00042\u0006\u0010(\u001a\u00020)2\u0006\u0010*\u001a\u00020+H\u0004J\u0016\u0010,\u001a\b\u0012\u0004\u0012\u00020 0\u00042\u0006\u0010\u0019\u001a\u00020\"H&J\u001a\u0010-\u001a\f\u0012\b\u0012\u0006\u0012\u0002\b\u00030\t0.2\u0006\u0010\u0010\u001a\u00020\u0011H\u0002J\u0014\u0010/\u001a\u0006\u0012\u0002\b\u00030\t2\u0006\u0010\u0010\u001a\u00020\u0011H\u0002J$\u00100\u001a\u0006\u0012\u0002\b\u00030\t2\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u00101\u001a\u00020%2\u0006\u00102\u001a\u00020%H\u0002JE\u00103\u001a\u0004\u0018\u00010\u0018*\u0006\u0012\u0002\b\u00030\t2\u0006\u0010\u0019\u001a\u00020\u00112\u0010\u00104\u001a\f\u0012\b\u0012\u0006\u0012\u0002\b\u00030\t052\n\u00106\u001a\u0006\u0012\u0002\b\u00030\t2\u0006\u00107\u001a\u00020\u0013H\u0002¢\u0006\u0002\u00108J(\u00109\u001a\b\u0012\u0002\b\u0003\u0018\u00010\u0015*\u0006\u0012\u0002\b\u00030\t2\u0010\u00104\u001a\f\u0012\b\u0012\u0006\u0012\u0002\b\u00030\t0.H\u0002J=\u0010:\u001a\u0004\u0018\u00010\u0018*\u0006\u0012\u0002\b\u00030\t2\u0006\u0010\u0019\u001a\u00020\u00112\u0010\u00104\u001a\f\u0012\b\u0012\u0006\u0012\u0002\b\u00030\t052\n\u00106\u001a\u0006\u0012\u0002\b\u00030\tH\u0002¢\u0006\u0002\u0010;R\u0018\u0010\u0003\u001a\b\u0012\u0004\u0012\u00020\u00050\u0004X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0006\u0010\u0007R\u0018\u0010\b\u001a\u0006\u0012\u0002\b\u00030\t8TX\u0004¢\u0006\u0006\u001a\u0004\b\n\u0010\u000b¨\u0006?"}, d2 = {"Lkotlin/reflect/jvm/internal/KDeclarationContainerImpl;", "Lkotlin/jvm/internal/ClassBasedDeclarationContainer;", "()V", "constructorDescriptors", "", "Lkotlin/reflect/jvm/internal/impl/descriptors/ConstructorDescriptor;", "getConstructorDescriptors", "()Ljava/util/Collection;", "methodOwner", "Ljava/lang/Class;", "getMethodOwner", "()Ljava/lang/Class;", "addParametersAndMasks", "", "result", "", "desc", "", "isConstructor", "", "findConstructorBySignature", "Ljava/lang/reflect/Constructor;", "findDefaultConstructor", "findDefaultMethod", "Ljava/lang/reflect/Method;", "name", "isMember", "findFunctionDescriptor", "Lkotlin/reflect/jvm/internal/impl/descriptors/FunctionDescriptor;", "signature", "findMethodBySignature", "findPropertyDescriptor", "Lkotlin/reflect/jvm/internal/impl/descriptors/PropertyDescriptor;", "getFunctions", "Lkotlin/reflect/jvm/internal/impl/name/Name;", "getLocalProperty", "index", "", "getMembers", "Lkotlin/reflect/jvm/internal/KCallableImpl;", "scope", "Lkotlin/reflect/jvm/internal/impl/resolve/scopes/MemberScope;", "belonginess", "Lkotlin/reflect/jvm/internal/KDeclarationContainerImpl$MemberBelonginess;", "getProperties", "loadParameterTypes", "", "loadReturnType", "parseType", "begin", "end", "lookupMethod", "parameterTypes", "", "returnType", "isStaticDefault", "(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;Z)Ljava/lang/reflect/Method;", "tryGetConstructor", "tryGetMethod", "(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;", "Companion", "Data", "MemberBelonginess", "kotlin-reflection"}, k = 1, mv = {1, 6, 0}, xi = 48)
/* compiled from: KDeclarationContainerImpl.kt */
public abstract class KDeclarationContainerImpl implements ClassBasedDeclarationContainer {
public static final Companion Companion = new Companion((DefaultConstructorMarker) null);
private static final Class<?> DEFAULT_CONSTRUCTOR_MARKER = Class.forName("kotlin.jvm.internal.DefaultConstructorMarker");
/* access modifiers changed from: private */
public static final Regex LOCAL_PROPERTY_SIGNATURE = new Regex("<v#(\\d+)>");
public abstract Collection<ConstructorDescriptor> getConstructorDescriptors();
public abstract Collection<FunctionDescriptor> getFunctions(Name name);
public abstract PropertyDescriptor getLocalProperty(int i);
public abstract Collection<PropertyDescriptor> getProperties(Name name);
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\b¦\u0004\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002R\u001b\u0010\u0003\u001a\u00020\u00048FX\u0002¢\u0006\f\n\u0004\b\u0007\u0010\b\u001a\u0004\b\u0005\u0010\u0006¨\u0006\t"}, d2 = {"Lkotlin/reflect/jvm/internal/KDeclarationContainerImpl$Data;", "", "(Lkotlin/reflect/jvm/internal/KDeclarationContainerImpl;)V", "moduleData", "Lkotlin/reflect/jvm/internal/impl/descriptors/runtime/components/RuntimeModuleData;", "getModuleData", "()Lorg/jetbrains/kotlin/descriptors/runtime/components/RuntimeModuleData;", "moduleData$delegate", "Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal;", "kotlin-reflection"}, k = 1, mv = {1, 6, 0}, xi = 48)
/* compiled from: KDeclarationContainerImpl.kt */
public abstract class Data {
static final /* synthetic */ KProperty<Object>[] $$delegatedProperties = {Reflection.property1(new PropertyReference1Impl(Reflection.getOrCreateKotlinClass(Data.class), "moduleData", "getModuleData()Lorg/jetbrains/kotlin/descriptors/runtime/components/RuntimeModuleData;"))};
private final ReflectProperties.LazySoftVal moduleData$delegate;
final /* synthetic */ KDeclarationContainerImpl this$0;
public Data(KDeclarationContainerImpl kDeclarationContainerImpl) {
Intrinsics.checkNotNullParameter(kDeclarationContainerImpl, "this$0");
this.this$0 = kDeclarationContainerImpl;
this.moduleData$delegate = ReflectProperties.lazySoft(new KDeclarationContainerImpl$Data$moduleData$2(kDeclarationContainerImpl));
}
public final RuntimeModuleData getModuleData() {
Object value = this.moduleData$delegate.getValue(this, $$delegatedProperties[0]);
Intrinsics.checkNotNullExpressionValue(value, "<get-moduleData>(...)");
return (RuntimeModuleData) value;
}
}
/* access modifiers changed from: protected */
public Class<?> getMethodOwner() {
Class<?> wrapperByPrimitive = ReflectClassUtilKt.getWrapperByPrimitive(getJClass());
return wrapperByPrimitive == null ? getJClass() : wrapperByPrimitive;
}
/* access modifiers changed from: protected */
/* JADX WARNING: Removed duplicated region for block: B:12:0x0059 */
/* JADX WARNING: Removed duplicated region for block: B:17:0x0024 A[SYNTHETIC] */
/* Code decompiled incorrectly, please refer to instructions dump. */
public final java.util.Collection<kotlin.reflect.jvm.internal.KCallableImpl<?>> getMembers(kotlin.reflect.jvm.internal.impl.resolve.scopes.MemberScope r8, kotlin.reflect.jvm.internal.KDeclarationContainerImpl.MemberBelonginess r9) {
/*
r7 = this;
java.lang.String r0 = "scope"
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r8, r0)
java.lang.String r0 = "belonginess"
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r9, r0)
kotlin.reflect.jvm.internal.KDeclarationContainerImpl$getMembers$visitor$1 r0 = new kotlin.reflect.jvm.internal.KDeclarationContainerImpl$getMembers$visitor$1
r0.<init>(r7)
kotlin.reflect.jvm.internal.impl.resolve.scopes.ResolutionScope r8 = (kotlin.reflect.jvm.internal.impl.resolve.scopes.ResolutionScope) r8
r1 = 0
r2 = 3
java.util.Collection r8 = kotlin.reflect.jvm.internal.impl.resolve.scopes.ResolutionScope.DefaultImpls.getContributedDescriptors$default(r8, r1, r1, r2, r1)
java.lang.Iterable r8 = (java.lang.Iterable) r8
java.util.ArrayList r2 = new java.util.ArrayList
r2.<init>()
java.util.Collection r2 = (java.util.Collection) r2
java.util.Iterator r8 = r8.iterator()
L_0x0024:
boolean r3 = r8.hasNext()
if (r3 == 0) goto L_0x005d
java.lang.Object r3 = r8.next()
kotlin.reflect.jvm.internal.impl.descriptors.DeclarationDescriptor r3 = (kotlin.reflect.jvm.internal.impl.descriptors.DeclarationDescriptor) r3
boolean r4 = r3 instanceof kotlin.reflect.jvm.internal.impl.descriptors.CallableMemberDescriptor
if (r4 == 0) goto L_0x0055
r4 = r3
kotlin.reflect.jvm.internal.impl.descriptors.CallableMemberDescriptor r4 = (kotlin.reflect.jvm.internal.impl.descriptors.CallableMemberDescriptor) r4
kotlin.reflect.jvm.internal.impl.descriptors.DescriptorVisibility r5 = r4.getVisibility()
kotlin.reflect.jvm.internal.impl.descriptors.DescriptorVisibility r6 = kotlin.reflect.jvm.internal.impl.descriptors.DescriptorVisibilities.INVISIBLE_FAKE
boolean r5 = kotlin.jvm.internal.Intrinsics.areEqual((java.lang.Object) r5, (java.lang.Object) r6)
if (r5 != 0) goto L_0x0055
boolean r4 = r9.accept(r4)
if (r4 == 0) goto L_0x0055
r4 = r0
kotlin.reflect.jvm.internal.impl.descriptors.DeclarationDescriptorVisitor r4 = (kotlin.reflect.jvm.internal.impl.descriptors.DeclarationDescriptorVisitor) r4
kotlin.Unit r5 = kotlin.Unit.INSTANCE
java.lang.Object r3 = r3.accept(r4, r5)
kotlin.reflect.jvm.internal.KCallableImpl r3 = (kotlin.reflect.jvm.internal.KCallableImpl) r3
goto L_0x0056
L_0x0055:
r3 = r1
L_0x0056:
if (r3 != 0) goto L_0x0059
goto L_0x0024
L_0x0059:
r2.add(r3)
goto L_0x0024
L_0x005d:
java.util.List r2 = (java.util.List) r2
java.lang.Iterable r2 = (java.lang.Iterable) r2
java.util.List r8 = kotlin.collections.CollectionsKt.toList(r2)
java.util.Collection r8 = (java.util.Collection) r8
return r8
*/
throw new UnsupportedOperationException("Method not decompiled: kotlin.reflect.jvm.internal.KDeclarationContainerImpl.getMembers(kotlin.reflect.jvm.internal.impl.resolve.scopes.MemberScope, kotlin.reflect.jvm.internal.KDeclarationContainerImpl$MemberBelonginess):java.util.Collection");
}
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0010\u0010\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0001\u0018\u00002\b\u0012\u0004\u0012\u00020\u00000\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u000e\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006j\u0002\b\u0007j\u0002\b\b¨\u0006\t"}, d2 = {"Lkotlin/reflect/jvm/internal/KDeclarationContainerImpl$MemberBelonginess;", "", "(Ljava/lang/String;I)V", "accept", "", "member", "Lkotlin/reflect/jvm/internal/impl/descriptors/CallableMemberDescriptor;", "DECLARED", "INHERITED", "kotlin-reflection"}, k = 1, mv = {1, 6, 0}, xi = 48)
/* compiled from: KDeclarationContainerImpl.kt */
protected enum MemberBelonginess {
DECLARED,
INHERITED;
public final boolean accept(CallableMemberDescriptor callableMemberDescriptor) {
Intrinsics.checkNotNullParameter(callableMemberDescriptor, "member");
return callableMemberDescriptor.getKind().isReal() == (this == DECLARED);
}
}
public final PropertyDescriptor findPropertyDescriptor(String str, String str2) {
String str3 = str;
String str4 = str2;
Intrinsics.checkNotNullParameter(str3, HintConstants.AUTOFILL_HINT_NAME);
Intrinsics.checkNotNullParameter(str4, "signature");
MatchResult matchEntire = LOCAL_PROPERTY_SIGNATURE.matchEntire(str4);
boolean z = true;
if (matchEntire != null) {
String str5 = matchEntire.getDestructured().getMatch().getGroupValues().get(1);
PropertyDescriptor localProperty = getLocalProperty(Integer.parseInt(str5));
if (localProperty != null) {
return localProperty;
}
throw new KotlinReflectionInternalError("Local property #" + str5 + " not found in " + getJClass());
}
Name identifier = Name.identifier(str);
Intrinsics.checkNotNullExpressionValue(identifier, "identifier(name)");
Collection arrayList = new ArrayList();
for (Object next : getProperties(identifier)) {
if (Intrinsics.areEqual((Object) RuntimeTypeMapper.INSTANCE.mapPropertySignature((PropertyDescriptor) next).asString(), (Object) str4)) {
arrayList.add(next);
}
}
List list = (List) arrayList;
if (list.isEmpty()) {
throw new KotlinReflectionInternalError("Property '" + str3 + "' (JVM signature: " + str4 + ") not resolved in " + this);
} else if (list.size() == 1) {
return (PropertyDescriptor) CollectionsKt.single(list);
} else {
Map linkedHashMap = new LinkedHashMap();
for (Object next2 : list) {
DescriptorVisibility visibility = ((PropertyDescriptor) next2).getVisibility();
Object obj = linkedHashMap.get(visibility);
if (obj == null) {
obj = new ArrayList();
linkedHashMap.put(visibility, obj);
}
((List) obj).add(next2);
}
Collection values = MapsKt.toSortedMap(linkedHashMap, KDeclarationContainerImpl$findPropertyDescriptor$mostVisibleProperties$2.INSTANCE).values();
Intrinsics.checkNotNullExpressionValue(values, "properties\n …\n }.values");
List list2 = (List) CollectionsKt.last(values);
if (list2.size() == 1) {
Intrinsics.checkNotNullExpressionValue(list2, "mostVisibleProperties");
return (PropertyDescriptor) CollectionsKt.first(list2);
}
Name identifier2 = Name.identifier(str);
Intrinsics.checkNotNullExpressionValue(identifier2, "identifier(name)");
String joinToString$default = CollectionsKt.joinToString$default(getProperties(identifier2), "\n", (CharSequence) null, (CharSequence) null, 0, (CharSequence) null, KDeclarationContainerImpl$findPropertyDescriptor$allMembers$1.INSTANCE, 30, (Object) null);
StringBuilder sb = new StringBuilder();
sb.append("Property '");
sb.append(str3);
sb.append("' (JVM signature: ");
sb.append(str4);
sb.append(") not resolved in ");
sb.append(this);
sb.append(':');
if (joinToString$default.length() != 0) {
z = false;
}
sb.append(z ? " no members found" : Intrinsics.stringPlus("\n", joinToString$default));
throw new KotlinReflectionInternalError(sb.toString());
}
}
public final FunctionDescriptor findFunctionDescriptor(String str, String str2) {
Collection<FunctionDescriptor> collection;
Intrinsics.checkNotNullParameter(str, HintConstants.AUTOFILL_HINT_NAME);
Intrinsics.checkNotNullParameter(str2, "signature");
if (Intrinsics.areEqual((Object) str, (Object) "<init>")) {
collection = CollectionsKt.toList(getConstructorDescriptors());
} else {
Name identifier = Name.identifier(str);
Intrinsics.checkNotNullExpressionValue(identifier, "identifier(name)");
collection = getFunctions(identifier);
}
Iterable iterable = collection;
Collection arrayList = new ArrayList();
for (Object next : iterable) {
if (Intrinsics.areEqual((Object) RuntimeTypeMapper.INSTANCE.mapSignature((FunctionDescriptor) next).asString(), (Object) str2)) {
arrayList.add(next);
}
}
List list = (List) arrayList;
boolean z = true;
if (list.size() == 1) {
return (FunctionDescriptor) CollectionsKt.single(list);
}
String joinToString$default = CollectionsKt.joinToString$default(iterable, "\n", (CharSequence) null, (CharSequence) null, 0, (CharSequence) null, KDeclarationContainerImpl$findFunctionDescriptor$allMembers$1.INSTANCE, 30, (Object) null);
StringBuilder sb = new StringBuilder();
sb.append("Function '");
sb.append(str);
sb.append("' (JVM signature: ");
sb.append(str2);
sb.append(") not resolved in ");
sb.append(this);
sb.append(':');
if (joinToString$default.length() != 0) {
z = false;
}
sb.append(z ? " no members found" : Intrinsics.stringPlus("\n", joinToString$default));
throw new KotlinReflectionInternalError(sb.toString());
}
private final Method lookupMethod(Class<?> cls, String str, Class<?>[] clsArr, Class<?> cls2, boolean z) {
Class<? super Object> superclass;
Class<?> tryLoadClass;
if (z) {
clsArr[0] = cls;
}
Method tryGetMethod = tryGetMethod(cls, str, clsArr, cls2);
if (tryGetMethod != null || ((superclass = cls.getSuperclass()) != null && (tryGetMethod = lookupMethod(superclass, str, clsArr, cls2, z)) != null)) {
return tryGetMethod;
}
Class<?>[] interfaces = cls.getInterfaces();
Intrinsics.checkNotNullExpressionValue(interfaces, "interfaces");
int length = interfaces.length;
int i = 0;
while (i < length) {
Class<?> cls3 = interfaces[i];
i++;
Intrinsics.checkNotNullExpressionValue(cls3, "superInterface");
Method lookupMethod = lookupMethod(cls3, str, clsArr, cls2, z);
if (lookupMethod == null) {
if (z && (tryLoadClass = ReflectJavaClassFinderKt.tryLoadClass(ReflectClassUtilKt.getSafeClassLoader(cls3), Intrinsics.stringPlus(cls3.getName(), "$DefaultImpls"))) != null) {
clsArr[0] = cls3;
lookupMethod = tryGetMethod(tryLoadClass, str, clsArr, cls2);
if (lookupMethod == null) {
}
}
}
return lookupMethod;
}
return null;
}
private final Method tryGetMethod(Class<?> cls, String str, Class<?>[] clsArr, Class<?> cls2) {
Method method;
boolean z;
try {
Method declaredMethod = cls.getDeclaredMethod(str, (Class[]) Arrays.copyOf(clsArr, clsArr.length));
if (Intrinsics.areEqual((Object) declaredMethod.getReturnType(), (Object) cls2)) {
return declaredMethod;
}
Method[] declaredMethods = cls.getDeclaredMethods();
Intrinsics.checkNotNullExpressionValue(declaredMethods, "declaredMethods");
Object[] objArr = (Object[]) declaredMethods;
int length = objArr.length;
int i = 0;
while (true) {
if (i >= length) {
method = null;
break;
}
method = objArr[i];
i++;
Method method2 = (Method) method;
if (!Intrinsics.areEqual((Object) method2.getName(), (Object) str) || !Intrinsics.areEqual((Object) method2.getReturnType(), (Object) cls2) || !Arrays.equals(method2.getParameterTypes(), clsArr)) {
z = false;
continue;
} else {
z = true;
continue;
}
if (z) {
break;
}
}
return method;
} catch (NoSuchMethodException unused) {
Method method3 = null;
return null;
}
}
private final Constructor<?> tryGetConstructor(Class<?> cls, List<? extends Class<?>> list) {
try {
Object[] array = list.toArray(new Class[0]);
if (array != null) {
Class[] clsArr = (Class[]) array;
return cls.getDeclaredConstructor((Class[]) Arrays.copyOf(clsArr, clsArr.length));
}
throw new NullPointerException("null cannot be cast to non-null type kotlin.Array<T of kotlin.collections.ArraysKt__ArraysJVMKt.toTypedArray>");
} catch (NoSuchMethodException unused) {
Constructor constructor = null;
return null;
}
}
public final Method findMethodBySignature(String str, String str2) {
Method lookupMethod;
Intrinsics.checkNotNullParameter(str, HintConstants.AUTOFILL_HINT_NAME);
Intrinsics.checkNotNullParameter(str2, "desc");
if (Intrinsics.areEqual((Object) str, (Object) "<init>")) {
return null;
}
Object[] array = loadParameterTypes(str2).toArray(new Class[0]);
Objects.requireNonNull(array, "null cannot be cast to non-null type kotlin.Array<T of kotlin.collections.ArraysKt__ArraysJVMKt.toTypedArray>");
Class[] clsArr = (Class[]) array;
Class<?> loadReturnType = loadReturnType(str2);
Method lookupMethod2 = lookupMethod(getMethodOwner(), str, clsArr, loadReturnType, false);
if (lookupMethod2 != null) {
return lookupMethod2;
}
if (!getMethodOwner().isInterface() || (lookupMethod = lookupMethod(Object.class, str, clsArr, loadReturnType, false)) == null) {
return null;
}
return lookupMethod;
}
public final Method findDefaultMethod(String str, String str2, boolean z) {
Intrinsics.checkNotNullParameter(str, HintConstants.AUTOFILL_HINT_NAME);
Intrinsics.checkNotNullParameter(str2, "desc");
if (Intrinsics.areEqual((Object) str, (Object) "<init>")) {
return null;
}
ArrayList arrayList = new ArrayList();
if (z) {
arrayList.add(getJClass());
}
addParametersAndMasks(arrayList, str2, false);
Class<?> methodOwner = getMethodOwner();
String stringPlus = Intrinsics.stringPlus(str, "$default");
Object[] array = arrayList.toArray(new Class[0]);
Objects.requireNonNull(array, "null cannot be cast to non-null type kotlin.Array<T of kotlin.collections.ArraysKt__ArraysJVMKt.toTypedArray>");
return lookupMethod(methodOwner, stringPlus, (Class[]) array, loadReturnType(str2), z);
}
public final Constructor<?> findConstructorBySignature(String str) {
Intrinsics.checkNotNullParameter(str, "desc");
return tryGetConstructor(getJClass(), loadParameterTypes(str));
}
public final Constructor<?> findDefaultConstructor(String str) {
Intrinsics.checkNotNullParameter(str, "desc");
Class<?> jClass = getJClass();
List arrayList = new ArrayList();
addParametersAndMasks(arrayList, str, true);
Unit unit = Unit.INSTANCE;
return tryGetConstructor(jClass, arrayList);
}
private final void addParametersAndMasks(List<Class<?>> list, String str, boolean z) {
List<Class<?>> loadParameterTypes = loadParameterTypes(str);
list.addAll(loadParameterTypes);
int size = ((loadParameterTypes.size() + 32) - 1) / 32;
int i = 0;
while (i < size) {
i++;
Class cls = Integer.TYPE;
Intrinsics.checkNotNullExpressionValue(cls, "TYPE");
list.add(cls);
}
Class cls2 = z ? DEFAULT_CONSTRUCTOR_MARKER : Object.class;
Intrinsics.checkNotNullExpressionValue(cls2, "if (isConstructor) DEFAU…RKER else Any::class.java");
list.add(cls2);
}
private final List<Class<?>> loadParameterTypes(String str) {
int i;
ArrayList arrayList = new ArrayList();
int i2 = 1;
while (str.charAt(i2) != ')') {
int i3 = i2;
while (str.charAt(i3) == '[') {
i3++;
}
char charAt = str.charAt(i3);
if (StringsKt.contains$default((CharSequence) "VZCBSIFJD", charAt, false, 2, (Object) null)) {
i = i3 + 1;
} else if (charAt == 'L') {
i = StringsKt.indexOf$default((CharSequence) str, ';', i2, false, 4, (Object) null) + 1;
} else {
throw new KotlinReflectionInternalError(Intrinsics.stringPlus("Unknown type prefix in the method signature: ", str));
}
arrayList.add(parseType(str, i2, i));
i2 = i;
}
return arrayList;
}
private final Class<?> parseType(String str, int i, int i2) {
char charAt = str.charAt(i);
if (charAt == 'L') {
ClassLoader safeClassLoader = ReflectClassUtilKt.getSafeClassLoader(getJClass());
String substring = str.substring(i + 1, i2 - 1);
Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
Class<?> loadClass = safeClassLoader.loadClass(StringsKt.replace$default(substring, (char) IOUtils.DIR_SEPARATOR_UNIX, (char) FilenameUtils.EXTENSION_SEPARATOR, false, 4, (Object) null));
Intrinsics.checkNotNullExpressionValue(loadClass, "jClass.safeClassLoader.l…d - 1).replace('/', '.'))");
return loadClass;
} else if (charAt == '[') {
return UtilKt.createArrayType(parseType(str, i + 1, i2));
} else {
if (charAt == 'V') {
Class<?> cls = Void.TYPE;
Intrinsics.checkNotNullExpressionValue(cls, "TYPE");
return cls;
} else if (charAt == 'Z') {
return Boolean.TYPE;
} else {
if (charAt == 'C') {
return Character.TYPE;
}
if (charAt == 'B') {
return Byte.TYPE;
}
if (charAt == 'S') {
return Short.TYPE;
}
if (charAt == 'I') {
return Integer.TYPE;
}
if (charAt == 'F') {
return Float.TYPE;
}
if (charAt == 'J') {
return Long.TYPE;
}
if (charAt == 'D') {
return Double.TYPE;
}
throw new KotlinReflectionInternalError(Intrinsics.stringPlus("Unknown type prefix in the method signature: ", str));
}
}
}
private final Class<?> loadReturnType(String str) {
return parseType(str, StringsKt.indexOf$default((CharSequence) str, ')', 0, false, 6, (Object) null) + 1, str.length());
}
@Metadata(d1 = {"\u0000\u001c\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u001e\u0010\u0003\u001a\u0012\u0012\u0002\b\u0003 \u0005*\b\u0012\u0002\b\u0003\u0018\u00010\u00040\u0004X\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0006\u001a\u00020\u0007X\u0004¢\u0006\b\n\u0000\u001a\u0004\b\b\u0010\t¨\u0006\n"}, d2 = {"Lkotlin/reflect/jvm/internal/KDeclarationContainerImpl$Companion;", "", "()V", "DEFAULT_CONSTRUCTOR_MARKER", "Ljava/lang/Class;", "kotlin.jvm.PlatformType", "LOCAL_PROPERTY_SIGNATURE", "Lkotlin/text/Regex;", "getLOCAL_PROPERTY_SIGNATURE$kotlin_reflection", "()Lkotlin/text/Regex;", "kotlin-reflection"}, k = 1, mv = {1, 6, 0}, xi = 48)
/* compiled from: KDeclarationContainerImpl.kt */
public static final class Companion {
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
public final Regex getLOCAL_PROPERTY_SIGNATURE$kotlin_reflection() {
return KDeclarationContainerImpl.LOCAL_PROPERTY_SIGNATURE;
}
}
}
Download file