public class com.sun.org.apache.bcel.internal.util.BCELifier extends com.sun.org.apache.bcel.internal.classfile.EmptyVisitor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.org.apache.bcel.internal.util.BCELifier
super_class: com.sun.org.apache.bcel.internal.classfile.EmptyVisitor
{
private static final java.lang.String BASE_PACKAGE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String CONSTANT_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.sun.org.apache.bcel.internal.classfile.JavaClass _clazz;
descriptor: Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.PrintWriter _out;
descriptor: Ljava/io/PrintWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.org.apache.bcel.internal.generic.ConstantPoolGen _cp;
descriptor: Lcom/sun/org/apache/bcel/internal/generic/ConstantPoolGen;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lcom/sun/org/apache/bcel/internal/Const;
invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
invokevirtual java.lang.Package.getName:()Ljava/lang/String;
putstatic com.sun.org.apache.bcel.internal.util.BCELifier.BASE_PACKAGE:Ljava/lang/String;
1: new java.lang.StringBuilder
dup
ldc Lcom/sun/org/apache/bcel/internal/Const;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic com.sun.org.apache.bcel.internal.util.BCELifier.CONSTANT_PREFIX:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.sun.org.apache.bcel.internal.classfile.JavaClass, java.io.OutputStream);
descriptor: (Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.sun.org.apache.bcel.internal.classfile.EmptyVisitor.<init>:()V
1: aload 0
aload 1
putfield com.sun.org.apache.bcel.internal.util.BCELifier._clazz:Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
2: aload 0
new java.io.PrintWriter
dup
aload 2
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
putfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
3: aload 0
new com.sun.org.apache.bcel.internal.generic.ConstantPoolGen
dup
aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._clazz:Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getConstantPool:()Lcom/sun/org/apache/bcel/internal/classfile/ConstantPool;
invokespecial com.sun.org.apache.bcel.internal.generic.ConstantPoolGen.<init>:(Lcom/sun/org/apache/bcel/internal/classfile/ConstantPool;)V
putfield com.sun.org.apache.bcel.internal.util.BCELifier._cp:Lcom/sun/org/apache/bcel/internal/generic/ConstantPoolGen;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/org/apache/bcel/internal/util/BCELifier;
0 5 1 clazz Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
0 5 2 out Ljava/io/OutputStream;
MethodParameters:
Name Flags
clazz final
out final
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._clazz:Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
invokevirtual com.sun.org.apache.bcel.internal.util.BCELifier.visitJavaClass:(Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;)V
1: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.flush:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/org/apache/bcel/internal/util/BCELifier;
public void visitJavaClass(com.sun.org.apache.bcel.internal.classfile.JavaClass);
descriptor: (Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getClassName:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getSuperclassName:()Ljava/lang/String;
astore 3
start local 3 2: aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getPackageName:()Ljava/lang/String;
astore 4
start local 4 3: aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getInterfaceNames:()[Ljava/lang/String;
iconst_0
iconst_1
invokestatic com.sun.org.apache.bcel.internal.classfile.Utility.printArray:([Ljava/lang/Object;ZZ)Ljava/lang/String;
astore 5
start local 5 4: ldc ""
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
5: aload 2
aload 4
invokevirtual java.lang.String.length:()I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
6: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc "package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
8: StackMap locals: com.sun.org.apache.bcel.internal.util.BCELifier com.sun.org.apache.bcel.internal.classfile.JavaClass java.lang.String java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc "import "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.org.apache.bcel.internal.util.BCELifier.BASE_PACKAGE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".generic.*;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
9: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc "import "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.org.apache.bcel.internal.util.BCELifier.BASE_PACKAGE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".classfile.*;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
10: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc "import "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.org.apache.bcel.internal.util.BCELifier.BASE_PACKAGE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".*;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
11: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc "import java.io.*;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
12: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
13: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc "public class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Creator {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
14: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " private InstructionFactory _factory;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
15: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " private ConstantPoolGen _cp;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
16: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " private ClassGen _cg;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
17: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
18: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc " public "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Creator() {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
19: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc " _cg = new ClassGen(\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: ldc ""
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
aload 2
goto 22
StackMap locals: com.sun.org.apache.bcel.internal.util.BCELifier com.sun.org.apache.bcel.internal.classfile.JavaClass java.lang.String java.lang.String java.lang.String java.lang.String
StackMap stack: java.io.PrintWriter java.lang.StringBuilder
21: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: com.sun.org.apache.bcel.internal.util.BCELifier com.sun.org.apache.bcel.internal.classfile.JavaClass java.lang.String java.lang.String java.lang.String java.lang.String
StackMap stack: java.io.PrintWriter java.lang.StringBuilder java.lang.String
22: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: ldc "\", \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getSourceFileName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getAccessFlags:()I
getstatic com.sun.org.apache.bcel.internal.util.BCELifier$FLAGS.CLASS:Lcom/sun/org/apache/bcel/internal/util/BCELifier$FLAGS;
invokestatic com.sun.org.apache.bcel.internal.util.BCELifier.printFlags:(ILcom/sun/org/apache/bcel/internal/util/BCELifier$FLAGS;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: ldc "new String[] { "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " });"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
27: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
28: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " _cp = _cg.getConstantPool();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
29: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " _factory = new InstructionFactory(_cg, _cp);"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
30: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " }"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
31: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
32: aload 0
invokevirtual com.sun.org.apache.bcel.internal.util.BCELifier.printCreate:()V
33: aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getFields:()[Lcom/sun/org/apache/bcel/internal/classfile/Field;
astore 6
start local 6 34: aload 6
arraylength
ifle 44
35: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " private void createFields() {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
36: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " FieldGen field;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
37: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 41
StackMap locals: com.sun.org.apache.bcel.internal.util.BCELifier com.sun.org.apache.bcel.internal.classfile.JavaClass java.lang.String java.lang.String java.lang.String java.lang.String com.sun.org.apache.bcel.internal.classfile.Field[] top int int com.sun.org.apache.bcel.internal.classfile.Field[]
StackMap stack:
38: aload 10
iload 8
aaload
astore 7
start local 7 39: aload 7
aload 0
invokevirtual com.sun.org.apache.bcel.internal.classfile.Field.accept:(Lcom/sun/org/apache/bcel/internal/classfile/Visitor;)V
end local 7 40: iinc 8 1
StackMap locals:
StackMap stack:
41: iload 8
iload 9
if_icmplt 38
42: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " }"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
43: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
44: StackMap locals: com.sun.org.apache.bcel.internal.util.BCELifier com.sun.org.apache.bcel.internal.classfile.JavaClass java.lang.String java.lang.String java.lang.String java.lang.String com.sun.org.apache.bcel.internal.classfile.Field[]
StackMap stack:
aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getMethods:()[Lcom/sun/org/apache/bcel/internal/classfile/Method;
astore 7
start local 7 45: iconst_0
istore 8
start local 8 46: goto 52
47: StackMap locals: com.sun.org.apache.bcel.internal.classfile.Method[] int
StackMap stack:
aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc " private void createMethod_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "() {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
48: aload 7
iload 8
aaload
aload 0
invokevirtual com.sun.org.apache.bcel.internal.classfile.Method.accept:(Lcom/sun/org/apache/bcel/internal/classfile/Visitor;)V
49: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " }"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
50: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
51: iinc 8 1
StackMap locals:
StackMap stack:
52: iload 8
aload 7
arraylength
if_icmplt 47
end local 8 53: aload 0
invokevirtual com.sun.org.apache.bcel.internal.util.BCELifier.printMain:()V
54: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc "}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
55: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lcom/sun/org/apache/bcel/internal/util/BCELifier;
0 56 1 clazz Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
1 56 2 class_name Ljava/lang/String;
2 56 3 super_name Ljava/lang/String;
3 56 4 package_name Ljava/lang/String;
4 56 5 inter Ljava/lang/String;
34 56 6 fields [Lcom/sun/org/apache/bcel/internal/classfile/Field;
39 40 7 field Lcom/sun/org/apache/bcel/internal/classfile/Field;
45 56 7 methods [Lcom/sun/org/apache/bcel/internal/classfile/Method;
46 53 8 i I
MethodParameters:
Name Flags
clazz final
private void printCreate();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " public void create(OutputStream out) throws IOException {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
1: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._clazz:Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getFields:()[Lcom/sun/org/apache/bcel/internal/classfile/Field;
astore 1
start local 1 2: aload 1
arraylength
ifle 4
3: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " createFields();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: StackMap locals: com.sun.org.apache.bcel.internal.classfile.Field[]
StackMap stack:
aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._clazz:Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getMethods:()[Lcom/sun/org/apache/bcel/internal/classfile/Method;
astore 2
start local 2 5: iconst_0
istore 3
start local 3 6: goto 9
7: StackMap locals: com.sun.org.apache.bcel.internal.classfile.Method[] int
StackMap stack:
aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc " createMethod_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "();"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 2
arraylength
if_icmplt 7
end local 3 10: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " _cg.getJavaClass().dump(out);"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
11: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " }"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
12: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/org/apache/bcel/internal/util/BCELifier;
2 14 1 fields [Lcom/sun/org/apache/bcel/internal/classfile/Field;
5 14 2 methods [Lcom/sun/org/apache/bcel/internal/classfile/Method;
6 10 3 i I
private void printMain();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._clazz:Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getClassName:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " public static void main(String[] args) throws Exception {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
2: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Creator creator = new "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Creator();"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc " creator.create(new FileOutputStream(\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".class\"));"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " }"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/org/apache/bcel/internal/util/BCELifier;
1 6 1 class_name Ljava/lang/String;
public void visitField(com.sun.org.apache.bcel.internal.classfile.Field);
descriptor: (Lcom/sun/org/apache/bcel/internal/classfile/Field;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
1: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc " field = new FieldGen("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.Field.getAccessFlags:()I
invokestatic com.sun.org.apache.bcel.internal.util.BCELifier.printFlags:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.Field.getSignature:()Ljava/lang/String;
invokestatic com.sun.org.apache.bcel.internal.util.BCELifier.printType:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.Field.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\", _cp);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.Field.getConstantValue:()Lcom/sun/org/apache/bcel/internal/classfile/ConstantValue;
astore 2
start local 2 5: aload 2
ifnull 8
6: aload 2
invokevirtual com.sun.org.apache.bcel.internal.classfile.ConstantValue.toString:()Ljava/lang/String;
astore 3
start local 3 7: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc " field.setInitValue("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 3 8: StackMap locals: com.sun.org.apache.bcel.internal.classfile.ConstantValue
StackMap stack:
aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " _cg.addField(field.getField());"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/org/apache/bcel/internal/util/BCELifier;
0 10 1 field Lcom/sun/org/apache/bcel/internal/classfile/Field;
5 10 2 cv Lcom/sun/org/apache/bcel/internal/classfile/ConstantValue;
7 8 3 value Ljava/lang/String;
MethodParameters:
Name Flags
field final
public void visitMethod(com.sun.org.apache.bcel.internal.classfile.Method);
descriptor: (Lcom/sun/org/apache/bcel/internal/classfile/Method;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: new com.sun.org.apache.bcel.internal.generic.MethodGen
dup
aload 1
aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._clazz:Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getClassName:()Ljava/lang/String;
aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._cp:Lcom/sun/org/apache/bcel/internal/generic/ConstantPoolGen;
invokespecial com.sun.org.apache.bcel.internal.generic.MethodGen.<init>:(Lcom/sun/org/apache/bcel/internal/classfile/Method;Ljava/lang/String;Lcom/sun/org/apache/bcel/internal/generic/ConstantPoolGen;)V
astore 2
start local 2 1: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " InstructionList il = new InstructionList();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
2: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc " MethodGen method = new MethodGen("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.Method.getAccessFlags:()I
getstatic com.sun.org.apache.bcel.internal.util.BCELifier$FLAGS.METHOD:Lcom/sun/org/apache/bcel/internal/util/BCELifier$FLAGS;
invokestatic com.sun.org.apache.bcel.internal.util.BCELifier.printFlags:(ILcom/sun/org/apache/bcel/internal/util/BCELifier$FLAGS;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 2
invokevirtual com.sun.org.apache.bcel.internal.generic.MethodGen.getReturnType:()Lcom/sun/org/apache/bcel/internal/generic/Type;
invokestatic com.sun.org.apache.bcel.internal.util.BCELifier.printType:(Lcom/sun/org/apache/bcel/internal/generic/Type;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 2
invokevirtual com.sun.org.apache.bcel.internal.generic.MethodGen.getArgumentTypes:()[Lcom/sun/org/apache/bcel/internal/generic/Type;
invokestatic com.sun.org.apache.bcel.internal.util.BCELifier.printArgumentTypes:([Lcom/sun/org/apache/bcel/internal/generic/Type;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "new String[] { "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual com.sun.org.apache.bcel.internal.generic.MethodGen.getArgumentNames:()[Ljava/lang/String;
iconst_0
iconst_1
invokestatic com.sun.org.apache.bcel.internal.classfile.Utility.printArray:([Ljava/lang/Object;ZZ)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc " }, \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.sun.org.apache.bcel.internal.classfile.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\", \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._clazz:Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
invokevirtual com.sun.org.apache.bcel.internal.classfile.JavaClass.getClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\", il, _cp);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
9: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
10: new com.sun.org.apache.bcel.internal.util.BCELFactory
dup
aload 2
aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
invokespecial com.sun.org.apache.bcel.internal.util.BCELFactory.<init>:(Lcom/sun/org/apache/bcel/internal/generic/MethodGen;Ljava/io/PrintWriter;)V
astore 3
start local 3 11: aload 3
invokevirtual com.sun.org.apache.bcel.internal.util.BCELFactory.start:()V
12: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " method.setMaxStack();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
13: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " method.setMaxLocals();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
14: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " _cg.addMethod(method.getMethod());"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
15: aload 0
getfield com.sun.org.apache.bcel.internal.util.BCELifier._out:Ljava/io/PrintWriter;
ldc " il.dispose();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/org/apache/bcel/internal/util/BCELifier;
0 17 1 method Lcom/sun/org/apache/bcel/internal/classfile/Method;
1 17 2 mg Lcom/sun/org/apache/bcel/internal/generic/MethodGen;
11 17 3 factory Lcom/sun/org/apache/bcel/internal/util/BCELFactory;
MethodParameters:
Name Flags
method final
static java.lang.String printFlags(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
getstatic com.sun.org.apache.bcel.internal.util.BCELifier$FLAGS.UNKNOWN:Lcom/sun/org/apache/bcel/internal/util/BCELifier$FLAGS;
invokestatic com.sun.org.apache.bcel.internal.util.BCELifier.printFlags:(ILcom/sun/org/apache/bcel/internal/util/BCELifier$FLAGS;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 flags I
MethodParameters:
Name Flags
flags final
public static java.lang.String printFlags(int, com.sun.org.apache.bcel.internal.util.BCELifier$FLAGS);
descriptor: (ILcom/sun/org/apache/bcel/internal/util/BCELifier$FLAGS;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: iload 0
ifne 2
1: ldc "0"
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: iconst_1
istore 4
start local 4 5: goto 24
6: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
iload 0
iload 4
iand
ifeq 22
7: iload 4
bipush 32
if_icmpne 10
aload 1
getstatic com.sun.org.apache.bcel.internal.util.BCELifier$FLAGS.CLASS:Lcom/sun/org/apache/bcel/internal/util/BCELifier$FLAGS;
if_acmpne 10
8: aload 2
new java.lang.StringBuilder
dup
getstatic com.sun.org.apache.bcel.internal.util.BCELifier.CONSTANT_PREFIX:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "ACC_SUPER | "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: goto 22
StackMap locals:
StackMap stack:
10: iload 4
bipush 64
if_icmpne 13
aload 1
getstatic com.sun.org.apache.bcel.internal.util.BCELifier$FLAGS.METHOD:Lcom/sun/org/apache/bcel/internal/util/BCELifier$FLAGS;
if_acmpne 13
11: aload 2
new java.lang.StringBuilder
dup
getstatic com.sun.org.apache.bcel.internal.util.BCELifier.CONSTANT_PREFIX:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "ACC_BRIDGE | "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: goto 22
StackMap locals:
StackMap stack:
13: iload 4
sipush 128
if_icmpne 16
aload 1
getstatic com.sun.org.apache.bcel.internal.util.BCELifier$FLAGS.METHOD:Lcom/sun/org/apache/bcel/internal/util/BCELifier$FLAGS;
if_acmpne 16
14: aload 2
new java.lang.StringBuilder
dup
getstatic com.sun.org.apache.bcel.internal.util.BCELifier.CONSTANT_PREFIX:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "ACC_VARARGS | "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: goto 22
16: StackMap locals:
StackMap stack:
iload 3
getstatic com.sun.org.apache.bcel.internal.Const.ACCESS_NAMES_LENGTH:I
if_icmpge 21
17: aload 2
new java.lang.StringBuilder
dup
getstatic com.sun.org.apache.bcel.internal.util.BCELifier.CONSTANT_PREFIX:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "ACC_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: iload 3
invokestatic com.sun.org.apache.bcel.internal.Const.getAccessName:(I)Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: ldc " | "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: goto 22
21: StackMap locals:
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
getstatic com.sun.org.apache.bcel.internal.util.BCELifier.CONSTANT_PREFIX:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "ACC_BIT %x | "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: StackMap locals:
StackMap stack:
iload 4
iconst_1
ishl
istore 4
23: iinc 3 1
StackMap locals:
StackMap stack:
24: iload 4
sipush 16384
if_icmple 6
end local 4 end local 3 25: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 26: aload 3
iconst_0
aload 3
invokevirtual java.lang.String.length:()I
iconst_3
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 flags I
0 27 1 location Lcom/sun/org/apache/bcel/internal/util/BCELifier$FLAGS;
3 27 2 buf Ljava/lang/StringBuilder;
4 25 3 i I
5 25 4 pow I
26 27 3 str Ljava/lang/String;
MethodParameters:
Name Flags
flags final
location final
static java.lang.String printArgumentTypes(com.sun.org.apache.bcel.internal.generic.Type[]);
descriptor: ([Lcom/sun/org/apache/bcel/internal/generic/Type;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
arraylength
ifne 2
1: ldc "Type.NO_ARGS"
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 9
5: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 1
aload 0
iload 2
aaload
invokestatic com.sun.org.apache.bcel.internal.util.BCELifier.printType:(Lcom/sun/org/apache/bcel/internal/generic/Type;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: iload 2
aload 0
arraylength
iconst_1
isub
if_icmpge 8
7: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 0
arraylength
if_icmplt 5
end local 2 10: new java.lang.StringBuilder
dup
ldc "new Type[] { "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " }"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 arg_types [Lcom/sun/org/apache/bcel/internal/generic/Type;
3 11 1 args Ljava/lang/StringBuilder;
4 10 2 i I
MethodParameters:
Name Flags
arg_types final
static java.lang.String printType(com.sun.org.apache.bcel.internal.generic.Type);
descriptor: (Lcom/sun/org/apache/bcel/internal/generic/Type;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.org.apache.bcel.internal.generic.Type.getSignature:()Ljava/lang/String;
invokestatic com.sun.org.apache.bcel.internal.util.BCELifier.printType:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Lcom/sun/org/apache/bcel/internal/generic/Type;
MethodParameters:
Name Flags
type final
static java.lang.String printType(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokestatic com.sun.org.apache.bcel.internal.generic.Type.getType:(Ljava/lang/String;)Lcom/sun/org/apache/bcel/internal/generic/Type;
astore 1
start local 1 1: aload 1
invokevirtual com.sun.org.apache.bcel.internal.generic.Type.getType:()B
istore 2
start local 2 2: iload 2
bipush 12
if_icmpgt 4
3: new java.lang.StringBuilder
dup
ldc "Type."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokestatic com.sun.org.apache.bcel.internal.Const.getTypeName:(I)Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals: com.sun.org.apache.bcel.internal.generic.Type int
StackMap stack:
aload 1
invokevirtual com.sun.org.apache.bcel.internal.generic.Type.toString:()Ljava/lang/String;
ldc "java.lang.String"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: ldc "Type.STRING"
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.org.apache.bcel.internal.generic.Type.toString:()Ljava/lang/String;
ldc "java.lang.Object"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: ldc "Type.OBJECT"
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.org.apache.bcel.internal.generic.Type.toString:()Ljava/lang/String;
ldc "java.lang.StringBuffer"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
9: ldc "Type.STRINGBUFFER"
areturn
10: StackMap locals:
StackMap stack:
aload 1
instanceof com.sun.org.apache.bcel.internal.generic.ArrayType
ifeq 15
11: aload 1
checkcast com.sun.org.apache.bcel.internal.generic.ArrayType
astore 3
start local 3 12: new java.lang.StringBuilder
dup
ldc "new ArrayType("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual com.sun.org.apache.bcel.internal.generic.ArrayType.getBasicType:()Lcom/sun/org/apache/bcel/internal/generic/Type;
invokestatic com.sun.org.apache.bcel.internal.util.BCELifier.printType:(Lcom/sun/org/apache/bcel/internal/generic/Type;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual com.sun.org.apache.bcel.internal.generic.ArrayType.getDimensions:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
13: ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 15: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "new ObjectType(\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iconst_0
invokestatic com.sun.org.apache.bcel.internal.classfile.Utility.signatureToString:(Ljava/lang/String;Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 signature Ljava/lang/String;
1 16 1 type Lcom/sun/org/apache/bcel/internal/generic/Type;
2 16 2 t B
12 15 3 at Lcom/sun/org/apache/bcel/internal/generic/ArrayType;
MethodParameters:
Name Flags
signature final
public static void _main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Usage: BCELifier classname"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\tThe class must exist on the classpath"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: return
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
aaload
invokestatic com.sun.org.apache.bcel.internal.util.BCELifier.getJavaClass:(Ljava/lang/String;)Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
astore 1
start local 1 5: new com.sun.org.apache.bcel.internal.util.BCELifier
dup
aload 1
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokespecial com.sun.org.apache.bcel.internal.util.BCELifier.<init>:(Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;Ljava/io/OutputStream;)V
astore 2
start local 2 6: aload 2
invokevirtual com.sun.org.apache.bcel.internal.util.BCELifier.start:()V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 argv [Ljava/lang/String;
5 8 1 java_class Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
6 8 2 bcelifier Lcom/sun/org/apache/bcel/internal/util/BCELifier;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
argv final
static com.sun.org.apache.bcel.internal.classfile.JavaClass getJavaClass(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.sun.org.apache.bcel.internal.Repository.lookupClass:(Ljava/lang/String;)Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
dup
astore 1
start local 1 1: ifnonnull 3
2: new com.sun.org.apache.bcel.internal.classfile.ClassParser
dup
aload 0
invokespecial com.sun.org.apache.bcel.internal.classfile.ClassParser.<init>:(Ljava/lang/String;)V
invokevirtual com.sun.org.apache.bcel.internal.classfile.ClassParser.parse:()Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
astore 1
3: StackMap locals: com.sun.org.apache.bcel.internal.classfile.JavaClass
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
1 4 1 java_class Lcom/sun/org/apache/bcel/internal/classfile/JavaClass;
Exceptions:
throws java.lang.ClassNotFoundException, java.io.IOException
MethodParameters:
Name Flags
name final
}
SourceFile: "BCELifier.java"
NestMembers:
com.sun.org.apache.bcel.internal.util.BCELifier$FLAGS
InnerClasses:
public final FLAGS = com.sun.org.apache.bcel.internal.util.BCELifier$FLAGS of com.sun.org.apache.bcel.internal.util.BCELifier