public class org.objectweb.asm.optimizer.MethodOptimizer extends org.objectweb.asm.commons.MethodRemapper implements org.objectweb.asm.Opcodes
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.objectweb.asm.optimizer.MethodOptimizer
super_class: org.objectweb.asm.commons.MethodRemapper
{
private final org.objectweb.asm.optimizer.ClassOptimizer classOptimizer;
descriptor: Lorg/objectweb/asm/optimizer/ClassOptimizer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.util.HashMap<java.lang.String, java.lang.String[]> BOXING_MAP;
descriptor: Ljava/util/HashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;[Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=9, args_size=0
0: bipush 7
anewarray java.lang.String[]
dup
iconst_0
1: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "java/lang/Byte"
aastore
dup
iconst_1
ldc "(B)V"
aastore
aastore
dup
iconst_1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "java/lang/Short"
aastore
dup
iconst_1
ldc "(S)V"
aastore
aastore
dup
iconst_2
2: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "java/lang/Character"
aastore
dup
iconst_1
ldc "(C)V"
aastore
aastore
dup
iconst_3
3: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "java/lang/Integer"
aastore
dup
iconst_1
ldc "(I)V"
aastore
aastore
dup
iconst_4
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "java/lang/Long"
aastore
dup
iconst_1
ldc "(J)V"
aastore
aastore
dup
iconst_5
4: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "java/lang/Float"
aastore
dup
iconst_1
ldc "(F)V"
aastore
aastore
dup
bipush 6
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "java/lang/Double"
aastore
dup
iconst_1
ldc "(D)V"
aastore
aastore
5: astore 0
start local 0 6: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 7: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 16
StackMap locals: java.lang.String[][] java.util.HashMap top int int java.lang.String[][]
StackMap stack:
8: aload 5
iload 3
aaload
astore 2
start local 2 9: aload 2
iconst_0
aaload
astore 6
start local 6 10: aload 2
iconst_1
aaload
astore 7
start local 7 11: new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 7
iconst_1
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc ")L"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 59
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
start local 8 14: aload 1
aload 8
aload 2
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 end local 6 end local 2 15: iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
iload 4
if_icmplt 8
17: aload 1
putstatic org.objectweb.asm.optimizer.MethodOptimizer.BOXING_MAP:Ljava/util/HashMap;
end local 1 end local 0 18: return
LocalVariableTable:
Start End Slot Name Signature
6 18 0 boxingNames [[Ljava/lang/String;
7 18 1 map Ljava/util/HashMap<Ljava/lang/String;[Ljava/lang/String;>;
9 15 2 boxingName [Ljava/lang/String;
10 15 6 wrapper Ljava/lang/String;
11 15 7 desc Ljava/lang/String;
14 15 8 boxingMethod Ljava/lang/String;
public void <init>(org.objectweb.asm.optimizer.ClassOptimizer, org.objectweb.asm.MethodVisitor, org.objectweb.asm.commons.Remapper);
descriptor: (Lorg/objectweb/asm/optimizer/ClassOptimizer;Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/commons/Remapper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc 327680
aload 2
aload 3
invokespecial org.objectweb.asm.commons.MethodRemapper.<init>:(ILorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/commons/Remapper;)V
1: aload 0
aload 1
putfield org.objectweb.asm.optimizer.MethodOptimizer.classOptimizer:Lorg/objectweb/asm/optimizer/ClassOptimizer;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
0 3 1 classOptimizer Lorg/objectweb/asm/optimizer/ClassOptimizer;
0 3 2 mv Lorg/objectweb/asm/MethodVisitor;
0 3 3 remapper Lorg/objectweb/asm/commons/Remapper;
MethodParameters:
Name Flags
classOptimizer
mv
remapper
public void visitParameter(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
0 1 1 name Ljava/lang/String;
0 1 2 access I
MethodParameters:
Name Flags
name
access
public org.objectweb.asm.AnnotationVisitor visitAnnotationDefault();
descriptor: ()Lorg/objectweb/asm/AnnotationVisitor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
0 1 1 desc Ljava/lang/String;
0 1 2 visible Z
MethodParameters:
Name Flags
desc
visible
public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int, org.objectweb.asm.TypePath, java.lang.String, boolean);
descriptor: (ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
0 1 1 typeRef I
0 1 2 typePath Lorg/objectweb/asm/TypePath;
0 1 3 desc Ljava/lang/String;
0 1 4 visible Z
MethodParameters:
Name Flags
typeRef
typePath
desc
visible
public org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int, java.lang.String, boolean);
descriptor: (ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
0 1 1 parameter I
0 1 2 desc Ljava/lang/String;
0 1 3 visible Z
MethodParameters:
Name Flags
parameter final
desc final
visible final
public void visitLocalVariable(java.lang.String, java.lang.String, java.lang.String, org.objectweb.asm.Label, org.objectweb.asm.Label, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: return
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 1 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
0 1 1 name Ljava/lang/String;
0 1 2 desc Ljava/lang/String;
0 1 3 signature Ljava/lang/String;
0 1 4 start Lorg/objectweb/asm/Label;
0 1 5 end Lorg/objectweb/asm/Label;
0 1 6 index I
MethodParameters:
Name Flags
name final
desc final
signature final
start final
end final
index final
public void visitLineNumber(int, org.objectweb.asm.Label);
descriptor: (ILorg/objectweb/asm/Label;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
0 1 1 line I
0 1 2 start Lorg/objectweb/asm/Label;
MethodParameters:
Name Flags
line final
start final
public void visitFrame(int, int, java.lang.Object[], int, java.lang.Object[]);
descriptor: (II[Ljava/lang/Object;I[Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: return
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 1 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
0 1 1 type I
0 1 2 local I
0 1 3 local2 [Ljava/lang/Object;
0 1 4 stack I
0 1 5 stack2 [Ljava/lang/Object;
MethodParameters:
Name Flags
type
local
local2
stack
stack2
public void visitAttribute(org.objectweb.asm.Attribute);
descriptor: (Lorg/objectweb/asm/Attribute;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
0 1 1 attr Lorg/objectweb/asm/Attribute;
MethodParameters:
Name Flags
attr
public void visitLdcInsn(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.objectweb.asm.Type
ifne 3
1: aload 0
aload 1
invokespecial org.objectweb.asm.commons.MethodRemapper.visitLdcInsn:(Ljava/lang/Object;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
checkcast org.objectweb.asm.Type
invokevirtual org.objectweb.asm.Type.getInternalName:()Ljava/lang/String;
astore 2
start local 2 4: new java.lang.StringBuilder
dup
ldc "class$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
bipush 47
bipush 36
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 5: aload 0
getfield org.objectweb.asm.optimizer.MethodOptimizer.classOptimizer:Lorg/objectweb/asm/optimizer/ClassOptimizer;
getfield org.objectweb.asm.optimizer.ClassOptimizer.syntheticClassFields:Ljava/util/List;
aload 2
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 11
6: aload 0
getfield org.objectweb.asm.optimizer.MethodOptimizer.classOptimizer:Lorg/objectweb/asm/optimizer/ClassOptimizer;
getfield org.objectweb.asm.optimizer.ClassOptimizer.syntheticClassFields:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: aload 0
getfield org.objectweb.asm.optimizer.MethodOptimizer.classOptimizer:Lorg/objectweb/asm/optimizer/ClassOptimizer;
sipush 4104
8: aload 3
ldc "Ljava/lang/Class;"
9: invokevirtual org.objectweb.asm.optimizer.ClassOptimizer.syntheticFieldVisitor:(ILjava/lang/String;Ljava/lang/String;)Lorg/objectweb/asm/FieldVisitor;
astore 4
start local 4 10: aload 4
invokevirtual org.objectweb.asm.FieldVisitor.visitEnd:()V
end local 4 11: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
getfield org.objectweb.asm.optimizer.MethodOptimizer.classOptimizer:Lorg/objectweb/asm/optimizer/ClassOptimizer;
getfield org.objectweb.asm.optimizer.ClassOptimizer.clsName:Ljava/lang/String;
astore 4
start local 4 12: aload 0
getfield org.objectweb.asm.optimizer.MethodOptimizer.mv:Lorg/objectweb/asm/MethodVisitor;
sipush 178
aload 4
aload 3
ldc "Ljava/lang/Class;"
invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
0 14 1 cst Ljava/lang/Object;
4 14 2 ldcName Ljava/lang/String;
5 14 3 fieldName Ljava/lang/String;
10 11 4 fv Lorg/objectweb/asm/FieldVisitor;
12 14 4 clsName Ljava/lang/String;
MethodParameters:
Name Flags
cst
public void visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 1
sipush 184
if_icmpne 16
aload 3
ldc "valueOf"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
1: getstatic org.objectweb.asm.optimizer.MethodOptimizer.BOXING_MAP:Ljava/util/HashMap;
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String[]
dup
astore 6
start local 6 2: ifnull 16
3: aload 6
iconst_0
aaload
astore 7
start local 7 4: aload 6
iconst_1
aaload
astore 8
start local 8 5: aload 0
sipush 187
aload 7
invokespecial org.objectweb.asm.commons.MethodRemapper.visitTypeInsn:(ILjava/lang/String;)V
6: aload 0
bipush 89
invokespecial org.objectweb.asm.commons.MethodRemapper.visitInsn:(I)V
7: aload 0
aload 8
ldc "(J)V"
if_acmpeq 8
aload 8
ldc "(D)V"
if_acmpne 9
StackMap locals: org.objectweb.asm.optimizer.MethodOptimizer int java.lang.String java.lang.String java.lang.String int java.lang.String[] java.lang.String java.lang.String
StackMap stack: org.objectweb.asm.optimizer.MethodOptimizer
8: bipush 94
goto 10
9: StackMap locals:
StackMap stack: org.objectweb.asm.optimizer.MethodOptimizer
bipush 93
10: StackMap locals: org.objectweb.asm.optimizer.MethodOptimizer int java.lang.String java.lang.String java.lang.String int java.lang.String[] java.lang.String java.lang.String
StackMap stack: org.objectweb.asm.optimizer.MethodOptimizer int
invokespecial org.objectweb.asm.commons.MethodRemapper.visitInsn:(I)V
11: aload 0
bipush 88
invokespecial org.objectweb.asm.commons.MethodRemapper.visitInsn:(I)V
12: aload 0
sipush 183
aload 7
ldc "<init>"
aload 8
13: iconst_0
14: invokespecial org.objectweb.asm.commons.MethodRemapper.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
15: return
end local 8 end local 7 end local 6 16: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
aload 3
aload 4
iload 5
invokespecial org.objectweb.asm.commons.MethodRemapper.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
17: return
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 18 0 this Lorg/objectweb/asm/optimizer/MethodOptimizer;
0 18 1 opcode I
0 18 2 owner Ljava/lang/String;
0 18 3 name Ljava/lang/String;
0 18 4 desc Ljava/lang/String;
0 18 5 itf Z
2 16 6 constructorParams [Ljava/lang/String;
4 16 7 type Ljava/lang/String;
5 16 8 initDesc Ljava/lang/String;
MethodParameters:
Name Flags
opcode
owner
name
desc
itf
}
SourceFile: "MethodOptimizer.java"