package X2; import S2.b; import S2.d; import java.lang.reflect.GenericArrayType; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.util.HashMap; import java.util.Objects; /* loaded from: classes3.dex */ public class a { private final int hashCode; private final Class rawType; private final Type type; public a() { Type genericSuperclass = getClass().getGenericSuperclass(); if (genericSuperclass instanceof ParameterizedType) { ParameterizedType parameterizedType = (ParameterizedType) genericSuperclass; if (parameterizedType.getRawType() == a.class) { Type a2 = d.a(parameterizedType.getActualTypeArguments()[0]); this.type = a2; this.rawType = d.g(a2); this.hashCode = a2.hashCode(); return; } } else if (genericSuperclass == a.class) { throw new IllegalStateException("TypeToken must be created with a type argument: new TypeToken<...>() {}; When using code shrinkers (ProGuard, R8, ...) make sure that generic signatures are preserved."); } throw new IllegalStateException("Must only create direct subclasses of TypeToken"); } public static boolean a(Type type, ParameterizedType parameterizedType, HashMap hashMap) { int i; if (type == null) { return false; } if (parameterizedType.equals(type)) { return true; } Class g4 = d.g(type); ParameterizedType parameterizedType2 = type instanceof ParameterizedType ? (ParameterizedType) type : null; if (parameterizedType2 != null) { Type[] actualTypeArguments = parameterizedType2.getActualTypeArguments(); TypeVariable[] typeParameters = g4.getTypeParameters(); for (int i4 = 0; i4 < actualTypeArguments.length; i4++) { Type type2 = actualTypeArguments[i4]; TypeVariable typeVariable = typeParameters[i4]; while (type2 instanceof TypeVariable) { type2 = (Type) hashMap.get(((TypeVariable) type2).getName()); } hashMap.put(typeVariable.getName(), type2); } if (parameterizedType2.getRawType().equals(parameterizedType.getRawType())) { Type[] actualTypeArguments2 = parameterizedType2.getActualTypeArguments(); Type[] actualTypeArguments3 = parameterizedType.getActualTypeArguments(); for (0; i < actualTypeArguments2.length; i + 1) { Type type3 = actualTypeArguments2[i]; Type type4 = actualTypeArguments3[i]; i = (type4.equals(type3) || ((type3 instanceof TypeVariable) && type4.equals(hashMap.get(((TypeVariable) type3).getName())))) ? i + 1 : 0; } return true; } } for (Type type5 : g4.getGenericInterfaces()) { if (a(type5, parameterizedType, new HashMap(hashMap))) { return true; } } return a(g4.getGenericSuperclass(), parameterizedType, new HashMap(hashMap)); } public static a get(Type type) { return new a(type); } public static a getArray(Type type) { return new a(new S2.a(type)); } public static a getParameterized(Type type, Type... typeArr) { Objects.requireNonNull(type); Objects.requireNonNull(typeArr); if (!(type instanceof Class)) { throw new IllegalArgumentException("rawType must be of type Class, but was " + type); } Class cls = (Class) type; TypeVariable[] typeParameters = cls.getTypeParameters(); int length = typeParameters.length; int length2 = typeArr.length; if (length2 != length) { throw new IllegalArgumentException(cls.getName() + " requires " + length + " type arguments, but got " + length2); } for (int i = 0; i < length; i++) { Type type2 = typeArr[i]; Class g4 = d.g(type2); TypeVariable typeVariable = typeParameters[i]; for (Type type3 : typeVariable.getBounds()) { if (!d.g(type3).isAssignableFrom(g4)) { throw new IllegalArgumentException("Type argument " + type2 + " does not satisfy bounds for type variable " + typeVariable + " declared by " + type); } } } return new a(new b(null, type, typeArr)); } public final boolean equals(Object obj) { return (obj instanceof a) && d.d(this.type, ((a) obj).type); } public final Class getRawType() { return this.rawType; } public final Type getType() { return this.type; } public final int hashCode() { return this.hashCode; } @Deprecated public boolean isAssignableFrom(Class cls) { return isAssignableFrom((Type) cls); } public final String toString() { return d.i(this.type); } public static a get(Class cls) { return new a(cls); } /* JADX WARN: Multi-variable type inference failed */ /* JADX WARN: Type inference failed for: r5v0, types: [java.lang.reflect.Type, java.lang.Object] */ /* JADX WARN: Type inference failed for: r5v11 */ /* JADX WARN: Type inference failed for: r5v12 */ /* JADX WARN: Type inference failed for: r5v5, types: [java.lang.Class] */ /* JADX WARN: Type inference failed for: r5v7, types: [java.lang.reflect.Type] */ /* JADX WARN: Type inference failed for: r5v9, types: [java.lang.reflect.Type] */ @Deprecated public boolean isAssignableFrom(Type type) { boolean z3; if (type != 0) { if (!this.type.equals(type)) { Type type2 = this.type; if (type2 instanceof Class) { return this.rawType.isAssignableFrom(d.g(type)); } if (type2 instanceof ParameterizedType) { return a(type, (ParameterizedType) type2, new HashMap()); } if (type2 instanceof GenericArrayType) { if (this.rawType.isAssignableFrom(d.g(type))) { Type genericComponentType = ((GenericArrayType) this.type).getGenericComponentType(); if (genericComponentType instanceof ParameterizedType) { if (type instanceof GenericArrayType) { type = ((GenericArrayType) type).getGenericComponentType(); } else if (type instanceof Class) { type = (Class) type; while (type.isArray()) { type = type.getComponentType(); } } z3 = a(type, (ParameterizedType) genericComponentType, new HashMap()); } else { z3 = true; } if (z3) { } } } else { Class[] clsArr = {Class.class, ParameterizedType.class, GenericArrayType.class}; StringBuilder sb = new StringBuilder("Unexpected type. Expected one of: "); for (int i = 0; i < 3; i++) { sb.append(clsArr[i].getName()); sb.append(", "); } sb.append("but got: "); sb.append(type2.getClass().getName()); sb.append(", for type token: "); sb.append(type2.toString()); sb.append('.'); throw new AssertionError(sb.toString()); } } return true; } return false; } public a(Type type) { Objects.requireNonNull(type); Type a2 = d.a(type); this.type = a2; this.rawType = d.g(a2); this.hashCode = a2.hashCode(); } @Deprecated public boolean isAssignableFrom(a aVar) { return isAssignableFrom(aVar.getType()); } }