public class oadd.javassist.bytecode.InstructionPrinter extends java.lang.Object implements oadd.javassist.bytecode.Opcode
{
private static final java.lang.String[] opcodes;
private final java.io.PrintStream stream;
public void <init>(java.io.PrintStream)
{
java.io.PrintStream v;
oadd.javassist.bytecode.InstructionPrinter v;
v := @this: oadd.javassist.bytecode.InstructionPrinter;
v := @parameter: java.io.PrintStream;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<oadd.javassist.bytecode.InstructionPrinter: java.io.PrintStream stream> = v;
return;
}
public static void print(oadd.javassist.CtMethod, java.io.PrintStream)
{
java.io.PrintStream v;
oadd.javassist.CtMethod v;
oadd.javassist.bytecode.InstructionPrinter v;
v := @parameter: oadd.javassist.CtMethod;
v := @parameter: java.io.PrintStream;
v = new oadd.javassist.bytecode.InstructionPrinter;
specialinvoke v.<oadd.javassist.bytecode.InstructionPrinter: void <init>(java.io.PrintStream)>(v);
virtualinvoke v.<oadd.javassist.bytecode.InstructionPrinter: void print(oadd.javassist.CtMethod)>(v);
return;
}
public void print(oadd.javassist.CtMethod)
{
java.io.PrintStream v;
oadd.javassist.bytecode.CodeAttribute v;
oadd.javassist.bytecode.CodeIterator v;
oadd.javassist.CtMethod v;
oadd.javassist.bytecode.MethodInfo v;
java.lang.RuntimeException v;
oadd.javassist.bytecode.InstructionPrinter v;
oadd.javassist.bytecode.ConstPool v;
int v;
oadd.javassist.bytecode.BadBytecode v;
java.lang.String v, v;
boolean v;
v := @this: oadd.javassist.bytecode.InstructionPrinter;
v := @parameter: oadd.javassist.CtMethod;
v = virtualinvoke v.<oadd.javassist.CtMethod: oadd.javassist.bytecode.MethodInfo getMethodInfo2()>();
v = virtualinvoke v.<oadd.javassist.bytecode.MethodInfo: oadd.javassist.bytecode.ConstPool getConstPool()>();
v = virtualinvoke v.<oadd.javassist.bytecode.MethodInfo: oadd.javassist.bytecode.CodeAttribute getCodeAttribute()>();
if v != null goto label;
return;
label:
v = virtualinvoke v.<oadd.javassist.bytecode.CodeAttribute: oadd.javassist.bytecode.CodeIterator iterator()>();
label:
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: boolean hasNext()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int next()>();
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = v.<oadd.javassist.bytecode.InstructionPrinter: java.io.PrintStream stream>;
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String instructionString(oadd.javassist.bytecode.CodeIterator,int,oadd.javassist.bytecode.ConstPool)>(v, v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,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[])>("\u0001: \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
goto label;
label:
return;
catch oadd.javassist.bytecode.BadBytecode from label to label with label;
}
public static java.lang.String instructionString(oadd.javassist.bytecode.CodeIterator, int, oadd.javassist.bytecode.ConstPool)
{
oadd.javassist.bytecode.CodeIterator v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.javassist.bytecode.ConstPool v;
java.lang.String[] v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.IllegalArgumentException v;
v := @parameter: oadd.javassist.bytecode.CodeIterator;
v := @parameter: int;
v := @parameter: oadd.javassist.bytecode.ConstPool;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int byteAt(int)>(v);
v = <oadd.javassist.bytecode.InstructionPrinter: java.lang.String[] opcodes>;
v = lengthof v;
if v > v goto label;
if v >= 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int)>(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[])>("Invalid opcode, opcode: \u pos: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <oadd.javassist.bytecode.InstructionPrinter: java.lang.String[] opcodes>;
v = v[v];
tableswitch(v)
{
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
case 21: goto label;
case 22: goto label;
case 23: goto label;
case 24: goto label;
case 25: goto label;
case 26: goto label;
case 27: goto label;
case 28: goto label;
case 29: goto label;
case 30: goto label;
case 31: goto label;
case 32: goto label;
case 33: goto label;
case 34: goto label;
case 35: goto label;
case 36: goto label;
case 37: goto label;
case 38: goto label;
case 39: goto label;
case 40: goto label;
case 41: goto label;
case 42: goto label;
case 43: goto label;
case 44: goto label;
case 45: goto label;
case 46: goto label;
case 47: goto label;
case 48: goto label;
case 49: goto label;
case 50: goto label;
case 51: goto label;
case 52: goto label;
case 53: goto label;
case 54: goto label;
case 55: goto label;
case 56: goto label;
case 57: goto label;
case 58: goto label;
case 59: goto label;
case 60: goto label;
case 61: goto label;
case 62: goto label;
case 63: goto label;
case 64: goto label;
case 65: goto label;
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;
case 92: goto label;
case 93: goto label;
case 94: goto label;
case 95: goto label;
case 96: goto label;
case 97: goto label;
case 98: goto label;
case 99: goto label;
case 100: goto label;
case 101: goto label;
case 102: goto label;
case 103: goto label;
case 104: goto label;
case 105: goto label;
case 106: goto label;
case 107: goto label;
case 108: goto label;
case 109: goto label;
case 110: goto label;
case 111: goto label;
case 112: goto label;
case 113: goto label;
case 114: goto label;
case 115: goto label;
case 116: goto label;
case 117: goto label;
case 118: goto label;
case 119: goto label;
case 120: goto label;
case 121: goto label;
case 122: goto label;
case 123: goto label;
case 124: goto label;
case 125: goto label;
case 126: goto label;
case 127: goto label;
case 128: goto label;
case 129: goto label;
case 130: goto label;
case 131: goto label;
case 132: goto label;
case 133: goto label;
case 134: goto label;
case 135: goto label;
case 136: goto label;
case 137: goto label;
case 138: goto label;
case 139: goto label;
case 140: goto label;
case 141: goto label;
case 142: goto label;
case 143: goto label;
case 144: goto label;
case 145: goto label;
case 146: goto label;
case 147: goto label;
case 148: goto label;
case 149: goto label;
case 150: goto label;
case 151: goto label;
case 152: goto label;
case 153: goto label;
case 154: goto label;
case 155: goto label;
case 156: goto label;
case 157: goto label;
case 158: goto label;
case 159: goto label;
case 160: goto label;
case 161: goto label;
case 162: goto label;
case 163: goto label;
case 164: goto label;
case 165: goto label;
case 166: goto label;
case 167: goto label;
case 168: goto label;
case 169: goto label;
case 170: goto label;
case 171: goto label;
case 172: goto label;
case 173: goto label;
case 174: goto label;
case 175: goto label;
case 176: goto label;
case 177: 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 188: goto label;
case 189: goto label;
case 190: goto label;
case 191: goto label;
case 192: goto label;
case 193: goto label;
case 194: goto label;
case 195: goto label;
case 196: goto label;
case 197: goto label;
case 198: goto label;
case 199: goto label;
case 200: goto label;
case 201: goto label;
default: goto label;
};
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int byteAt(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s16bitAt(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int byteAt(int)>(v);
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String ldc(oadd.javassist.bytecode.ConstPool,int)>(v, 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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int u16bitAt(int)>(v);
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String ldc(oadd.javassist.bytecode.ConstPool,int)>(v, 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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int byteAt(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s16bitAt(int)>(v);
v = v + v;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int byteAt(int)>(v);
v = v + 2;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int signedByteAt(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int,int)>(v, 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[])>("\u \u, \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s16bitAt(int)>(v);
v = v + v;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int byteAt(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u \u0001");
return v;
label:
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String tableSwitch(oadd.javassist.bytecode.CodeIterator,int)>(v, v);
return v;
label:
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String lookupSwitch(oadd.javassist.bytecode.CodeIterator,int)>(v, v);
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int u16bitAt(int)>(v);
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String fieldInfo(oadd.javassist.bytecode.ConstPool,int)>(v, 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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int u16bitAt(int)>(v);
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String methodInfo(oadd.javassist.bytecode.ConstPool,int)>(v, 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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int u16bitAt(int)>(v);
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String interfaceMethodInfo(oadd.javassist.bytecode.ConstPool,int)>(v, 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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int u16bitAt(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int u16bitAt(int)>(v);
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String classInfo(oadd.javassist.bytecode.ConstPool,int)>(v, 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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int byteAt(int)>(v);
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String arrayInfo(int)>(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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int u16bitAt(int)>(v);
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String classInfo(oadd.javassist.bytecode.ConstPool,int)>(v, 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[])>("\u \u0001");
return v;
label:
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String wide(oadd.javassist.bytecode.CodeIterator,int)>(v, v);
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int u16bitAt(int)>(v);
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String classInfo(oadd.javassist.bytecode.ConstPool,int)>(v, 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[])>("\u \u0001");
return v;
label:
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s32bitAt(int)>(v);
v = v + v;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u \u0001");
return v;
label:
return v;
}
private static java.lang.String wide(oadd.javassist.bytecode.CodeIterator, int)
{
oadd.javassist.bytecode.CodeIterator v;
java.lang.String[] v;
java.lang.RuntimeException v;
int v, v, v, v, v;
java.lang.String v, v;
v := @parameter: oadd.javassist.bytecode.CodeIterator;
v := @parameter: int;
v = v + 1;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int byteAt(int)>(v);
v = v + 2;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int u16bitAt(int)>(v);
lookupswitch(v)
{
case 21: goto label;
case 22: goto label;
case 23: goto label;
case 24: goto label;
case 25: goto label;
case 54: goto label;
case 55: goto label;
case 56: goto label;
case 57: goto label;
case 58: goto label;
case 132: goto label;
case 169: goto label;
default: goto label;
};
label:
v = <oadd.javassist.bytecode.InstructionPrinter: java.lang.String[] opcodes>;
v = v[v];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u \u0001");
return v;
label:
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Invalid WIDE operand");
throw v;
}
private static java.lang.String arrayInfo(int)
{
int v;
java.lang.RuntimeException v;
v := @parameter: int;
tableswitch(v)
{
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
default: goto label;
};
label:
return "boolean";
label:
return "char";
label:
return "byte";
label:
return "short";
label:
return "int";
label:
return "long";
label:
return "float";
label:
return "double";
label:
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Invalid array type");
throw v;
}
private static java.lang.String classInfo(oadd.javassist.bytecode.ConstPool, int)
{
oadd.javassist.bytecode.ConstPool v;
int v;
java.lang.String v, v;
v := @parameter: oadd.javassist.bytecode.ConstPool;
v := @parameter: int;
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: java.lang.String getClassInfo(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,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[])>("#\u = Class \u0001");
return v;
}
private static java.lang.String interfaceMethodInfo(oadd.javassist.bytecode.ConstPool, int)
{
oadd.javassist.bytecode.ConstPool v;
int v;
java.lang.String v, v, v, v;
v := @parameter: oadd.javassist.bytecode.ConstPool;
v := @parameter: int;
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: java.lang.String getInterfaceMethodrefClassName(int)>(v);
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: java.lang.String getInterfaceMethodrefName(int)>(v);
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: java.lang.String getInterfaceMethodrefType(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,java.lang.String,java.lang.String,java.lang.String)>(v, v, 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[])>("#\u = Method \u.\u0001(\u)");
return v;
}
private static java.lang.String methodInfo(oadd.javassist.bytecode.ConstPool, int)
{
oadd.javassist.bytecode.ConstPool v;
int v;
java.lang.String v, v, v, v;
v := @parameter: oadd.javassist.bytecode.ConstPool;
v := @parameter: int;
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: java.lang.String getMethodrefClassName(int)>(v);
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: java.lang.String getMethodrefName(int)>(v);
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: java.lang.String getMethodrefType(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,java.lang.String,java.lang.String,java.lang.String)>(v, v, 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[])>("#\u = Method \u.\u0001(\u)");
return v;
}
private static java.lang.String fieldInfo(oadd.javassist.bytecode.ConstPool, int)
{
oadd.javassist.bytecode.ConstPool v;
int v;
java.lang.String v, v, v, v;
v := @parameter: oadd.javassist.bytecode.ConstPool;
v := @parameter: int;
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: java.lang.String getFieldrefClassName(int)>(v);
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: java.lang.String getFieldrefName(int)>(v);
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: java.lang.String getFieldrefType(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,java.lang.String,java.lang.String,java.lang.String)>(v, v, 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[])>("#\u = Field \u.\u0001(\u)");
return v;
}
private static java.lang.String lookupSwitch(oadd.javassist.bytecode.CodeIterator, int)
{
oadd.javassist.bytecode.CodeIterator v;
java.lang.StringBuffer v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
v := @parameter: oadd.javassist.bytecode.CodeIterator;
v := @parameter: int;
v = new java.lang.StringBuffer;
specialinvoke v.<java.lang.StringBuffer: void <init>(java.lang.String)>("lookupswitch {\n");
v = (int) -4;
v = v & v;
v = v + 4;
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("\t\tdefault: ");
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s32bitAt(int)>(v);
v = v + v;
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(int)>(v);
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("\n");
v = v + 4;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s32bitAt(int)>(v);
v = v * 8;
v = v + 4;
v = v + v;
label:
if v >= v goto label;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s32bitAt(int)>(v);
v = v + 4;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s32bitAt(int)>(v);
v = v + v;
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("\t\t");
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(int)>(v);
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>(": ");
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(int)>(v);
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("\n");
v = v + 8;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuffer: int length()>();
v = v - 1;
virtualinvoke v.<java.lang.StringBuffer: void setCharAt(int,char)>(v, 125);
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.String toString()>();
return v;
}
private static java.lang.String tableSwitch(oadd.javassist.bytecode.CodeIterator, int)
{
oadd.javassist.bytecode.CodeIterator v;
java.lang.StringBuffer v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
v := @parameter: oadd.javassist.bytecode.CodeIterator;
v := @parameter: int;
v = new java.lang.StringBuffer;
specialinvoke v.<java.lang.StringBuffer: void <init>(java.lang.String)>("tableswitch {\n");
v = (int) -4;
v = v & v;
v = v + 4;
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("\t\tdefault: ");
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s32bitAt(int)>(v);
v = v + v;
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(int)>(v);
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("\n");
v = v + 4;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s32bitAt(int)>(v);
v = v + 4;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s32bitAt(int)>(v);
v = v - v;
v = v + 1;
v = v * 4;
v = v + 4;
v = v + v;
v = v;
label:
if v >= v goto label;
v = virtualinvoke v.<oadd.javassist.bytecode.CodeIterator: int s32bitAt(int)>(v);
v = v + v;
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("\t\t");
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(int)>(v);
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>(": ");
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(int)>(v);
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("\n");
v = v + 4;
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuffer: int length()>();
v = v - 1;
virtualinvoke v.<java.lang.StringBuffer: void setCharAt(int,char)>(v, 125);
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.String toString()>();
return v;
}
private static java.lang.String ldc(oadd.javassist.bytecode.ConstPool, int)
{
long v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
double v;
java.lang.RuntimeException v;
oadd.javassist.bytecode.ConstPool v;
float v;
v := @parameter: oadd.javassist.bytecode.ConstPool;
v := @parameter: int;
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: int getTag(int)>(v);
tableswitch(v)
{
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: java.lang.String getStringInfo(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,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[])>("#\u = \"\u0001\"");
return v;
label:
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: int getIntegerInfo(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int)>(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[])>("#\u = int \u0001");
return v;
label:
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: float getFloatInfo(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,float)>(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[])>("#\u = float \u0001");
return v;
label:
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: long getLongInfo(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,long)>(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[])>("#\u = long \u0001");
return v;
label:
v = virtualinvoke v.<oadd.javassist.bytecode.ConstPool: double getDoubleInfo(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,double)>(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[])>("#\u = double \u0001");
return v;
label:
v = staticinvoke <oadd.javassist.bytecode.InstructionPrinter: java.lang.String classInfo(oadd.javassist.bytecode.ConstPool,int)>(v, v);
return v;
label:
v = new java.lang.RuntimeException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("bad LDC: \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
}
static void <clinit>()
{
java.lang.String[] v;
v = <oadd.javassist.bytecode.Mnemonic: java.lang.String[] OPCODE>;
<oadd.javassist.bytecode.InstructionPrinter: java.lang.String[] opcodes> = v;
return;
}
}