CrackMe.apk
Download file
package kotlin.reflect;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import kotlin.Metadata;
import kotlin.collections.ArraysKt;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.Intrinsics;
@Metadata(d1 = {"\u0000D\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0000\n\u0002\u0010\u0011\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0005\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\b\u0003\u0018\u00002\u00020\u00012\u00020\u0002B)\u0012\n\u0010\u0003\u001a\u0006\u0012\u0002\b\u00030\u0004\u0012\b\u0010\u0005\u001a\u0004\u0018\u00010\u0006\u0012\f\u0010\u0007\u001a\b\u0012\u0004\u0012\u00020\u00060\b¢\u0006\u0002\u0010\tJ\u0013\u0010\f\u001a\u00020\r2\b\u0010\u000e\u001a\u0004\u0018\u00010\u000fH\u0002J\u0013\u0010\u0010\u001a\b\u0012\u0004\u0012\u00020\u00060\nH\u0016¢\u0006\u0002\u0010\u0011J\n\u0010\u0012\u001a\u0004\u0018\u00010\u0006H\u0016J\b\u0010\u0013\u001a\u00020\u0006H\u0016J\b\u0010\u0014\u001a\u00020\u0015H\u0016J\b\u0010\u0016\u001a\u00020\u0017H\u0016J\b\u0010\u0018\u001a\u00020\u0015H\u0016R\u0010\u0010\u0005\u001a\u0004\u0018\u00010\u0006X\u0004¢\u0006\u0002\n\u0000R\u0012\u0010\u0003\u001a\u0006\u0012\u0002\b\u00030\u0004X\u0004¢\u0006\u0002\n\u0000R\u0016\u0010\u0007\u001a\b\u0012\u0004\u0012\u00020\u00060\nX\u0004¢\u0006\u0004\n\u0002\u0010\u000b¨\u0006\u0019"}, d2 = {"Lkotlin/reflect/ParameterizedTypeImpl;", "Ljava/lang/reflect/ParameterizedType;", "Lkotlin/reflect/TypeImpl;", "rawType", "Ljava/lang/Class;", "ownerType", "Ljava/lang/reflect/Type;", "typeArguments", "", "(Ljava/lang/Class;Ljava/lang/reflect/Type;Ljava/util/List;)V", "", "[Ljava/lang/reflect/Type;", "equals", "", "other", "", "getActualTypeArguments", "()[Ljava/lang/reflect/Type;", "getOwnerType", "getRawType", "getTypeName", "", "hashCode", "", "toString", "kotlin-stdlib"}, k = 1, mv = {1, 6, 0}, xi = 48)
/* compiled from: TypesJVM.kt */
final class ParameterizedTypeImpl implements ParameterizedType, TypeImpl {
private final Type ownerType;
private final Class<?> rawType;
private final Type[] typeArguments;
public ParameterizedTypeImpl(Class<?> cls, Type type, List<? extends Type> list) {
Intrinsics.checkNotNullParameter(cls, "rawType");
Intrinsics.checkNotNullParameter(list, "typeArguments");
this.rawType = cls;
this.ownerType = type;
Object[] array = list.toArray(new Type[0]);
Objects.requireNonNull(array, "null cannot be cast to non-null type kotlin.Array<T of kotlin.collections.ArraysKt__ArraysJVMKt.toTypedArray>");
this.typeArguments = (Type[]) array;
}
public Type getRawType() {
return this.rawType;
}
public Type getOwnerType() {
return this.ownerType;
}
public Type[] getActualTypeArguments() {
return this.typeArguments;
}
public String getTypeName() {
StringBuilder sb = new StringBuilder();
Type type = this.ownerType;
if (type != null) {
sb.append(TypesJVMKt.typeToString(type));
sb.append("$");
sb.append(this.rawType.getSimpleName());
} else {
sb.append(TypesJVMKt.typeToString(this.rawType));
}
Type[] typeArr = this.typeArguments;
if (!(typeArr.length == 0)) {
ArraysKt.joinTo$default((Object[]) typeArr, (Appendable) sb, (CharSequence) null, (CharSequence) "<", (CharSequence) ">", 0, (CharSequence) null, (Function1) ParameterizedTypeImpl$getTypeName$1$1.INSTANCE, 50, (Object) null);
}
String sb2 = sb.toString();
Intrinsics.checkNotNullExpressionValue(sb2, "StringBuilder().apply(builderAction).toString()");
return sb2;
}
public boolean equals(Object obj) {
if (obj instanceof ParameterizedType) {
ParameterizedType parameterizedType = (ParameterizedType) obj;
return Intrinsics.areEqual((Object) this.rawType, (Object) parameterizedType.getRawType()) && Intrinsics.areEqual((Object) this.ownerType, (Object) parameterizedType.getOwnerType()) && Arrays.equals(getActualTypeArguments(), parameterizedType.getActualTypeArguments());
}
}
public int hashCode() {
int hashCode = this.rawType.hashCode();
Type type = this.ownerType;
return (hashCode ^ (type != null ? type.hashCode() : 0)) ^ Arrays.hashCode(getActualTypeArguments());
}
public String toString() {
return getTypeName();
}
}
Download file