public class javassist.bytecode.CodeAttribute extends javassist.bytecode.AttributeInfo implements javassist.bytecode.Opcode
{
public static final java.lang.String tag;
private int maxStack;
private int maxLocals;
private javassist.bytecode.ExceptionTable exceptions;
private java.util.List attributes;
public void <init>(javassist.bytecode.ConstPool, int, int, byte[], javassist.bytecode.ExceptionTable)
{
javassist.bytecode.ConstPool v;
byte[] v;
javassist.bytecode.CodeAttribute v;
javassist.bytecode.ExceptionTable v;
int v, v;
java.util.ArrayList v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: javassist.bytecode.ConstPool;
v := @parameter: int;
v := @parameter: int;
v := @parameter: byte[];
v := @parameter: javassist.bytecode.ExceptionTable;
specialinvoke v.<javassist.bytecode.AttributeInfo: void <init>(javassist.bytecode.ConstPool,java.lang.String)>(v, "Code");
v.<javassist.bytecode.CodeAttribute: int maxStack> = v;
v.<javassist.bytecode.CodeAttribute: int maxLocals> = v;
v.<javassist.bytecode.CodeAttribute: byte[] info> = v;
v.<javassist.bytecode.CodeAttribute: javassist.bytecode.ExceptionTable exceptions> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<javassist.bytecode.CodeAttribute: java.util.List attributes> = v;
return;
}
private void <init>(javassist.bytecode.ConstPool, javassist.bytecode.CodeAttribute, java.util.Map) throws javassist.bytecode.BadBytecode
{
javassist.bytecode.ConstPool v;
byte[] v;
java.util.ArrayList v;
javassist.bytecode.CodeAttribute v, v;
java.util.Map v;
int v, v, v, v;
javassist.bytecode.ExceptionTable v, v, v;
java.util.List v, v;
java.lang.Object v;
javassist.bytecode.AttributeInfo v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: javassist.bytecode.ConstPool;
v := @parameter: javassist.bytecode.CodeAttribute;
v := @parameter: java.util.Map;
specialinvoke v.<javassist.bytecode.AttributeInfo: void <init>(javassist.bytecode.ConstPool,java.lang.String)>(v, "Code");
v = virtualinvoke v.<javassist.bytecode.CodeAttribute: int getMaxStack()>();
v.<javassist.bytecode.CodeAttribute: int maxStack> = v;
v = virtualinvoke v.<javassist.bytecode.CodeAttribute: int getMaxLocals()>();
v.<javassist.bytecode.CodeAttribute: int maxLocals> = v;
v = virtualinvoke v.<javassist.bytecode.CodeAttribute: javassist.bytecode.ExceptionTable getExceptionTable()>();
v = virtualinvoke v.<javassist.bytecode.ExceptionTable: javassist.bytecode.ExceptionTable copy(javassist.bytecode.ConstPool,java.util.Map)>(v, v);
v.<javassist.bytecode.CodeAttribute: javassist.bytecode.ExceptionTable exceptions> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<javassist.bytecode.CodeAttribute: java.util.List attributes> = v;
v = virtualinvoke v.<javassist.bytecode.CodeAttribute: java.util.List getAttributes()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = 0;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
v = virtualinvoke v.<javassist.bytecode.AttributeInfo: javassist.bytecode.AttributeInfo copy(javassist.bytecode.ConstPool,java.util.Map)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = v.<javassist.bytecode.CodeAttribute: javassist.bytecode.ExceptionTable exceptions>;
v = specialinvoke v.<javassist.bytecode.CodeAttribute: byte[] copyCode(javassist.bytecode.ConstPool,java.util.Map,javassist.bytecode.ExceptionTable,javassist.bytecode.CodeAttribute)>(v, v, v, v);
v.<javassist.bytecode.CodeAttribute: byte[] info> = v;
return;
}
void <init>(javassist.bytecode.ConstPool, int, java.io.DataInputStream) throws java.io.IOException
{
javassist.bytecode.ConstPool v;
byte[] v, v, v;
java.io.DataInputStream v;
java.util.ArrayList v;
javassist.bytecode.CodeAttribute v;
int v, v, v, v, v, v;
javassist.bytecode.ExceptionTable v;
java.util.List v;
javassist.bytecode.AttributeInfo v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: javassist.bytecode.ConstPool;
v := @parameter: int;
v := @parameter: java.io.DataInputStream;
v = (byte[]) null;
specialinvoke v.<javassist.bytecode.AttributeInfo: void <init>(javassist.bytecode.ConstPool,int,byte[])>(v, v, v);
virtualinvoke v.<java.io.DataInputStream: int readInt()>();
v = virtualinvoke v.<java.io.DataInputStream: int readUnsignedShort()>();
v.<javassist.bytecode.CodeAttribute: int maxStack> = v;
v = virtualinvoke v.<java.io.DataInputStream: int readUnsignedShort()>();
v.<javassist.bytecode.CodeAttribute: int maxLocals> = v;
v = virtualinvoke v.<java.io.DataInputStream: int readInt()>();
v = newarray (byte)[v];
v.<javassist.bytecode.CodeAttribute: byte[] info> = v;
v = v.<javassist.bytecode.CodeAttribute: byte[] info>;
virtualinvoke v.<java.io.DataInputStream: void readFully(byte[])>(v);
v = new javassist.bytecode.ExceptionTable;
specialinvoke v.<javassist.bytecode.ExceptionTable: void <init>(javassist.bytecode.ConstPool,java.io.DataInputStream)>(v, v);
v.<javassist.bytecode.CodeAttribute: javassist.bytecode.ExceptionTable exceptions> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<javassist.bytecode.CodeAttribute: java.util.List attributes> = v;
v = virtualinvoke v.<java.io.DataInputStream: int readUnsignedShort()>();
v = 0;
label:
if v >= v goto label;
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
v = staticinvoke <javassist.bytecode.AttributeInfo: javassist.bytecode.AttributeInfo read(javassist.bytecode.ConstPool,java.io.DataInputStream)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
return;
}
public javassist.bytecode.AttributeInfo copy(javassist.bytecode.ConstPool, java.util.Map) throws javassist.bytecode.CodeAttribute$RuntimeCopyException
{
javassist.bytecode.ConstPool v;
javassist.bytecode.CodeAttribute v, v;
javassist.bytecode.CodeAttribute$RuntimeCopyException v;
javassist.bytecode.BadBytecode v;
java.util.Map v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: javassist.bytecode.ConstPool;
v := @parameter: java.util.Map;
label:
v = new javassist.bytecode.CodeAttribute;
specialinvoke v.<javassist.bytecode.CodeAttribute: void <init>(javassist.bytecode.ConstPool,javassist.bytecode.CodeAttribute,java.util.Map)>(v, v, v);
label:
return v;
label:
v := @caughtexception;
v = new javassist.bytecode.CodeAttribute$RuntimeCopyException;
specialinvoke v.<javassist.bytecode.CodeAttribute$RuntimeCopyException: void <init>(java.lang.String)>("bad bytecode. fatal?");
throw v;
catch javassist.bytecode.BadBytecode from label to label with label;
}
public int length()
{
byte[] v;
javassist.bytecode.ExceptionTable v;
javassist.bytecode.CodeAttribute v;
java.util.List v;
int v, v, v, v, v, v, v;
v := @this: javassist.bytecode.CodeAttribute;
v = v.<javassist.bytecode.CodeAttribute: byte[] info>;
v = lengthof v;
v = 18 + v;
v = v.<javassist.bytecode.CodeAttribute: javassist.bytecode.ExceptionTable exceptions>;
v = virtualinvoke v.<javassist.bytecode.ExceptionTable: int size()>();
v = v * 8;
v = v + v;
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
v = staticinvoke <javassist.bytecode.AttributeInfo: int getLength(java.util.List)>(v);
v = v + v;
return v;
}
void write(java.io.DataOutputStream) throws java.io.IOException
{
byte[] v, v;
javassist.bytecode.ExceptionTable v;
javassist.bytecode.CodeAttribute v;
java.util.List v, v;
java.io.DataOutputStream v;
int v, v, v, v, v, v, v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: java.io.DataOutputStream;
v = v.<javassist.bytecode.CodeAttribute: int name>;
virtualinvoke v.<java.io.DataOutputStream: void writeShort(int)>(v);
v = virtualinvoke v.<javassist.bytecode.CodeAttribute: int length()>();
v = v - 6;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
v = v.<javassist.bytecode.CodeAttribute: int maxStack>;
virtualinvoke v.<java.io.DataOutputStream: void writeShort(int)>(v);
v = v.<javassist.bytecode.CodeAttribute: int maxLocals>;
virtualinvoke v.<java.io.DataOutputStream: void writeShort(int)>(v);
v = v.<javassist.bytecode.CodeAttribute: byte[] info>;
v = lengthof v;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
v = v.<javassist.bytecode.CodeAttribute: byte[] info>;
virtualinvoke v.<java.io.DataOutputStream: void write(byte[])>(v);
v = v.<javassist.bytecode.CodeAttribute: javassist.bytecode.ExceptionTable exceptions>;
virtualinvoke v.<javassist.bytecode.ExceptionTable: void write(java.io.DataOutputStream)>(v);
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
v = interfaceinvoke v.<java.util.List: int size()>();
virtualinvoke v.<java.io.DataOutputStream: void writeShort(int)>(v);
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
staticinvoke <javassist.bytecode.AttributeInfo: void writeAll(java.util.List,java.io.DataOutputStream)>(v, v);
return;
}
public byte[] get()
{
java.lang.UnsupportedOperationException v;
javassist.bytecode.CodeAttribute v;
v := @this: javassist.bytecode.CodeAttribute;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("CodeAttribute.get()");
throw v;
}
public void set(byte[])
{
byte[] v;
java.lang.UnsupportedOperationException v;
javassist.bytecode.CodeAttribute v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: byte[];
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("CodeAttribute.set()");
throw v;
}
void renameClass(java.lang.String, java.lang.String)
{
javassist.bytecode.CodeAttribute v;
java.util.List v;
java.lang.String v, v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
staticinvoke <javassist.bytecode.AttributeInfo: void renameClass(java.util.List,java.lang.String,java.lang.String)>(v, v, v);
return;
}
void renameClass(java.util.Map)
{
javassist.bytecode.CodeAttribute v;
java.util.List v;
java.util.Map v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: java.util.Map;
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
staticinvoke <javassist.bytecode.AttributeInfo: void renameClass(java.util.List,java.util.Map)>(v, v);
return;
}
void getRefClasses(java.util.Map)
{
javassist.bytecode.CodeAttribute v;
java.util.List v;
java.util.Map v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: java.util.Map;
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
staticinvoke <javassist.bytecode.AttributeInfo: void getRefClasses(java.util.List,java.util.Map)>(v, v);
return;
}
public java.lang.String getDeclaringClass()
{
javassist.bytecode.ConstPool v;
javassist.bytecode.CodeAttribute v;
java.lang.String v;
v := @this: javassist.bytecode.CodeAttribute;
v = virtualinvoke v.<javassist.bytecode.CodeAttribute: javassist.bytecode.ConstPool getConstPool()>();
v = virtualinvoke v.<javassist.bytecode.ConstPool: java.lang.String getClassName()>();
return v;
}
public int getMaxStack()
{
int v;
javassist.bytecode.CodeAttribute v;
v := @this: javassist.bytecode.CodeAttribute;
v = v.<javassist.bytecode.CodeAttribute: int maxStack>;
return v;
}
public void setMaxStack(int)
{
int v;
javassist.bytecode.CodeAttribute v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: int;
v.<javassist.bytecode.CodeAttribute: int maxStack> = v;
return;
}
public int computeMaxStack() throws javassist.bytecode.BadBytecode
{
javassist.bytecode.CodeAttribute v;
int v, v;
javassist.bytecode.CodeAnalyzer v;
v := @this: javassist.bytecode.CodeAttribute;
v = new javassist.bytecode.CodeAnalyzer;
specialinvoke v.<javassist.bytecode.CodeAnalyzer: void <init>(javassist.bytecode.CodeAttribute)>(v);
v = virtualinvoke v.<javassist.bytecode.CodeAnalyzer: int computeMaxStack()>();
v.<javassist.bytecode.CodeAttribute: int maxStack> = v;
v = v.<javassist.bytecode.CodeAttribute: int maxStack>;
return v;
}
public int getMaxLocals()
{
int v;
javassist.bytecode.CodeAttribute v;
v := @this: javassist.bytecode.CodeAttribute;
v = v.<javassist.bytecode.CodeAttribute: int maxLocals>;
return v;
}
public void setMaxLocals(int)
{
int v;
javassist.bytecode.CodeAttribute v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: int;
v.<javassist.bytecode.CodeAttribute: int maxLocals> = v;
return;
}
public int getCodeLength()
{
int v;
byte[] v;
javassist.bytecode.CodeAttribute v;
v := @this: javassist.bytecode.CodeAttribute;
v = v.<javassist.bytecode.CodeAttribute: byte[] info>;
v = lengthof v;
return v;
}
public byte[] getCode()
{
byte[] v;
javassist.bytecode.CodeAttribute v;
v := @this: javassist.bytecode.CodeAttribute;
v = v.<javassist.bytecode.CodeAttribute: byte[] info>;
return v;
}
void setCode(byte[])
{
byte[] v;
javassist.bytecode.CodeAttribute v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: byte[];
specialinvoke v.<javassist.bytecode.AttributeInfo: void set(byte[])>(v);
return;
}
public javassist.bytecode.CodeIterator iterator()
{
javassist.bytecode.CodeAttribute v;
javassist.bytecode.CodeIterator v;
v := @this: javassist.bytecode.CodeAttribute;
v = new javassist.bytecode.CodeIterator;
specialinvoke v.<javassist.bytecode.CodeIterator: void <init>(javassist.bytecode.CodeAttribute)>(v);
return v;
}
public javassist.bytecode.ExceptionTable getExceptionTable()
{
javassist.bytecode.CodeAttribute v;
javassist.bytecode.ExceptionTable v;
v := @this: javassist.bytecode.CodeAttribute;
v = v.<javassist.bytecode.CodeAttribute: javassist.bytecode.ExceptionTable exceptions>;
return v;
}
public java.util.List getAttributes()
{
javassist.bytecode.CodeAttribute v;
java.util.List v;
v := @this: javassist.bytecode.CodeAttribute;
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
return v;
}
public javassist.bytecode.AttributeInfo getAttribute(java.lang.String)
{
javassist.bytecode.CodeAttribute v;
java.util.List v;
javassist.bytecode.AttributeInfo v;
java.lang.String v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: java.lang.String;
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
v = staticinvoke <javassist.bytecode.AttributeInfo: javassist.bytecode.AttributeInfo lookup(java.util.List,java.lang.String)>(v, v);
return v;
}
public void setAttribute(javassist.bytecode.StackMapTable)
{
javassist.bytecode.CodeAttribute v;
java.util.List v, v;
javassist.bytecode.StackMapTable v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: javassist.bytecode.StackMapTable;
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
staticinvoke <javassist.bytecode.AttributeInfo: javassist.bytecode.AttributeInfo remove(java.util.List,java.lang.String)>(v, "StackMapTable");
if v == null goto label;
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
public void setAttribute(javassist.bytecode.StackMap)
{
javassist.bytecode.CodeAttribute v;
java.util.List v, v;
javassist.bytecode.StackMap v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: javassist.bytecode.StackMap;
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
staticinvoke <javassist.bytecode.AttributeInfo: javassist.bytecode.AttributeInfo remove(java.util.List,java.lang.String)>(v, "StackMap");
if v == null goto label;
v = v.<javassist.bytecode.CodeAttribute: java.util.List attributes>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
private byte[] copyCode(javassist.bytecode.ConstPool, java.util.Map, javassist.bytecode.ExceptionTable, javassist.bytecode.CodeAttribute) throws javassist.bytecode.BadBytecode
{
javassist.bytecode.ConstPool v, v;
byte[] v, v, v;
javassist.bytecode.ExceptionTable v;
javassist.bytecode.CodeAttribute$LdcEntry v;
javassist.bytecode.CodeAttribute v, v;
java.util.Map v;
int v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: javassist.bytecode.ConstPool;
v := @parameter: java.util.Map;
v := @parameter: javassist.bytecode.ExceptionTable;
v := @parameter: javassist.bytecode.CodeAttribute;
v = virtualinvoke v.<javassist.bytecode.CodeAttribute: int getCodeLength()>();
v = newarray (byte)[v];
v.<javassist.bytecode.CodeAttribute: byte[] info> = v;
v = v.<javassist.bytecode.CodeAttribute: byte[] info>;
v = virtualinvoke v.<javassist.bytecode.CodeAttribute: javassist.bytecode.ConstPool getConstPool()>();
v = staticinvoke <javassist.bytecode.CodeAttribute: javassist.bytecode.CodeAttribute$LdcEntry copyCode(byte[],int,int,javassist.bytecode.ConstPool,byte[],javassist.bytecode.ConstPool,java.util.Map)>(v, 0, v, v, v, v, v);
v = staticinvoke <javassist.bytecode.CodeAttribute$LdcEntry: byte[] doit(byte[],javassist.bytecode.CodeAttribute$LdcEntry,javassist.bytecode.ExceptionTable,javassist.bytecode.CodeAttribute)>(v, v, v, v);
return v;
}
private static javassist.bytecode.CodeAttribute$LdcEntry copyCode(byte[], int, int, javassist.bytecode.ConstPool, byte[], javassist.bytecode.ConstPool, java.util.Map) throws javassist.bytecode.BadBytecode
{
javassist.bytecode.ConstPool v, v;
byte[] v, v;
byte v, v, v, v, v, v;
java.util.Map v;
javassist.bytecode.CodeAttribute$LdcEntry v, v;
short v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v := @parameter: javassist.bytecode.ConstPool;
v := @parameter: byte[];
v := @parameter: javassist.bytecode.ConstPool;
v := @parameter: java.util.Map;
v = null;
v = v;
label:
if v >= v goto label;
v = staticinvoke <javassist.bytecode.CodeIterator: int nextOpcode(byte[],int)>(v, v);
v = v[v];
v[v] = v;
v = v & 255;
lookupswitch(v)
{
case 18: goto label;
case 19: goto label;
case 20: goto label;
case 178: goto label;
case 179: goto label;
case 180: goto label;
case 181: goto label;
case 182: goto label;
case 183: goto label;
case 184: goto label;
case 185: goto label;
case 186: goto label;
case 187: goto label;
case 189: goto label;
case 192: goto label;
case 193: goto label;
case 197: goto label;
default: goto label;
};
label:
v = v + 1;
staticinvoke <javassist.bytecode.CodeAttribute: void copyConstPoolInfo(int,byte[],javassist.bytecode.ConstPool,byte[],javassist.bytecode.ConstPool,java.util.Map)>(v, v, v, v, v, v);
goto label;
label:
v = v + 1;
v = v[v];
v = v & 255;
v = virtualinvoke v.<javassist.bytecode.ConstPool: int copy(int,javassist.bytecode.ConstPool,java.util.Map)>(v, v, v);
if v >= 256 goto label;
v = v + 1;
v[v] = v;
goto label;
label:
v[v] = 0;
v = v + 1;
v[v] = 0;
v = new javassist.bytecode.CodeAttribute$LdcEntry;
specialinvoke v.<javassist.bytecode.CodeAttribute$LdcEntry: void <init>()>();
v.<javassist.bytecode.CodeAttribute$LdcEntry: int where> = v;
v.<javassist.bytecode.CodeAttribute$LdcEntry: int index> = v;
v.<javassist.bytecode.CodeAttribute$LdcEntry: javassist.bytecode.CodeAttribute$LdcEntry next> = v;
v = v;
goto label;
label:
v = v + 1;
staticinvoke <javassist.bytecode.CodeAttribute: void copyConstPoolInfo(int,byte[],javassist.bytecode.ConstPool,byte[],javassist.bytecode.ConstPool,java.util.Map)>(v, v, v, v, v, v);
v = v + 3;
v = v + 3;
v = v[v];
v[v] = v;
v = v + 4;
v = v + 4;
v = v[v];
v[v] = v;
goto label;
label:
v = v + 1;
staticinvoke <javassist.bytecode.CodeAttribute: void copyConstPoolInfo(int,byte[],javassist.bytecode.ConstPool,byte[],javassist.bytecode.ConstPool,java.util.Map)>(v, v, v, v, v, v);
v = v + 3;
v[v] = 0;
v = v + 4;
v[v] = 0;
goto label;
label:
v = v + 1;
staticinvoke <javassist.bytecode.CodeAttribute: void copyConstPoolInfo(int,byte[],javassist.bytecode.ConstPool,byte[],javassist.bytecode.ConstPool,java.util.Map)>(v, v, v, v, v, v);
v = v + 3;
v = v + 3;
v = v[v];
v[v] = v;
goto label;
label:
v = v + 1;
if v >= v goto label;
v = v[v];
v[v] = v;
goto label;
label:
v = v;
goto label;
label:
return v;
}
private static void copyConstPoolInfo(int, byte[], javassist.bytecode.ConstPool, byte[], javassist.bytecode.ConstPool, java.util.Map)
{
javassist.bytecode.ConstPool v, v;
byte[] v, v;
short v, v;
byte v, v;
java.util.Map v;
int v, v, v, v, v, v, v;
v := @parameter: int;
v := @parameter: byte[];
v := @parameter: javassist.bytecode.ConstPool;
v := @parameter: byte[];
v := @parameter: javassist.bytecode.ConstPool;
v := @parameter: java.util.Map;
v = v[v];
v = v & 255;
v = v << 8;
v = v + 1;
v = v[v];
v = v & 255;
v = v | v;
v = virtualinvoke v.<javassist.bytecode.ConstPool: int copy(int,javassist.bytecode.ConstPool,java.util.Map)>(v, v, v);
v = v >> 8;
v[v] = v;
v = v + 1;
v[v] = v;
return;
}
public void insertLocalVar(int, int) throws javassist.bytecode.BadBytecode
{
javassist.bytecode.CodeAttribute v;
int v, v, v, v;
javassist.bytecode.CodeIterator v;
boolean v;
v := @this: javassist.bytecode.CodeAttribute;
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<javassist.bytecode.CodeAttribute: javassist.bytecode.CodeIterator iterator()>();
label:
v = virtualinvoke v.<javassist.bytecode.CodeIterator: boolean hasNext()>();
if v == 0 goto label;
staticinvoke <javassist.bytecode.CodeAttribute: void shiftIndex(javassist.bytecode.CodeIterator,int,int)>(v, v, v);
goto label;
label:
v = virtualinvoke v.<javassist.bytecode.CodeAttribute: int getMaxLocals()>();
v = v + v;
virtualinvoke v.<javassist.bytecode.CodeAttribute: void setMaxLocals(int)>(v);
return;
}
private static void shiftIndex(javassist.bytecode.CodeIterator, int, int) throws javassist.bytecode.BadBytecode
{
byte v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
javassist.bytecode.CodeIterator v;
v := @parameter: javassist.bytecode.CodeIterator;
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<javassist.bytecode.CodeIterator: int next()>();
v = virtualinvoke v.<javassist.bytecode.CodeIterator: int byteAt(int)>(v);
if v >= 21 goto label;
return;
label:
if v >= 79 goto label;
if v >= 26 goto label;
staticinvoke <javassist.bytecode.CodeAttribute: void shiftIndex8(javassist.bytecode.CodeIterator,int,int,int,int)>(v, v, v, v, v);
goto label;
label:
if v >= 46 goto label;
staticinvoke <javassist.bytecode.CodeAttribute: void shiftIndex0(javassist.bytecode.CodeIterator,int,int,int,int,int,int)>(v, v, v, v, v, 26, 21);
goto label;
label:
if v >= 54 goto label;
return;
label:
if v >= 59 goto label;
staticinvoke <javassist.bytecode.CodeAttribute: void shiftIndex8(javassist.bytecode.CodeIterator,int,int,int,int)>(v, v, v, v, v);
goto label;
label:
staticinvoke <javassist.bytecode.CodeAttribute: void shiftIndex0(javassist.bytecode.CodeIterator,int,int,int,int,int,int)>(v, v, v, v, v, 59, 54);
goto label;
label:
if v != 132 goto label;
v = v + 1;
v = virtualinvoke v.<javassist.bytecode.CodeIterator: int byteAt(int)>(v);
if v >= v goto label;
return;
label:
v = v + v;
if v >= 256 goto label;
v = v + 1;
virtualinvoke v.<javassist.bytecode.CodeIterator: void writeByte(int,int)>(v, v);
goto label;
label:
v = v + 2;
virtualinvoke v.<javassist.bytecode.CodeIterator: int byteAt(int)>(v);
v = virtualinvoke v.<javassist.bytecode.CodeIterator: int insertExGap(int)>(3);
v = v - 3;
virtualinvoke v.<javassist.bytecode.CodeIterator: void writeByte(int,int)>(196, v);
v = v - 2;
virtualinvoke v.<javassist.bytecode.CodeIterator: void writeByte(int,int)>(132, v);
v = v - 1;
virtualinvoke v.<javassist.bytecode.CodeIterator: void write16bit(int,int)>(v, v);
v = v + 1;
virtualinvoke v.<javassist.bytecode.CodeIterator: void write16bit(int,int)>(v, v);
goto label;
label:
if v != 169 goto label;
staticinvoke <javassist.bytecode.CodeAttribute: void shiftIndex8(javassist.bytecode.CodeIterator,int,int,int,int)>(v, v, v, v, v);
goto label;
label:
if v != 196 goto label;
v = v + 2;
v = virtualinvoke v.<javassist.bytecode.CodeIterator: int u16bitAt(int)>(v);
if v >= v goto label;
return;
label:
v = v + v;
v = v + 2;
virtualinvoke v.<javassist.bytecode.CodeIterator: void write16bit(int,int)>(v, v);
label:
return;
}
private static void shiftIndex8(javassist.bytecode.CodeIterator, int, int, int, int) throws javassist.bytecode.BadBytecode
{
int v, v, v, v, v, v, v, v, v, v, v;
javassist.bytecode.CodeIterator v;
v := @parameter: javassist.bytecode.CodeIterator;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v + 1;
v = virtualinvoke v.<javassist.bytecode.CodeIterator: int byteAt(int)>(v);
if v >= v goto label;
return;
label:
v = v + v;
if v >= 256 goto label;
v = v + 1;
virtualinvoke v.<javassist.bytecode.CodeIterator: void writeByte(int,int)>(v, v);
goto label;
label:
v = virtualinvoke v.<javassist.bytecode.CodeIterator: int insertExGap(int)>(2);
v = v - 2;
virtualinvoke v.<javassist.bytecode.CodeIterator: void writeByte(int,int)>(196, v);
v = v - 1;
virtualinvoke v.<javassist.bytecode.CodeIterator: void writeByte(int,int)>(v, v);
virtualinvoke v.<javassist.bytecode.CodeIterator: void write16bit(int,int)>(v, v);
label:
return;
}
private static void shiftIndex0(javassist.bytecode.CodeIterator, int, int, int, int, int, int) throws javassist.bytecode.BadBytecode
{
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
javassist.bytecode.CodeIterator v;
v := @parameter: javassist.bytecode.CodeIterator;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v - v;
v = v % 4;
if v >= v goto label;
return;
label:
v = v + v;
if v >= 4 goto label;
v = v + v;
virtualinvoke v.<javassist.bytecode.CodeIterator: void writeByte(int,int)>(v, v);
goto label;
label:
v = v - v;
v = v / 4;
v = v + v;
if v >= 256 goto label;
v = virtualinvoke v.<javassist.bytecode.CodeIterator: int insertExGap(int)>(1);
v = v - 1;
virtualinvoke v.<javassist.bytecode.CodeIterator: void writeByte(int,int)>(v, v);
virtualinvoke v.<javassist.bytecode.CodeIterator: void writeByte(int,int)>(v, v);
goto label;
label:
v = virtualinvoke v.<javassist.bytecode.CodeIterator: int insertExGap(int)>(3);
v = v - 1;
virtualinvoke v.<javassist.bytecode.CodeIterator: void writeByte(int,int)>(196, v);
virtualinvoke v.<javassist.bytecode.CodeIterator: void writeByte(int,int)>(v, v);
v = v + 1;
virtualinvoke v.<javassist.bytecode.CodeIterator: void write16bit(int,int)>(v, v);
label:
return;
}
}