public class oadd.javassist.runtime.Desc extends java.lang.Object
{
public static boolean useContextClassLoader;
private static final java.lang.ThreadLocal USE_CONTEXT_CLASS_LOADER_LOCALLY;
public void <init>()
{
oadd.javassist.runtime.Desc v;
v := @this: oadd.javassist.runtime.Desc;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static void setUseContextClassLoaderLocally()
{
java.lang.Boolean v;
java.lang.ThreadLocal v;
v = <oadd.javassist.runtime.Desc: java.lang.ThreadLocal USE_CONTEXT_CLASS_LOADER_LOCALLY>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
return;
}
public static void resetUseContextClassLoaderLocally()
{
java.lang.ThreadLocal v;
v = <oadd.javassist.runtime.Desc: java.lang.ThreadLocal USE_CONTEXT_CLASS_LOADER_LOCALLY>;
virtualinvoke v.<java.lang.ThreadLocal: void remove()>();
return;
}
private static java.lang.Class getClassObject(java.lang.String) throws java.lang.ClassNotFoundException
{
java.lang.ThreadLocal v;
java.lang.Thread v;
java.lang.Class v, v;
java.lang.Object v;
java.lang.ClassLoader v;
java.lang.String v;
boolean v, v;
v := @parameter: java.lang.String;
v = <oadd.javassist.runtime.Desc: boolean useContextClassLoader>;
if v != 0 goto label;
v = <oadd.javassist.runtime.Desc: java.lang.ThreadLocal USE_CONTEXT_CLASS_LOADER_LOCALLY>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
label:
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String,boolean,java.lang.ClassLoader)>(v, 1, v);
return v;
label:
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>(v);
return v;
}
public static java.lang.Class getClazz(java.lang.String)
{
java.lang.Class v;
java.lang.ClassNotFoundException v;
java.lang.RuntimeException v;
java.lang.String v, v, v;
boolean v;
v := @parameter: java.lang.String;
label:
v = staticinvoke <oadd.javassist.runtime.Desc: java.lang.Class getClassObject(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = <oadd.javassist.runtime.Desc: boolean useContextClassLoader>;
v = staticinvoke <java.lang.Boolean: java.lang.String toString(boolean)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("$class: internal error, could not find class \'\u0001\' (Desc.useContextClassLoader: \u)");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.ClassNotFoundException from label to label with label;
}
public static java.lang.Class[] getParams(java.lang.String)
{
int v;
java.lang.Class[] v;
char v;
java.lang.RuntimeException v;
java.lang.String v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v == 40 goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("$sig: internal error");
throw v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <oadd.javassist.runtime.Desc: java.lang.Class[] getType(java.lang.String,int,int,int)>(v, v, 1, 0);
return v;
}
public static java.lang.Class getType(java.lang.String)
{
int v, v;
java.lang.Class[] v;
java.lang.Class v;
java.lang.RuntimeException v;
java.lang.String v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <oadd.javassist.runtime.Desc: java.lang.Class[] getType(java.lang.String,int,int,int)>(v, v, 0, 0);
if v == null goto label;
v = lengthof v;
if v == 1 goto label;
label:
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("$type: internal error");
throw v;
label:
v = v[0];
return v;
}
private static java.lang.Class[] getType(java.lang.String, int, int, int)
{
java.lang.Class[] v, v, v, v;
char v;
int v, v, v, v, v;
java.lang.Class v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
if v < v goto label;
v = newarray (java.lang.Class)[v];
return v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
tableswitch(v)
{
case 66: goto label;
case 67: goto label;
case 68: goto label;
case 69: goto label;
case 70: goto label;
case 71: goto label;
case 72: goto label;
case 73: goto label;
case 74: goto label;
case 75: goto label;
case 76: goto label;
case 77: goto label;
case 78: goto label;
case 79: goto label;
case 80: goto label;
case 81: goto label;
case 82: goto label;
case 83: goto label;
case 84: goto label;
case 85: goto label;
case 86: goto label;
case 87: goto label;
case 88: goto label;
case 89: goto label;
case 90: goto label;
case 91: goto label;
default: goto label;
};
label:
v = <java.lang.Boolean: java.lang.Class TYPE>;
goto label;
label:
v = <java.lang.Character: java.lang.Class TYPE>;
goto label;
label:
v = <java.lang.Byte: java.lang.Class TYPE>;
goto label;
label:
v = <java.lang.Short: java.lang.Class TYPE>;
goto label;
label:
v = <java.lang.Integer: java.lang.Class TYPE>;
goto label;
label:
v = <java.lang.Long: java.lang.Class TYPE>;
goto label;
label:
v = <java.lang.Float: java.lang.Class TYPE>;
goto label;
label:
v = <java.lang.Double: java.lang.Class TYPE>;
goto label;
label:
v = <java.lang.Void: java.lang.Class TYPE>;
goto label;
label:
v = staticinvoke <oadd.javassist.runtime.Desc: java.lang.Class[] getClassType(java.lang.String,int,int,int)>(v, v, v, v);
return v;
label:
v = newarray (java.lang.Class)[v];
return v;
label:
v = v + 1;
v = v + 1;
v = staticinvoke <oadd.javassist.runtime.Desc: java.lang.Class[] getType(java.lang.String,int,int,int)>(v, v, v, v);
v[v] = v;
return v;
}
private static java.lang.Class[] getClassType(java.lang.String, int, int, int)
{
java.lang.IndexOutOfBoundsException v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v;
java.lang.Class[] v;
char v, v, v;
java.lang.RuntimeException v;
java.lang.Class v;
java.lang.ClassNotFoundException v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 91 goto label;
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 76 goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(59, v);
if v >= 0 goto label;
v = new java.lang.IndexOutOfBoundsException;
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>("bad descriptor");
throw v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 76 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
goto label;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
label:
v = v + 1;
v = v + 1;
v = staticinvoke <oadd.javassist.runtime.Desc: java.lang.Class[] getType(java.lang.String,int,int,int)>(v, v, v, v);
label:
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(47, 46);
v = staticinvoke <oadd.javassist.runtime.Desc: java.lang.Class getClassObject(java.lang.String)>(v);
v[v] = v;
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<java.lang.ClassNotFoundException: java.lang.String getMessage()>();
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
catch java.lang.ClassNotFoundException from label to label with label;
}
static void <clinit>()
{
oadd.javassist.runtime.Desc$1 v;
<oadd.javassist.runtime.Desc: boolean useContextClassLoader> = 0;
v = new oadd.javassist.runtime.Desc$1;
specialinvoke v.<oadd.javassist.runtime.Desc$1: void <init>()>();
<oadd.javassist.runtime.Desc: java.lang.ThreadLocal USE_CONTEXT_CLASS_LOADER_LOCALLY> = v;
return;
}
}