public class org.objectweb.asm.Label
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.objectweb.asm.Label
super_class: java.lang.Object
{
static final int DEBUG;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int RESOLVED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int RESIZED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int PUSHED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final int TARGET;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16
static final int STORE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32
static final int REACHABLE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 64
static final int JSR;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 128
static final int RET;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 256
static final int SUBROUTINE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 512
static final int VISITED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1024
static final int VISITED2;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2048
public java.lang.Object info;
descriptor: Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
int status;
descriptor: I
flags: (0x0000)
int line;
descriptor: I
flags: (0x0000)
int position;
descriptor: I
flags: (0x0000)
private int referenceCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] srcAndRefPositions;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
int inputStackTop;
descriptor: I
flags: (0x0000)
int outputStackMax;
descriptor: I
flags: (0x0000)
org.objectweb.asm.Frame frame;
descriptor: Lorg/objectweb/asm/Frame;
flags: (0x0000)
org.objectweb.asm.Label successor;
descriptor: Lorg/objectweb/asm/Label;
flags: (0x0000)
org.objectweb.asm.Edge successors;
descriptor: Lorg/objectweb/asm/Edge;
flags: (0x0000)
org.objectweb.asm.Label next;
descriptor: Lorg/objectweb/asm/Label;
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/objectweb/asm/Label;
public int getOffset();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.objectweb.asm.Label.status:I
iconst_2
iand
ifne 4
1: new java.lang.IllegalStateException
dup
2: ldc "Label offset position has not been resolved yet"
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.objectweb.asm.Label.position:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/objectweb/asm/Label;
void put(org.objectweb.asm.MethodWriter, org.objectweb.asm.ByteVector, int, boolean);
descriptor: (Lorg/objectweb/asm/MethodWriter;Lorg/objectweb/asm/ByteVector;IZ)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.objectweb.asm.Label.status:I
iconst_2
iand
ifne 8
1: iload 4
ifeq 5
2: aload 0
iconst_m1
iload 3
isub
aload 2
getfield org.objectweb.asm.ByteVector.length:I
invokevirtual org.objectweb.asm.Label.addReference:(II)V
3: aload 2
iconst_m1
invokevirtual org.objectweb.asm.ByteVector.putInt:(I)Lorg/objectweb/asm/ByteVector;
pop
4: goto 12
5: StackMap locals:
StackMap stack:
aload 0
iload 3
aload 2
getfield org.objectweb.asm.ByteVector.length:I
invokevirtual org.objectweb.asm.Label.addReference:(II)V
6: aload 2
iconst_m1
invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
pop
7: goto 12
8: StackMap locals:
StackMap stack:
iload 4
ifeq 11
9: aload 2
aload 0
getfield org.objectweb.asm.Label.position:I
iload 3
isub
invokevirtual org.objectweb.asm.ByteVector.putInt:(I)Lorg/objectweb/asm/ByteVector;
pop
10: goto 12
11: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.objectweb.asm.Label.position:I
iload 3
isub
invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
pop
12: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/objectweb/asm/Label;
0 13 1 owner Lorg/objectweb/asm/MethodWriter;
0 13 2 out Lorg/objectweb/asm/ByteVector;
0 13 3 source I
0 13 4 wideOffset Z
MethodParameters:
Name Flags
owner final
out final
source final
wideOffset final
private void addReference(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
ifnonnull 2
1: aload 0
bipush 6
newarray 10
putfield org.objectweb.asm.Label.srcAndRefPositions:[I
2: StackMap locals:
StackMap stack:
aload 0
getfield org.objectweb.asm.Label.referenceCount:I
aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
arraylength
if_icmplt 8
3: aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
arraylength
bipush 6
iadd
newarray 10
astore 3
start local 3 4: aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
iconst_0
aload 3
iconst_0
5: aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
arraylength
6: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
aload 3
putfield org.objectweb.asm.Label.srcAndRefPositions:[I
end local 3 8: StackMap locals:
StackMap stack:
aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
aload 0
dup
getfield org.objectweb.asm.Label.referenceCount:I
dup_x1
iconst_1
iadd
putfield org.objectweb.asm.Label.referenceCount:I
iload 1
iastore
9: aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
aload 0
dup
getfield org.objectweb.asm.Label.referenceCount:I
dup_x1
iconst_1
iadd
putfield org.objectweb.asm.Label.referenceCount:I
iload 2
iastore
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/objectweb/asm/Label;
0 11 1 sourcePosition I
0 11 2 referencePosition I
4 8 3 a [I
MethodParameters:
Name Flags
sourcePosition final
referencePosition final
boolean resolve(org.objectweb.asm.MethodWriter, int, byte[]);
descriptor: (Lorg/objectweb/asm/MethodWriter;I[B)Z
flags: (0x0000)
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 0
dup
getfield org.objectweb.asm.Label.status:I
iconst_2
ior
putfield org.objectweb.asm.Label.status:I
2: aload 0
iload 2
putfield org.objectweb.asm.Label.position:I
3: iconst_0
istore 5
start local 5 4: goto 24
5: StackMap locals: int int
StackMap stack:
aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
iload 5
iinc 5 1
iaload
istore 6
start local 6 6: aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
iload 5
iinc 5 1
iaload
istore 7
start local 7 7: iload 6
iflt 19
8: iload 2
iload 6
isub
istore 8
start local 8 9: iload 8
sipush -32768
if_icmplt 10
iload 8
sipush 32767
if_icmple 16
10: StackMap locals: int int int
StackMap stack:
aload 3
iload 7
iconst_1
isub
baload
sipush 255
iand
istore 9
start local 9 11: iload 9
sipush 168
if_icmpgt 14
12: aload 3
iload 7
iconst_1
isub
iload 9
bipush 49
iadd
i2b
bastore
13: goto 15
14: StackMap locals: int
StackMap stack:
aload 3
iload 7
iconst_1
isub
iload 9
bipush 20
iadd
i2b
bastore
15: StackMap locals:
StackMap stack:
iconst_1
istore 4
end local 9 16: StackMap locals:
StackMap stack:
aload 3
iload 7
iinc 7 1
iload 8
bipush 8
iushr
i2b
bastore
17: aload 3
iload 7
iload 8
i2b
bastore
18: goto 24
end local 8 19: StackMap locals:
StackMap stack:
iload 2
iload 6
iadd
iconst_1
iadd
istore 8
start local 8 20: aload 3
iload 7
iinc 7 1
iload 8
bipush 24
iushr
i2b
bastore
21: aload 3
iload 7
iinc 7 1
iload 8
bipush 16
iushr
i2b
bastore
22: aload 3
iload 7
iinc 7 1
iload 8
bipush 8
iushr
i2b
bastore
23: aload 3
iload 7
iload 8
i2b
bastore
end local 8 end local 7 end local 6 24: StackMap locals:
StackMap stack:
iload 5
aload 0
getfield org.objectweb.asm.Label.referenceCount:I
if_icmplt 5
25: iload 4
ireturn
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 26 0 this Lorg/objectweb/asm/Label;
0 26 1 owner Lorg/objectweb/asm/MethodWriter;
0 26 2 position I
0 26 3 data [B
1 26 4 needUpdate Z
4 26 5 i I
6 24 6 source I
7 24 7 reference I
9 19 8 offset I
20 24 8 offset I
11 16 9 opcode I
MethodParameters:
Name Flags
owner final
position final
data final
org.objectweb.asm.Label getFirst();
descriptor: ()Lorg/objectweb/asm/Label;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.objectweb.asm.Label.frame:Lorg/objectweb/asm/Frame;
ifnonnull 1
aload 0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.objectweb.asm.Label.frame:Lorg/objectweb/asm/Frame;
getfield org.objectweb.asm.Frame.owner:Lorg/objectweb/asm/Label;
StackMap locals:
StackMap stack: org.objectweb.asm.Label
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/objectweb/asm/Label;
boolean inSubroutine(long);
descriptor: (J)Z
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.objectweb.asm.Label.status:I
sipush 1024
iand
ifeq 3
1: aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
lload 1
bipush 32
lushr
l2i
iaload
lload 1
l2i
iand
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/objectweb/asm/Label;
0 4 1 id J
MethodParameters:
Name Flags
id final
boolean inSameSubroutine(org.objectweb.asm.Label);
descriptor: (Lorg/objectweb/asm/Label;)Z
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.objectweb.asm.Label.status:I
sipush 1024
iand
ifeq 1
aload 1
getfield org.objectweb.asm.Label.status:I
sipush 1024
iand
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
iload 2
iaload
aload 1
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
iload 2
iaload
iand
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
arraylength
if_icmplt 4
end local 2 8: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/objectweb/asm/Label;
0 9 1 block Lorg/objectweb/asm/Label;
3 8 2 i I
MethodParameters:
Name Flags
block final
void addToSubroutine(long, int);
descriptor: (JI)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield org.objectweb.asm.Label.status:I
sipush 1024
iand
ifne 3
1: aload 0
dup
getfield org.objectweb.asm.Label.status:I
sipush 1024
ior
putfield org.objectweb.asm.Label.status:I
2: aload 0
iload 3
iconst_1
isub
bipush 32
idiv
iconst_1
iadd
newarray 10
putfield org.objectweb.asm.Label.srcAndRefPositions:[I
3: StackMap locals:
StackMap stack:
aload 0
getfield org.objectweb.asm.Label.srcAndRefPositions:[I
lload 1
bipush 32
lushr
l2i
dup2
iaload
lload 1
l2i
ior
iastore
4: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/objectweb/asm/Label;
0 5 1 id J
0 5 3 nbSubroutines I
MethodParameters:
Name Flags
id final
nbSubroutines final
void visitSubroutine(org.objectweb.asm.Label, long, int);
descriptor: (Lorg/objectweb/asm/Label;JI)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
astore 5
start local 5 1: goto 28
2: StackMap locals: org.objectweb.asm.Label
StackMap stack:
aload 5
astore 6
start local 6 3: aload 6
getfield org.objectweb.asm.Label.next:Lorg/objectweb/asm/Label;
astore 5
4: aload 6
aconst_null
putfield org.objectweb.asm.Label.next:Lorg/objectweb/asm/Label;
5: aload 1
ifnull 17
6: aload 6
getfield org.objectweb.asm.Label.status:I
sipush 2048
iand
ifeq 8
7: goto 28
8: StackMap locals: org.objectweb.asm.Label
StackMap stack:
aload 6
dup
getfield org.objectweb.asm.Label.status:I
sipush 2048
ior
putfield org.objectweb.asm.Label.status:I
9: aload 6
getfield org.objectweb.asm.Label.status:I
sipush 256
iand
ifeq 20
10: aload 6
aload 1
invokevirtual org.objectweb.asm.Label.inSameSubroutine:(Lorg/objectweb/asm/Label;)Z
ifne 20
11: new org.objectweb.asm.Edge
dup
invokespecial org.objectweb.asm.Edge.<init>:()V
astore 7
start local 7 12: aload 7
aload 6
getfield org.objectweb.asm.Label.inputStackTop:I
putfield org.objectweb.asm.Edge.info:I
13: aload 7
aload 1
getfield org.objectweb.asm.Label.successors:Lorg/objectweb/asm/Edge;
getfield org.objectweb.asm.Edge.successor:Lorg/objectweb/asm/Label;
putfield org.objectweb.asm.Edge.successor:Lorg/objectweb/asm/Label;
14: aload 7
aload 6
getfield org.objectweb.asm.Label.successors:Lorg/objectweb/asm/Edge;
putfield org.objectweb.asm.Edge.next:Lorg/objectweb/asm/Edge;
15: aload 6
aload 7
putfield org.objectweb.asm.Label.successors:Lorg/objectweb/asm/Edge;
end local 7 16: goto 20
17: StackMap locals:
StackMap stack:
aload 6
lload 2
invokevirtual org.objectweb.asm.Label.inSubroutine:(J)Z
ifeq 19
18: goto 28
19: StackMap locals:
StackMap stack:
aload 6
lload 2
iload 4
invokevirtual org.objectweb.asm.Label.addToSubroutine:(JI)V
20: StackMap locals:
StackMap stack:
aload 6
getfield org.objectweb.asm.Label.successors:Lorg/objectweb/asm/Edge;
astore 7
start local 7 21: goto 27
22: StackMap locals: org.objectweb.asm.Edge
StackMap stack:
aload 6
getfield org.objectweb.asm.Label.status:I
sipush 128
iand
ifeq 23
aload 7
aload 6
getfield org.objectweb.asm.Label.successors:Lorg/objectweb/asm/Edge;
getfield org.objectweb.asm.Edge.next:Lorg/objectweb/asm/Edge;
if_acmpeq 26
23: StackMap locals:
StackMap stack:
aload 7
getfield org.objectweb.asm.Edge.successor:Lorg/objectweb/asm/Label;
getfield org.objectweb.asm.Label.next:Lorg/objectweb/asm/Label;
ifnonnull 26
24: aload 7
getfield org.objectweb.asm.Edge.successor:Lorg/objectweb/asm/Label;
aload 5
putfield org.objectweb.asm.Label.next:Lorg/objectweb/asm/Label;
25: aload 7
getfield org.objectweb.asm.Edge.successor:Lorg/objectweb/asm/Label;
astore 5
26: StackMap locals:
StackMap stack:
aload 7
getfield org.objectweb.asm.Edge.next:Lorg/objectweb/asm/Edge;
astore 7
27: StackMap locals:
StackMap stack:
aload 7
ifnonnull 22
end local 7 end local 6 28: StackMap locals:
StackMap stack:
aload 5
ifnonnull 2
29: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/objectweb/asm/Label;
0 30 1 JSR Lorg/objectweb/asm/Label;
0 30 2 id J
0 30 4 nbSubroutines I
1 30 5 stack Lorg/objectweb/asm/Label;
3 28 6 l Lorg/objectweb/asm/Label;
12 16 7 e Lorg/objectweb/asm/Edge;
21 28 7 e Lorg/objectweb/asm/Edge;
MethodParameters:
Name Flags
JSR final
id final
nbSubroutines final
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "L"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/objectweb/asm/Label;
}
SourceFile: "Label.java"