discord-jadx/app/src/main/java/c/e/b/d.java

303 lines
14 KiB
Java

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.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
/* compiled from: MethodAccess */
public abstract class d {
public String[] a;
public Class[][] b;
public static void a(Class cls, ArrayList<Method> arrayList) {
Method[] declaredMethods = cls.getDeclaredMethods();
for (Method method : declaredMethods) {
if (!Modifier.isPrivate(method.getModifiers())) {
arrayList.add(method);
}
}
}
public static d b(Class cls) {
Class[][] clsArr;
Class<?> cls2;
String str;
q qVar;
q qVar2;
p pVar;
int i;
p[] pVarArr;
Class[] clsArr2;
String str2;
Class[][] clsArr3;
ArrayList arrayList = new ArrayList();
boolean isInterface = cls.isInterface();
if (!isInterface) {
for (Class cls3 = cls; cls3 != Object.class; cls3 = cls3.getSuperclass()) {
a(cls3, arrayList);
}
} else {
e(cls, arrayList);
}
int size = arrayList.size();
String[] strArr = new String[size];
Class[][] clsArr4 = new Class[size][];
Class[] clsArr5 = new Class[size];
for (int i2 = 0; i2 < size; i2++) {
Method method = (Method) arrayList.get(i2);
strArr[i2] = method.getName();
clsArr4[i2] = method.getParameterTypes();
clsArr5[i2] = method.getReturnType();
}
String name = cls.getName();
String u = a.u(name, "MethodAccess");
if (u.startsWith("java.")) {
u = a.u("reflectasm.", u);
}
a b = a.b(cls);
try {
cls2 = b.loadClass(u);
clsArr = clsArr4;
} catch (ClassNotFoundException unused) {
synchronized (b) {
try {
cls2 = b.loadClass(u);
clsArr = clsArr4;
} catch (ClassNotFoundException unused2) {
String replace = u.replace('.', '/');
String replace2 = name.replace('.', '/');
f fVar = new f(1);
fVar.c(196653, 33, replace, null, "com/esotericsoftware/reflectasm/MethodAccess", null);
q e = fVar.e(1, "<init>", "()V", null, null);
e.t(25, 0);
e.o(183, "com/esotericsoftware/reflectasm/MethodAccess", "<init>", "()V");
e.e(177);
e.n(0, 0);
q e2 = fVar.e(129, "invoke", "(Ljava/lang/Object;I[Ljava/lang/Object;)Ljava/lang/Object;", null, null);
if (!arrayList.isEmpty()) {
e2.t(25, 1);
e2.s(192, replace2);
e2.t(58, 4);
e2.t(21, 2);
p[] pVarArr2 = new p[size];
for (int i3 = 0; i3 < size; i3++) {
pVarArr2[i3] = new p();
}
p pVar2 = new p();
e2.q(0, size - 1, pVar2, pVarArr2);
StringBuilder sb = new StringBuilder(128);
int i4 = 0;
while (i4 < size) {
e2.i(pVarArr2[i4]);
if (i4 == 0) {
i = i4;
pVar = pVar2;
pVarArr = pVarArr2;
qVar2 = e2;
e2.c(1, 1, new Object[]{replace2}, 0, null);
} else {
i = i4;
pVar = pVar2;
pVarArr = pVarArr2;
qVar2 = e2;
qVar2.c(3, 0, null, 0, null);
}
e2 = qVar2;
e2.t(25, 4);
sb.setLength(0);
sb.append('(');
Class[] clsArr6 = clsArr4[i];
Class cls4 = clsArr5[i];
int i5 = 0;
while (i5 < clsArr6.length) {
e2.t(25, 3);
e2.g(16, i5);
e2.e(50);
w j = w.j(clsArr6[i5]);
switch (j.i()) {
case 1:
clsArr3 = clsArr4;
str2 = u;
clsArr2 = clsArr6;
e2.s(192, "java/lang/Boolean");
e2.o(182, "java/lang/Boolean", "booleanValue", "()Z");
break;
case 2:
clsArr3 = clsArr4;
str2 = u;
clsArr2 = clsArr6;
e2.s(192, "java/lang/Character");
e2.o(182, "java/lang/Character", "charValue", "()C");
break;
case 3:
clsArr3 = clsArr4;
str2 = u;
clsArr2 = clsArr6;
e2.s(192, "java/lang/Byte");
e2.o(182, "java/lang/Byte", "byteValue", "()B");
break;
case 4:
clsArr3 = clsArr4;
str2 = u;
clsArr2 = clsArr6;
e2.s(192, "java/lang/Short");
e2.o(182, "java/lang/Short", "shortValue", "()S");
break;
case 5:
clsArr3 = clsArr4;
str2 = u;
clsArr2 = clsArr6;
e2.s(192, "java/lang/Integer");
e2.o(182, "java/lang/Integer", "intValue", "()I");
break;
case 6:
clsArr3 = clsArr4;
str2 = u;
clsArr2 = clsArr6;
e2.s(192, "java/lang/Float");
e2.o(182, "java/lang/Float", "floatValue", "()F");
break;
case 7:
clsArr3 = clsArr4;
str2 = u;
clsArr2 = clsArr6;
e2.s(192, "java/lang/Long");
e2.o(182, "java/lang/Long", "longValue", "()J");
break;
case 8:
clsArr2 = clsArr6;
e2.s(192, "java/lang/Double");
clsArr3 = clsArr4;
str2 = u;
e2.o(182, "java/lang/Double", "doubleValue", "()D");
break;
case 9:
clsArr2 = clsArr6;
e2.s(192, j.d());
clsArr3 = clsArr4;
str2 = u;
break;
case 10:
clsArr2 = clsArr6;
e2.s(192, j.g());
clsArr3 = clsArr4;
str2 = u;
break;
default:
clsArr3 = clsArr4;
str2 = u;
clsArr2 = clsArr6;
break;
}
sb.append(j.d());
i5++;
clsArr6 = clsArr2;
clsArr5 = clsArr5;
clsArr4 = clsArr3;
u = str2;
}
sb.append(')');
sb.append(w.e(cls4));
e2.o(isInterface ? 185 : Modifier.isStatic(((Method) arrayList.get(i)).getModifiers()) ? 184 : 182, replace2, strArr[i], sb.toString());
switch (w.j(cls4).i()) {
case 0:
e2.e(1);
break;
case 1:
e2.o(184, "java/lang/Boolean", "valueOf", "(Z)Ljava/lang/Boolean;");
break;
case 2:
e2.o(184, "java/lang/Character", "valueOf", "(C)Ljava/lang/Character;");
break;
case 3:
e2.o(184, "java/lang/Byte", "valueOf", "(B)Ljava/lang/Byte;");
break;
case 4:
e2.o(184, "java/lang/Short", "valueOf", "(S)Ljava/lang/Short;");
break;
case 5:
e2.o(184, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;");
break;
case 6:
e2.o(184, "java/lang/Float", "valueOf", "(F)Ljava/lang/Float;");
break;
case 7:
e2.o(184, "java/lang/Long", "valueOf", "(J)Ljava/lang/Long;");
break;
case 8:
e2.o(184, "java/lang/Double", "valueOf", "(D)Ljava/lang/Double;");
break;
}
e2.e(176);
i4 = i + 1;
size = size;
pVarArr2 = pVarArr;
clsArr5 = clsArr5;
clsArr4 = clsArr4;
u = u;
pVar2 = pVar;
}
clsArr = clsArr4;
str = u;
e2.i(pVar2);
qVar = e2;
e2.c(3, 0, null, 0, null);
} else {
clsArr = clsArr4;
str = u;
qVar = e2;
}
qVar.s(187, "java/lang/IllegalArgumentException");
qVar.e(89);
qVar.s(187, "java/lang/StringBuilder");
qVar.e(89);
qVar.j("Method not found: ");
qVar.o(183, "java/lang/StringBuilder", "<init>", "(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", "<init>", "(Ljava/lang/String;)V");
qVar.e(191);
qVar.n(0, 0);
u = str;
cls2 = b.a(u, fVar.b());
}
}
}
try {
d dVar = (d) cls2.newInstance();
dVar.a = strArr;
dVar.b = clsArr;
return dVar;
} catch (Throwable th) {
throw new RuntimeException(a.u("Error constructing method access class: ", u), th);
}
}
public static void e(Class cls, ArrayList<Method> arrayList) {
a(cls, arrayList);
for (Class<?> cls2 : cls.getInterfaces()) {
e(cls2, arrayList);
}
}
public int c(String str, Class... clsArr) {
int length = this.a.length;
for (int i = 0; i < length; i++) {
if (this.a[i].equals(str) && Arrays.equals(clsArr, this.b[i])) {
return i;
}
}
StringBuilder Q = a.Q("Unable to find non-private method: ", str, " ");
Q.append(Arrays.toString(clsArr));
throw new IllegalArgumentException(Q.toString());
}
public abstract Object d(Object obj, int i, Object... objArr);
}