public class javassist.ClassPool extends java.lang.Object
{
public boolean childFirstLookup;
public static boolean doPruning;
private int compressCount;
private static final int COMPRESS_THRESHOLD;
public static boolean releaseUnmodifiedClassFile;
public static boolean cacheOpenedJarFile;
protected javassist.ClassPoolTail source;
protected javassist.ClassPool parent;
protected java.util.Hashtable classes;
private java.util.Hashtable cflow;
private static final int INIT_HASH_SIZE;
private java.util.ArrayList importedPackages;
private static javassist.ClassPool defaultPool;
public void <init>()
{
javassist.ClassPool v;
v := @this: javassist.ClassPool;
specialinvoke v.<javassist.ClassPool: void <init>(javassist.ClassPool)>(null);
return;
}
public void <init>(boolean)
{
boolean v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: boolean;
specialinvoke v.<javassist.ClassPool: void <init>(javassist.ClassPool)>(null);
if v == 0 goto label;
virtualinvoke v.<javassist.ClassPool: javassist.ClassPath appendSystemPath()>();
label:
return;
}
public void <init>(javassist.ClassPool)
{
javassist.CtClass v, v;
javassist.ClassPoolTail v;
int v, v;
javassist.CtClass[] v;
java.lang.String v;
java.util.Hashtable v, v;
javassist.ClassPool v, v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.ClassPool;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<javassist.ClassPool: boolean childFirstLookup> = 0;
v.<javassist.ClassPool: java.util.Hashtable cflow> = null;
v = new java.util.Hashtable;
specialinvoke v.<java.util.Hashtable: void <init>(int)>(191);
v.<javassist.ClassPool: java.util.Hashtable classes> = v;
v = new javassist.ClassPoolTail;
specialinvoke v.<javassist.ClassPoolTail: void <init>()>();
v.<javassist.ClassPool: javassist.ClassPoolTail source> = v;
v.<javassist.ClassPool: javassist.ClassPool parent> = v;
if v != null goto label;
v = <javassist.CtClass: javassist.CtClass[] primitiveTypes>;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v.<javassist.ClassPool: java.util.Hashtable classes>;
v = v[v];
v = virtualinvoke v.<javassist.CtClass: java.lang.String getName()>();
v = v[v];
virtualinvoke v.<java.util.Hashtable: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
v.<javassist.ClassPool: java.util.Hashtable cflow> = null;
v.<javassist.ClassPool: int compressCount> = 0;
virtualinvoke v.<javassist.ClassPool: void clearImportedPackages()>();
return;
}
public static synchronized javassist.ClassPool getDefault()
{
javassist.ClassPool v, v, v, v;
v = <javassist.ClassPool: javassist.ClassPool defaultPool>;
if v != null goto label;
v = new javassist.ClassPool;
specialinvoke v.<javassist.ClassPool: void <init>(javassist.ClassPool)>(null);
<javassist.ClassPool: javassist.ClassPool defaultPool> = v;
v = <javassist.ClassPool: javassist.ClassPool defaultPool>;
virtualinvoke v.<javassist.ClassPool: javassist.ClassPath appendSystemPath()>();
label:
v = <javassist.ClassPool: javassist.ClassPool defaultPool>;
return v;
}
protected javassist.CtClass getCached(java.lang.String)
{
java.lang.Object v;
java.lang.String v;
java.util.Hashtable v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = v.<javassist.ClassPool: java.util.Hashtable classes>;
v = virtualinvoke v.<java.util.Hashtable: java.lang.Object get(java.lang.Object)>(v);
return v;
}
protected void cacheCtClass(java.lang.String, javassist.CtClass, boolean)
{
java.lang.String v;
javassist.CtClass v;
java.util.Hashtable v;
boolean v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v := @parameter: javassist.CtClass;
v := @parameter: boolean;
v = v.<javassist.ClassPool: java.util.Hashtable classes>;
virtualinvoke v.<java.util.Hashtable: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
protected javassist.CtClass removeCached(java.lang.String)
{
java.lang.Object v;
java.lang.String v;
java.util.Hashtable v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = v.<javassist.ClassPool: java.util.Hashtable classes>;
v = virtualinvoke v.<java.util.Hashtable: java.lang.Object remove(java.lang.Object)>(v);
return v;
}
public java.lang.String toString()
{
java.lang.String v;
javassist.ClassPool v;
javassist.ClassPoolTail v;
v := @this: javassist.ClassPool;
v = v.<javassist.ClassPool: javassist.ClassPoolTail source>;
v = virtualinvoke v.<javassist.ClassPoolTail: java.lang.String toString()>();
return v;
}
void compress()
{
java.util.Enumeration v;
int v, v;
java.lang.Object v;
java.util.Hashtable v;
boolean v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v = v.<javassist.ClassPool: int compressCount>;
v = v + 1;
v.<javassist.ClassPool: int compressCount> = v;
if v <= 100 goto label;
v.<javassist.ClassPool: int compressCount> = 0;
v = v.<javassist.ClassPool: java.util.Hashtable classes>;
v = virtualinvoke v.<java.util.Hashtable: java.util.Enumeration elements()>();
label:
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
virtualinvoke v.<javassist.CtClass: void compress()>();
goto label;
label:
return;
}
public void importPackage(java.lang.String)
{
java.lang.String v;
java.util.ArrayList v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = v.<javassist.ClassPool: java.util.ArrayList importedPackages>;
virtualinvoke v.<java.util.ArrayList: boolean add(java.lang.Object)>(v);
return;
}
public void clearImportedPackages()
{
java.util.ArrayList v, v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<javassist.ClassPool: java.util.ArrayList importedPackages> = v;
v = v.<javassist.ClassPool: java.util.ArrayList importedPackages>;
virtualinvoke v.<java.util.ArrayList: boolean add(java.lang.Object)>("java.lang");
return;
}
public java.util.Iterator getImportedPackages()
{
java.util.Iterator v;
java.util.ArrayList v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v = v.<javassist.ClassPool: java.util.ArrayList importedPackages>;
v = virtualinvoke v.<java.util.ArrayList: java.util.Iterator iterator()>();
return v;
}
public void recordInvalidClassName(java.lang.String)
{
java.lang.String v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
return;
}
void recordCflow(java.lang.String, java.lang.String, java.lang.String)
{
java.lang.Object[] v;
java.lang.String v, v, v;
java.util.Hashtable v, v, v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<javassist.ClassPool: java.util.Hashtable cflow>;
if v != null goto label;
v = new java.util.Hashtable;
specialinvoke v.<java.util.Hashtable: void <init>()>();
v.<javassist.ClassPool: java.util.Hashtable cflow> = v;
label:
v = v.<javassist.ClassPool: java.util.Hashtable cflow>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
virtualinvoke v.<java.util.Hashtable: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public java.lang.Object[] lookupCflow(java.lang.String)
{
java.lang.Object v;
java.lang.String v;
java.util.Hashtable v, v, v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = v.<javassist.ClassPool: java.util.Hashtable cflow>;
if v != null goto label;
v = new java.util.Hashtable;
specialinvoke v.<java.util.Hashtable: void <init>()>();
v.<javassist.ClassPool: java.util.Hashtable cflow> = v;
label:
v = v.<javassist.ClassPool: java.util.Hashtable cflow>;
v = virtualinvoke v.<java.util.Hashtable: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public javassist.CtClass getAndRename(java.lang.String, java.lang.String) throws javassist.NotFoundException
{
javassist.NotFoundException v;
java.lang.String v, v;
javassist.CtClass v;
boolean v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass get0(java.lang.String,boolean)>(v, 0);
if v != null goto label;
v = new javassist.NotFoundException;
specialinvoke v.<javassist.NotFoundException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v instanceof javassist.CtClassType;
if v == 0 goto label;
virtualinvoke v.<javassist.CtClassType: void setClassPool(javassist.ClassPool)>(v);
label:
virtualinvoke v.<javassist.CtClass: void setName(java.lang.String)>(v);
return v;
}
synchronized void classNameChanged(java.lang.String, javassist.CtClass)
{
java.lang.String v, v;
javassist.CtClass v, v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v := @parameter: javassist.CtClass;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass getCached(java.lang.String)>(v);
if v != v goto label;
virtualinvoke v.<javassist.ClassPool: javassist.CtClass removeCached(java.lang.String)>(v);
label:
v = virtualinvoke v.<javassist.CtClass: java.lang.String getName()>();
virtualinvoke v.<javassist.ClassPool: void checkNotFrozen(java.lang.String)>(v);
virtualinvoke v.<javassist.ClassPool: void cacheCtClass(java.lang.String,javassist.CtClass,boolean)>(v, v, 0);
return;
}
public javassist.CtClass get(java.lang.String) throws javassist.NotFoundException
{
javassist.NotFoundException v;
java.lang.String v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass get0(java.lang.String,boolean)>(v, 1);
label:
if v != null goto label;
v = new javassist.NotFoundException;
specialinvoke v.<javassist.NotFoundException: void <init>(java.lang.String)>(v);
throw v;
label:
virtualinvoke v.<javassist.CtClass: void incGetCounter()>();
return v;
}
public javassist.CtClass getOrNull(java.lang.String)
{
javassist.NotFoundException v;
java.lang.String v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = null;
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass get0(java.lang.String,boolean)>(v, 1);
label:
goto label;
label:
v := @caughtexception;
label:
if v == null goto label;
virtualinvoke v.<javassist.CtClass: void incGetCounter()>();
label:
return v;
catch javassist.NotFoundException from label to label with label;
}
public javassist.CtClass getCtClass(java.lang.String) throws javassist.NotFoundException
{
char v;
java.lang.String v;
javassist.CtClass v, v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v != 91 goto label;
v = staticinvoke <javassist.bytecode.Descriptor: javassist.CtClass toCtClass(java.lang.String,javassist.ClassPool)>(v, v);
return v;
label:
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass get(java.lang.String)>(v);
return v;
}
protected synchronized javassist.CtClass get0(java.lang.String, boolean) throws javassist.NotFoundException
{
javassist.CtClass v, v, v;
java.lang.String v, v;
boolean v, v, v;
javassist.ClassPool v, v, v, v, v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v := @parameter: boolean;
if v == 0 goto label;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass getCached(java.lang.String)>(v);
if v == null goto label;
return v;
label:
v = v.<javassist.ClassPool: boolean childFirstLookup>;
if v != 0 goto label;
v = v.<javassist.ClassPool: javassist.ClassPool parent>;
if v == null goto label;
v = v.<javassist.ClassPool: javassist.ClassPool parent>;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass get0(java.lang.String,boolean)>(v, v);
if v == null goto label;
return v;
label:
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass createCtClass(java.lang.String,boolean)>(v, v);
if v == null goto label;
if v == 0 goto label;
v = virtualinvoke v.<javassist.CtClass: java.lang.String getName()>();
virtualinvoke v.<javassist.ClassPool: void cacheCtClass(java.lang.String,javassist.CtClass,boolean)>(v, v, 0);
label:
return v;
label:
v = v.<javassist.ClassPool: boolean childFirstLookup>;
if v == 0 goto label;
v = v.<javassist.ClassPool: javassist.ClassPool parent>;
if v == null goto label;
v = v.<javassist.ClassPool: javassist.ClassPool parent>;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass get0(java.lang.String,boolean)>(v, v);
label:
return v;
}
protected javassist.CtClass createCtClass(java.lang.String, boolean)
{
javassist.CtClassType v;
java.net.URL v, v;
char v;
javassist.CtClass v;
javassist.CtArray v;
int v;
java.lang.String v, v;
boolean v, v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v != 91 goto label;
v = staticinvoke <javassist.bytecode.Descriptor: java.lang.String toClassName(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("[]");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(91);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
if v == 0 goto label;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass getCached(java.lang.String)>(v);
if v != null goto label;
label:
v = virtualinvoke v.<javassist.ClassPool: java.net.URL find(java.lang.String)>(v);
if v != null goto label;
return null;
label:
v = new javassist.CtArray;
specialinvoke v.<javassist.CtArray: void <init>(java.lang.String,javassist.ClassPool)>(v, v);
return v;
label:
v = virtualinvoke v.<javassist.ClassPool: java.net.URL find(java.lang.String)>(v);
if v != null goto label;
return null;
label:
v = new javassist.CtClassType;
specialinvoke v.<javassist.CtClassType: void <init>(java.lang.String,javassist.ClassPool)>(v, v);
return v;
}
public java.net.URL find(java.lang.String)
{
java.net.URL v;
javassist.ClassPoolTail v;
java.lang.String v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = v.<javassist.ClassPool: javassist.ClassPoolTail source>;
v = virtualinvoke v.<javassist.ClassPoolTail: java.net.URL find(java.lang.String)>(v);
return v;
}
void checkNotFrozen(java.lang.String) throws java.lang.RuntimeException
{
java.lang.RuntimeException v, v;
javassist.CtClass v;
javassist.NotFoundException v;
java.lang.String v, v, v;
boolean v, v;
javassist.ClassPool v, v, v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass getCached(java.lang.String)>(v);
if v != null goto label;
v = v.<javassist.ClassPool: boolean childFirstLookup>;
if v != 0 goto label;
v = v.<javassist.ClassPool: javassist.ClassPool parent>;
if v == null goto label;
label:
v = v.<javassist.ClassPool: javassist.ClassPool parent>;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass get0(java.lang.String,boolean)>(v, 1);
label:
goto label;
label:
v := @caughtexception;
label:
if v == null goto label;
v = new java.lang.RuntimeException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("\u is in a parent ClassPool.  Use the parent.");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<javassist.CtClass: boolean isFrozen()>();
if v == 0 goto label;
v = new java.lang.RuntimeException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("\u0001: frozen class (cannot edit)");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch javassist.NotFoundException from label to label with label;
}
javassist.CtClass checkNotExists(java.lang.String)
{
javassist.NotFoundException v;
java.lang.String v;
javassist.CtClass v;
boolean v;
javassist.ClassPool v, v, v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass getCached(java.lang.String)>(v);
if v != null goto label;
v = v.<javassist.ClassPool: boolean childFirstLookup>;
if v != 0 goto label;
v = v.<javassist.ClassPool: javassist.ClassPool parent>;
if v == null goto label;
label:
v = v.<javassist.ClassPool: javassist.ClassPool parent>;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass get0(java.lang.String,boolean)>(v, 1);
label:
goto label;
label:
v := @caughtexception;
label:
return v;
catch javassist.NotFoundException from label to label with label;
}
java.io.InputStream openClassfile(java.lang.String) throws javassist.NotFoundException
{
javassist.ClassPoolTail v;
java.lang.String v;
java.io.InputStream v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = v.<javassist.ClassPool: javassist.ClassPoolTail source>;
v = virtualinvoke v.<javassist.ClassPoolTail: java.io.InputStream openClassfile(java.lang.String)>(v);
return v;
}
void writeClassfile(java.lang.String, java.io.OutputStream) throws javassist.NotFoundException, java.io.IOException, javassist.CannotCompileException
{
java.io.OutputStream v;
javassist.ClassPoolTail v;
java.lang.String v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v := @parameter: java.io.OutputStream;
v = v.<javassist.ClassPool: javassist.ClassPoolTail source>;
virtualinvoke v.<javassist.ClassPoolTail: void writeClassfile(java.lang.String,java.io.OutputStream)>(v, v);
return;
}
public javassist.CtClass[] get(java.lang.String[]) throws javassist.NotFoundException
{
java.lang.String[] v;
javassist.CtClass v;
int v, v;
javassist.CtClass[] v, v;
java.lang.String v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String[];
if v != null goto label;
v = newarray (javassist.CtClass)[0];
return v;
label:
v = lengthof v;
v = newarray (javassist.CtClass)[v];
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass get(java.lang.String)>(v);
v[v] = v;
v = v + 1;
goto label;
label:
return v;
}
public javassist.CtMethod getMethod(java.lang.String, java.lang.String) throws javassist.NotFoundException
{
javassist.CtMethod v;
java.lang.String v, v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass get(java.lang.String)>(v);
v = virtualinvoke v.<javassist.CtClass: javassist.CtMethod getDeclaredMethod(java.lang.String)>(v);
return v;
}
public javassist.CtClass makeClass(java.io.InputStream) throws java.io.IOException, java.lang.RuntimeException
{
javassist.CtClass v;
java.io.InputStream v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.io.InputStream;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass makeClass(java.io.InputStream,boolean)>(v, 1);
return v;
}
public javassist.CtClass makeClass(java.io.InputStream, boolean) throws java.io.IOException, java.lang.RuntimeException
{
java.io.BufferedInputStream v;
javassist.CtClassType v;
java.lang.String v;
boolean v;
java.io.InputStream v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.io.InputStream;
v := @parameter: boolean;
virtualinvoke v.<javassist.ClassPool: void compress()>();
v = new java.io.BufferedInputStream;
specialinvoke v.<java.io.BufferedInputStream: void <init>(java.io.InputStream)>(v);
v = new javassist.CtClassType;
specialinvoke v.<javassist.CtClassType: void <init>(java.io.InputStream,javassist.ClassPool)>(v, v);
virtualinvoke v.<javassist.CtClass: void checkModify()>();
v = virtualinvoke v.<javassist.CtClass: java.lang.String getName()>();
if v == 0 goto label;
virtualinvoke v.<javassist.ClassPool: void checkNotFrozen(java.lang.String)>(v);
label:
virtualinvoke v.<javassist.ClassPool: void cacheCtClass(java.lang.String,javassist.CtClass,boolean)>(v, v, 1);
return v;
}
public javassist.CtClass makeClass(javassist.bytecode.ClassFile) throws java.lang.RuntimeException
{
javassist.CtClass v;
javassist.bytecode.ClassFile v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.bytecode.ClassFile;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass makeClass(javassist.bytecode.ClassFile,boolean)>(v, 1);
return v;
}
public javassist.CtClass makeClass(javassist.bytecode.ClassFile, boolean) throws java.lang.RuntimeException
{
javassist.CtClassType v;
javassist.bytecode.ClassFile v;
java.lang.String v;
boolean v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.bytecode.ClassFile;
v := @parameter: boolean;
virtualinvoke v.<javassist.ClassPool: void compress()>();
v = new javassist.CtClassType;
specialinvoke v.<javassist.CtClassType: void <init>(javassist.bytecode.ClassFile,javassist.ClassPool)>(v, v);
virtualinvoke v.<javassist.CtClass: void checkModify()>();
v = virtualinvoke v.<javassist.CtClass: java.lang.String getName()>();
if v == 0 goto label;
virtualinvoke v.<javassist.ClassPool: void checkNotFrozen(java.lang.String)>(v);
label:
virtualinvoke v.<javassist.ClassPool: void cacheCtClass(java.lang.String,javassist.CtClass,boolean)>(v, v, 1);
return v;
}
public javassist.CtClass makeClassIfNew(java.io.InputStream) throws java.io.IOException, java.lang.RuntimeException
{
java.io.BufferedInputStream v;
javassist.CtClassType v;
java.lang.String v;
javassist.CtClass v;
java.io.InputStream v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.io.InputStream;
virtualinvoke v.<javassist.ClassPool: void compress()>();
v = new java.io.BufferedInputStream;
specialinvoke v.<java.io.BufferedInputStream: void <init>(java.io.InputStream)>(v);
v = new javassist.CtClassType;
specialinvoke v.<javassist.CtClassType: void <init>(java.io.InputStream,javassist.ClassPool)>(v, v);
virtualinvoke v.<javassist.CtClass: void checkModify()>();
v = virtualinvoke v.<javassist.CtClass: java.lang.String getName()>();
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass checkNotExists(java.lang.String)>(v);
if v == null goto label;
return v;
label:
virtualinvoke v.<javassist.ClassPool: void cacheCtClass(java.lang.String,javassist.CtClass,boolean)>(v, v, 1);
return v;
}
public javassist.CtClass makeClass(java.lang.String) throws java.lang.RuntimeException
{
java.lang.String v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass makeClass(java.lang.String,javassist.CtClass)>(v, null);
return v;
}
public synchronized javassist.CtClass makeClass(java.lang.String, javassist.CtClass) throws java.lang.RuntimeException
{
javassist.CtNewClass v;
java.lang.String v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v := @parameter: javassist.CtClass;
virtualinvoke v.<javassist.ClassPool: void checkNotFrozen(java.lang.String)>(v);
v = new javassist.CtNewClass;
specialinvoke v.<javassist.CtNewClass: void <init>(java.lang.String,javassist.ClassPool,boolean,javassist.CtClass)>(v, v, 0, v);
virtualinvoke v.<javassist.ClassPool: void cacheCtClass(java.lang.String,javassist.CtClass,boolean)>(v, v, 1);
return v;
}
synchronized javassist.CtClass makeNestedClass(java.lang.String)
{
javassist.CtNewClass v;
java.lang.String v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
virtualinvoke v.<javassist.ClassPool: void checkNotFrozen(java.lang.String)>(v);
v = new javassist.CtNewClass;
specialinvoke v.<javassist.CtNewClass: void <init>(java.lang.String,javassist.ClassPool,boolean,javassist.CtClass)>(v, v, 0, null);
virtualinvoke v.<javassist.ClassPool: void cacheCtClass(java.lang.String,javassist.CtClass,boolean)>(v, v, 1);
return v;
}
public javassist.CtClass makeInterface(java.lang.String) throws java.lang.RuntimeException
{
java.lang.String v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass makeInterface(java.lang.String,javassist.CtClass)>(v, null);
return v;
}
public synchronized javassist.CtClass makeInterface(java.lang.String, javassist.CtClass) throws java.lang.RuntimeException
{
javassist.CtNewClass v;
java.lang.String v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v := @parameter: javassist.CtClass;
virtualinvoke v.<javassist.ClassPool: void checkNotFrozen(java.lang.String)>(v);
v = new javassist.CtNewClass;
specialinvoke v.<javassist.CtNewClass: void <init>(java.lang.String,javassist.ClassPool,boolean,javassist.CtClass)>(v, v, 1, v);
virtualinvoke v.<javassist.ClassPool: void cacheCtClass(java.lang.String,javassist.CtClass,boolean)>(v, v, 1);
return v;
}
public javassist.CtClass makeAnnotation(java.lang.String) throws java.lang.RuntimeException
{
java.lang.RuntimeException v;
javassist.CtClass v, v;
int v, v;
javassist.NotFoundException v;
java.lang.String v, v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
label:
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass get(java.lang.String)>("java.lang.annotation.Annotation");
v = virtualinvoke v.<javassist.ClassPool: javassist.CtClass makeInterface(java.lang.String,javassist.CtClass)>(v, v);
v = virtualinvoke v.<javassist.CtClass: int getModifiers()>();
v = v | 8192;
virtualinvoke v.<javassist.CtClass: void setModifiers(int)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<javassist.NotFoundException: java.lang.String getMessage()>();
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch javassist.NotFoundException from label to label with label;
}
public javassist.ClassPath appendSystemPath()
{
javassist.ClassPath v;
javassist.ClassPool v;
javassist.ClassPoolTail v;
v := @this: javassist.ClassPool;
v = v.<javassist.ClassPool: javassist.ClassPoolTail source>;
v = virtualinvoke v.<javassist.ClassPoolTail: javassist.ClassPath appendSystemPath()>();
return v;
}
public javassist.ClassPath insertClassPath(javassist.ClassPath)
{
javassist.ClassPath v, v;
javassist.ClassPoolTail v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.ClassPath;
v = v.<javassist.ClassPool: javassist.ClassPoolTail source>;
v = virtualinvoke v.<javassist.ClassPoolTail: javassist.ClassPath insertClassPath(javassist.ClassPath)>(v);
return v;
}
public javassist.ClassPath appendClassPath(javassist.ClassPath)
{
javassist.ClassPath v, v;
javassist.ClassPoolTail v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.ClassPath;
v = v.<javassist.ClassPool: javassist.ClassPoolTail source>;
v = virtualinvoke v.<javassist.ClassPoolTail: javassist.ClassPath appendClassPath(javassist.ClassPath)>(v);
return v;
}
public javassist.ClassPath insertClassPath(java.lang.String) throws javassist.NotFoundException
{
javassist.ClassPath v;
javassist.ClassPoolTail v;
java.lang.String v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = v.<javassist.ClassPool: javassist.ClassPoolTail source>;
v = virtualinvoke v.<javassist.ClassPoolTail: javassist.ClassPath insertClassPath(java.lang.String)>(v);
return v;
}
public javassist.ClassPath appendClassPath(java.lang.String) throws javassist.NotFoundException
{
javassist.ClassPath v;
javassist.ClassPoolTail v;
java.lang.String v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = v.<javassist.ClassPool: javassist.ClassPoolTail source>;
v = virtualinvoke v.<javassist.ClassPoolTail: javassist.ClassPath appendClassPath(java.lang.String)>(v);
return v;
}
public void removeClassPath(javassist.ClassPath)
{
javassist.ClassPath v;
javassist.ClassPool v;
javassist.ClassPoolTail v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.ClassPath;
v = v.<javassist.ClassPool: javassist.ClassPoolTail source>;
virtualinvoke v.<javassist.ClassPoolTail: void removeClassPath(javassist.ClassPath)>(v);
return;
}
public void appendPathList(java.lang.String) throws javassist.NotFoundException
{
int v, v;
char v;
java.lang.String v, v, v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.String;
v = <java.io.File: char pathSeparatorChar>;
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(v, v);
if v >= 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
virtualinvoke v.<javassist.ClassPool: javassist.ClassPath appendClassPath(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
virtualinvoke v.<javassist.ClassPool: javassist.ClassPath appendClassPath(java.lang.String)>(v);
v = v + 1;
goto label;
label:
return;
}
public java.lang.Class toClass(javassist.CtClass) throws javassist.CannotCompileException
{
java.lang.Class v;
java.lang.ClassLoader v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.CtClass;
v = virtualinvoke v.<javassist.ClassPool: java.lang.ClassLoader getClassLoader()>();
v = virtualinvoke v.<javassist.ClassPool: java.lang.Class toClass(javassist.CtClass,java.lang.ClassLoader)>(v, v);
return v;
}
public java.lang.ClassLoader getClassLoader()
{
java.lang.ClassLoader v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v = staticinvoke <javassist.ClassPool: java.lang.ClassLoader getContextClassLoader()>();
return v;
}
static java.lang.ClassLoader getContextClassLoader()
{
java.lang.ClassLoader v;
java.lang.Thread v;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
return v;
}
public java.lang.Class toClass(javassist.CtClass, java.lang.ClassLoader) throws javassist.CannotCompileException
{
java.lang.Class v;
java.lang.ClassLoader v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.CtClass;
v := @parameter: java.lang.ClassLoader;
v = virtualinvoke v.<javassist.ClassPool: java.lang.Class toClass(javassist.CtClass,java.lang.Class,java.lang.ClassLoader,java.security.ProtectionDomain)>(v, null, v, null);
return v;
}
public java.lang.Class toClass(javassist.CtClass, java.lang.ClassLoader, java.security.ProtectionDomain) throws javassist.CannotCompileException
{
java.security.ProtectionDomain v;
java.lang.Class v;
java.lang.ClassLoader v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.CtClass;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.security.ProtectionDomain;
v = virtualinvoke v.<javassist.ClassPool: java.lang.Class toClass(javassist.CtClass,java.lang.Class,java.lang.ClassLoader,java.security.ProtectionDomain)>(v, null, v, v);
return v;
}
public java.lang.Class toClass(javassist.CtClass, java.lang.Class) throws javassist.CannotCompileException
{
byte[] v;
javassist.CannotCompileException v;
java.io.IOException v;
java.lang.Class v, v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.CtClass;
v := @parameter: java.lang.Class;
label:
v = virtualinvoke v.<javassist.CtClass: byte[] toBytecode()>();
v = staticinvoke <javassist.util.proxy.DefineClassHelper: java.lang.Class toClass(java.lang.Class,byte[])>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new javassist.CannotCompileException;
specialinvoke v.<javassist.CannotCompileException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.io.IOException from label to label with label;
}
public java.lang.Class toClass(javassist.CtClass, java.lang.invoke.MethodHandles$Lookup) throws javassist.CannotCompileException
{
byte[] v;
javassist.CannotCompileException v;
java.lang.invoke.MethodHandles$Lookup v;
java.io.IOException v;
java.lang.Class v;
javassist.CtClass v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.CtClass;
v := @parameter: java.lang.invoke.MethodHandles$Lookup;
label:
v = virtualinvoke v.<javassist.CtClass: byte[] toBytecode()>();
v = staticinvoke <javassist.util.proxy.DefineClassHelper: java.lang.Class toClass(java.lang.invoke.MethodHandles$Lookup,byte[])>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new javassist.CannotCompileException;
specialinvoke v.<javassist.CannotCompileException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.io.IOException from label to label with label;
}
public java.lang.Class toClass(javassist.CtClass, java.lang.Class, java.lang.ClassLoader, java.security.ProtectionDomain) throws javassist.CannotCompileException
{
byte[] v;
javassist.CannotCompileException v;
java.io.IOException v;
javassist.CtClass v;
java.security.ProtectionDomain v;
java.lang.Class v, v;
java.lang.ClassLoader v;
java.lang.String v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: javassist.CtClass;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.security.ProtectionDomain;
label:
v = virtualinvoke v.<javassist.CtClass: java.lang.String getName()>();
v = virtualinvoke v.<javassist.CtClass: byte[] toBytecode()>();
v = staticinvoke <javassist.util.proxy.DefineClassHelper: java.lang.Class toClass(java.lang.String,java.lang.Class,java.lang.ClassLoader,java.security.ProtectionDomain,byte[])>(v, v, v, v, v);
label:
return v;
label:
v := @caughtexception;
v = new javassist.CannotCompileException;
specialinvoke v.<javassist.CannotCompileException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.io.IOException from label to label with label;
}
public void makePackage(java.lang.ClassLoader, java.lang.String) throws javassist.CannotCompileException
{
java.lang.ClassLoader v;
java.lang.String v;
javassist.ClassPool v;
v := @this: javassist.ClassPool;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.String;
staticinvoke <javassist.util.proxy.DefinePackageHelper: void definePackage(java.lang.String,java.lang.ClassLoader)>(v, v);
return;
}
static void <clinit>()
{
<javassist.ClassPool: boolean doPruning> = 0;
<javassist.ClassPool: boolean releaseUnmodifiedClassFile> = 1;
<javassist.ClassPool: boolean cacheOpenedJarFile> = 1;
<javassist.ClassPool: javassist.ClassPool defaultPool> = null;
return;
}
}