package c.e.b; import c.d.b.a.a; import h0.a.a.f; import h0.a.a.p; import h0.a.a.q; import h0.a.a.w; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.ArrayList; /* compiled from: FieldAccess */ public abstract class c { public String[] a; public static c a(Class cls) { Class cls2; ArrayList arrayList = new ArrayList(); Class cls3 = cls; while (true) { if (cls3 == Object.class) { break; } Field[] declaredFields = cls3.getDeclaredFields(); for (Field field : declaredFields) { int modifiers = field.getModifiers(); if (!Modifier.isStatic(modifiers) && !Modifier.isPrivate(modifiers)) { arrayList.add(field); } } cls3 = cls3.getSuperclass(); } int size = arrayList.size(); String[] strArr = new String[size]; Class[] clsArr = new Class[arrayList.size()]; for (int i = 0; i < size; i++) { strArr[i] = ((Field) arrayList.get(i)).getName(); clsArr[i] = ((Field) arrayList.get(i)).getType(); } String name = cls.getName(); String u = a.u(name, "FieldAccess"); if (u.startsWith("java.")) { u = a.u("reflectasm.", u); } a b = a.b(cls); try { cls2 = b.loadClass(u); } catch (ClassNotFoundException unused) { synchronized (b) { try { cls2 = b.loadClass(u); } catch (ClassNotFoundException unused2) { String replace = u.replace('.', '/'); String replace2 = name.replace('.', '/'); f fVar = new f(0); fVar.c(196653, 33, replace, null, "com/esotericsoftware/reflectasm/FieldAccess", null); q e = fVar.e(1, "", "()V", null, null); e.t(25, 0); e.o(183, "com/esotericsoftware/reflectasm/FieldAccess", "", "()V"); e.e(177); e.n(1, 1); m(fVar, replace2, arrayList); p(fVar, replace2, arrayList); n(fVar, replace2, arrayList, w.b); q(fVar, replace2, arrayList, w.b); n(fVar, replace2, arrayList, w.d); q(fVar, replace2, arrayList, w.d); n(fVar, replace2, arrayList, w.e); q(fVar, replace2, arrayList, w.e); n(fVar, replace2, arrayList, w.f); q(fVar, replace2, arrayList, w.f); n(fVar, replace2, arrayList, w.h); q(fVar, replace2, arrayList, w.h); n(fVar, replace2, arrayList, w.i); q(fVar, replace2, arrayList, w.i); n(fVar, replace2, arrayList, w.g); q(fVar, replace2, arrayList, w.g); n(fVar, replace2, arrayList, w.f2806c); q(fVar, replace2, arrayList, w.f2806c); o(fVar, replace2, arrayList); cls2 = b.a(u, fVar.b()); } } } try { c cVar = (c) cls2.newInstance(); cVar.a = strArr; return cVar; } catch (Throwable th) { throw new RuntimeException(a.u("Error constructing field access class: ", u), th); } } public static void m(f fVar, String str, ArrayList arrayList) { int i; q e = fVar.e(1, "get", "(Ljava/lang/Object;I)Ljava/lang/Object;", null, null); e.t(21, 2); if (!arrayList.isEmpty()) { i = 5; int size = arrayList.size(); p[] pVarArr = new p[size]; for (int i2 = 0; i2 < size; i2++) { pVarArr[i2] = new p(); } p pVar = new p(); e.q(0, size - 1, pVar, pVarArr); for (int i3 = 0; i3 < size; i3++) { Field field = arrayList.get(i3); e.i(pVarArr[i3]); e.c(3, 0, null, 0, null); e.t(25, 1); e.s(192, str); e.b(180, str, field.getName(), w.e(field.getType())); switch (w.j(field.getType()).i()) { case 1: e.o(184, "java/lang/Boolean", "valueOf", "(Z)Ljava/lang/Boolean;"); break; case 2: e.o(184, "java/lang/Character", "valueOf", "(C)Ljava/lang/Character;"); break; case 3: e.o(184, "java/lang/Byte", "valueOf", "(B)Ljava/lang/Byte;"); break; case 4: e.o(184, "java/lang/Short", "valueOf", "(S)Ljava/lang/Short;"); break; case 5: e.o(184, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;"); break; case 6: e.o(184, "java/lang/Float", "valueOf", "(F)Ljava/lang/Float;"); break; case 7: e.o(184, "java/lang/Long", "valueOf", "(J)Ljava/lang/Long;"); break; case 8: e.o(184, "java/lang/Double", "valueOf", "(D)Ljava/lang/Double;"); break; } e.e(176); } e.i(pVar); e.c(3, 0, null, 0, null); } else { i = 6; } r(e); e.n(i, 3); } public static void n(f fVar, String str, ArrayList arrayList, w wVar) { String str2; int i; String d = wVar.d(); int i2 = 172; switch (wVar.i()) { case 1: str2 = "getBoolean"; break; case 2: str2 = "getChar"; break; case 3: str2 = "getByte"; break; case 4: str2 = "getShort"; break; case 5: str2 = "getInt"; break; case 6: i2 = 174; str2 = "getFloat"; break; case 7: i2 = 173; str2 = "getLong"; break; case 8: i2 = 175; str2 = "getDouble"; break; default: i2 = 176; str2 = "get"; break; } q e = fVar.e(1, str2, a.u("(Ljava/lang/Object;I)", d), null, null); e.t(21, 2); if (!arrayList.isEmpty()) { int size = arrayList.size(); p[] pVarArr = new p[size]; p pVar = new p(); boolean z2 = false; for (int i3 = 0; i3 < size; i3++) { if (w.j(arrayList.get(i3).getType()).equals(wVar)) { pVarArr[i3] = new p(); } else { pVarArr[i3] = pVar; z2 = true; } } p pVar2 = new p(); e.q(0, size - 1, pVar2, pVarArr); for (int i4 = 0; i4 < size; i4++) { Field field = arrayList.get(i4); if (!pVarArr[i4].equals(pVar)) { e.i(pVarArr[i4]); e.c(3, 0, null, 0, null); e.t(25, 1); e.s(192, str); e.b(180, str, field.getName(), d); e.e(i2); } } if (z2) { e.i(pVar); e.c(3, 0, null, 0, null); s(e, wVar.c()); } e.i(pVar2); e.c(3, 0, null, 0, null); i = 5; } else { i = 6; } r(e); e.n(i, 3); } public static void o(f fVar, String str, ArrayList arrayList) { int i; q e = fVar.e(1, "getString", "(Ljava/lang/Object;I)Ljava/lang/String;", null, null); e.t(21, 2); if (!arrayList.isEmpty()) { int size = arrayList.size(); p[] pVarArr = new p[size]; p pVar = new p(); boolean z2 = false; for (int i2 = 0; i2 < size; i2++) { if (arrayList.get(i2).getType().equals(String.class)) { pVarArr[i2] = new p(); } else { pVarArr[i2] = pVar; z2 = true; } } p pVar2 = new p(); e.q(0, size - 1, pVar2, pVarArr); for (int i3 = 0; i3 < size; i3++) { if (!pVarArr[i3].equals(pVar)) { e.i(pVarArr[i3]); e.c(3, 0, null, 0, null); e.t(25, 1); e.s(192, str); e.b(180, str, arrayList.get(i3).getName(), "Ljava/lang/String;"); e.e(176); } } if (z2) { e.i(pVar); e.c(3, 0, null, 0, null); s(e, "String"); } e.i(pVar2); e.c(3, 0, null, 0, null); i = 5; } else { i = 6; } r(e); e.n(i, 3); } public static void p(f fVar, String str, ArrayList arrayList) { int i; q e = fVar.e(1, "set", "(Ljava/lang/Object;ILjava/lang/Object;)V", null, null); e.t(21, 2); if (!arrayList.isEmpty()) { i = 5; int size = arrayList.size(); p[] pVarArr = new p[size]; for (int i2 = 0; i2 < size; i2++) { pVarArr[i2] = new p(); } p pVar = new p(); e.q(0, size - 1, pVar, pVarArr); for (int i3 = 0; i3 < size; i3++) { Field field = arrayList.get(i3); w j = w.j(field.getType()); e.i(pVarArr[i3]); e.c(3, 0, null, 0, null); e.t(25, 1); e.s(192, str); e.t(25, 3); switch (j.i()) { case 1: e.s(192, "java/lang/Boolean"); e.o(182, "java/lang/Boolean", "booleanValue", "()Z"); break; case 2: e.s(192, "java/lang/Character"); e.o(182, "java/lang/Character", "charValue", "()C"); break; case 3: e.s(192, "java/lang/Byte"); e.o(182, "java/lang/Byte", "byteValue", "()B"); break; case 4: e.s(192, "java/lang/Short"); e.o(182, "java/lang/Short", "shortValue", "()S"); break; case 5: e.s(192, "java/lang/Integer"); e.o(182, "java/lang/Integer", "intValue", "()I"); break; case 6: e.s(192, "java/lang/Float"); e.o(182, "java/lang/Float", "floatValue", "()F"); break; case 7: e.s(192, "java/lang/Long"); e.o(182, "java/lang/Long", "longValue", "()J"); break; case 8: e.s(192, "java/lang/Double"); e.o(182, "java/lang/Double", "doubleValue", "()D"); break; case 9: e.s(192, j.d()); break; case 10: e.s(192, j.g()); break; } e.b(181, str, field.getName(), j.d()); e.e(177); } e.i(pVar); e.c(3, 0, null, 0, null); } else { i = 6; } r(e); e.n(i, 4); } public static void q(f fVar, String str, ArrayList arrayList, w wVar) { int i; String str2; int i2; int i3; String str3; String str4; String str5; String d = wVar.d(); switch (wVar.i()) { case 1: str4 = "setBoolean"; str3 = str4; i2 = 21; str2 = str3; i = 4; break; case 2: str4 = "setChar"; str3 = str4; i2 = 21; str2 = str3; i = 4; break; case 3: str4 = "setByte"; str3 = str4; i2 = 21; str2 = str3; i = 4; break; case 4: str4 = "setShort"; str3 = str4; i2 = 21; str2 = str3; i = 4; break; case 5: str4 = "setInt"; str3 = str4; i2 = 21; str2 = str3; i = 4; break; case 6: i2 = 23; str3 = "setFloat"; str2 = str3; i = 4; break; case 7: i2 = 22; str5 = "setLong"; str2 = str5; i = 5; break; case 8: i2 = 24; str5 = "setDouble"; str2 = str5; i = 5; break; default: str3 = "set"; i2 = 25; str2 = str3; i = 4; break; } q e = fVar.e(1, str2, a.v("(Ljava/lang/Object;I", d, ")V"), null, null); e.t(21, 2); if (!arrayList.isEmpty()) { int size = arrayList.size(); p[] pVarArr = new p[size]; p pVar = new p(); boolean z2 = false; for (int i4 = 0; i4 < size; i4++) { if (w.j(arrayList.get(i4).getType()).equals(wVar)) { pVarArr[i4] = new p(); } else { pVarArr[i4] = pVar; z2 = true; } } p pVar2 = new p(); e.q(0, size - 1, pVar2, pVarArr); for (int i5 = 0; i5 < size; i5++) { if (!pVarArr[i5].equals(pVar)) { e.i(pVarArr[i5]); e.c(3, 0, null, 0, null); e.t(25, 1); e.s(192, str); e.t(i2, 3); e.b(181, str, arrayList.get(i5).getName(), d); e.e(177); } } if (z2) { e.i(pVar); e.c(3, 0, null, 0, null); s(e, wVar.c()); } e.i(pVar2); e.c(3, 0, null, 0, null); i3 = 5; } else { i3 = 6; } r(e); e.n(i3, i); } public static q r(q qVar) { qVar.s(187, "java/lang/IllegalArgumentException"); qVar.e(89); qVar.s(187, "java/lang/StringBuilder"); qVar.e(89); qVar.j("Field not found: "); qVar.o(183, "java/lang/StringBuilder", "", "(Ljava/lang/String;)V"); qVar.t(21, 2); qVar.o(182, "java/lang/StringBuilder", "append", "(I)Ljava/lang/StringBuilder;"); qVar.o(182, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;"); qVar.o(183, "java/lang/IllegalArgumentException", "", "(Ljava/lang/String;)V"); qVar.e(191); return qVar; } public static q s(q qVar, String str) { qVar.s(187, "java/lang/IllegalArgumentException"); qVar.e(89); qVar.s(187, "java/lang/StringBuilder"); qVar.e(89); qVar.j("Field not declared as " + str + ": "); qVar.o(183, "java/lang/StringBuilder", "", "(Ljava/lang/String;)V"); qVar.t(21, 2); qVar.o(182, "java/lang/StringBuilder", "append", "(I)Ljava/lang/StringBuilder;"); qVar.o(182, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;"); qVar.o(183, "java/lang/IllegalArgumentException", "", "(Ljava/lang/String;)V"); qVar.e(191); return qVar; } public abstract void A(Object obj, int i, long j); public abstract void B(Object obj, int i, short s2); public abstract Object b(Object obj, int i); public abstract boolean c(Object obj, int i); public abstract byte d(Object obj, int i); public abstract char e(Object obj, int i); public abstract double f(Object obj, int i); public abstract float g(Object obj, int i); public int h(String str) { int length = this.a.length; for (int i = 0; i < length; i++) { if (this.a[i].equals(str)) { return i; } } throw new IllegalArgumentException(a.u("Unable to find non-private field: ", str)); } public abstract int i(Object obj, int i); public abstract long j(Object obj, int i); public abstract short k(Object obj, int i); public abstract String l(Object obj, int i); public abstract void t(Object obj, int i, Object obj2); public abstract void u(Object obj, int i, boolean z2); public abstract void v(Object obj, int i, byte b); public abstract void w(Object obj, int i, char c2); public abstract void x(Object obj, int i, double d); public abstract void y(Object obj, int i, float f); public abstract void z(Object obj, int i, int i2); }