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

121 lines
5.5 KiB
Java

package c.e.b;
import c.d.b.a.a;
import h0.a.a.f;
import h0.a.a.q;
import java.lang.reflect.Modifier;
import java.util.Objects;
/* compiled from: ConstructorAccess */
public abstract class b<T> {
public static <T> b<T> a(Class<T> cls) {
Class<?> cls2;
int modifiers;
Class<?> enclosingClass = cls.getEnclosingClass();
boolean z2 = false;
boolean z3 = enclosingClass != null && cls.isMemberClass() && !Modifier.isStatic(cls.getModifiers());
String name = cls.getName();
String u = a.u(name, "ConstructorAccess");
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('.', '/');
String str = null;
if (!z3) {
try {
modifiers = cls.getDeclaredConstructor(null).getModifiers();
if (Modifier.isPrivate(modifiers)) {
throw new RuntimeException("Class cannot be created (the no-arg constructor is private): " + cls.getName());
}
} catch (Exception e) {
throw new RuntimeException("Class cannot be created (missing no-arg constructor): " + cls.getName(), e);
}
} else {
str = enclosingClass.getName().replace('.', '/');
try {
modifiers = cls.getDeclaredConstructor(enclosingClass).getModifiers();
if (Modifier.isPrivate(modifiers)) {
throw new RuntimeException("Non-static member class cannot be created (the enclosing class constructor is private): " + cls.getName());
}
} catch (Exception e2) {
throw new RuntimeException("Non-static member class cannot be created (missing enclosing class constructor): " + cls.getName(), e2);
}
}
String str2 = Modifier.isPublic(modifiers) ? "com/esotericsoftware/reflectasm/PublicConstructorAccess" : "com/esotericsoftware/reflectasm/ConstructorAccess";
f fVar = new f(0);
fVar.c(196653, 33, replace, null, str2, null);
q e3 = fVar.e(1, "<init>", "()V", null, null);
e3.t(25, 0);
e3.o(183, str2, "<init>", "()V");
e3.e(177);
e3.n(1, 1);
q e4 = fVar.e(1, "newInstance", "()Ljava/lang/Object;", null, null);
e4.s(187, replace2);
e4.e(89);
e4.o(183, replace2, "<init>", "()V");
e4.e(176);
e4.n(2, 1);
b(fVar, replace2, str);
cls2 = b.a(u, fVar.b());
}
}
}
try {
b<T> bVar = (b) cls2.newInstance();
if (!(bVar instanceof e)) {
if (cls.getPackage() == cls2.getPackage()) {
ClassLoader classLoader = cls.getClassLoader();
ClassLoader classLoader2 = cls2.getClassLoader();
ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
if (classLoader != null ? !(classLoader2 != null ? classLoader != classLoader2 : classLoader != systemClassLoader) : classLoader2 == null || classLoader2 == systemClassLoader) {
z2 = true;
}
}
if (!z2) {
StringBuilder sb = new StringBuilder();
sb.append(!z3 ? "Class cannot be created (the no-arg constructor is protected or package-protected, and its ConstructorAccess could not be defined in the same class loader): " : "Non-static member class cannot be created (the enclosing class constructor is protected or package-protected, and its ConstructorAccess could not be defined in the same class loader): ");
sb.append(cls.getName());
throw new RuntimeException(sb.toString());
}
}
Objects.requireNonNull(bVar);
return bVar;
} catch (Throwable th) {
throw new RuntimeException(a.u("Exception constructing constructor access class: ", u), th);
}
}
public static void b(f fVar, String str, String str2) {
q e = fVar.e(1, "newInstance", "(Ljava/lang/Object;)Ljava/lang/Object;", null, null);
if (str2 != null) {
e.s(187, str);
e.e(89);
e.t(25, 1);
e.s(192, str2);
e.e(89);
e.o(182, "java/lang/Object", "getClass", "()Ljava/lang/Class;");
e.e(87);
e.o(183, str, "<init>", "(L" + str2 + ";)V");
e.e(176);
e.n(4, 2);
return;
}
e.s(187, "java/lang/UnsupportedOperationException");
e.e(89);
e.j("Not an inner class.");
e.o(183, "java/lang/UnsupportedOperationException", "<init>", "(Ljava/lang/String;)V");
e.e(191);
e.n(3, 2);
}
public abstract T c();
}