public class com.sun.tools.javac.jvm.CRTable implements com.sun.tools.javac.jvm.CRTFlags
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.jvm.CRTable
super_class: java.lang.Object
{
private final boolean crtDebug;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 0
private com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.jvm.CRTable$CRTEntry> entries;
descriptor: Lcom/sun/tools/javac/util/ListBuffer;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/jvm/CRTable$CRTEntry;>;
private java.util.Map<java.lang.Object, com.sun.tools.javac.jvm.CRTable$SourceRange> positions;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/Object;Lcom/sun/tools/javac/jvm/CRTable$SourceRange;>;
private com.sun.tools.javac.tree.EndPosTable endPosTable;
descriptor: Lcom/sun/tools/javac/tree/EndPosTable;
flags: (0x0002) ACC_PRIVATE
com.sun.tools.javac.tree.JCTree$JCMethodDecl methodTree;
descriptor: Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
flags: (0x0000)
public void <init>(com.sun.tools.javac.tree.JCTree$JCMethodDecl, com.sun.tools.javac.tree.EndPosTable);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;Lcom/sun/tools/javac/tree/EndPosTable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.sun.tools.javac.jvm.CRTable.crtDebug:Z
2: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.jvm.CRTable.entries:Lcom/sun/tools/javac/util/ListBuffer;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.jvm.CRTable.positions:Ljava/util/Map;
4: aload 0
aload 1
putfield com.sun.tools.javac.jvm.CRTable.methodTree:Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
5: aload 0
aload 2
putfield com.sun.tools.javac.jvm.CRTable.endPosTable:Lcom/sun/tools/javac/tree/EndPosTable;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/jvm/CRTable;
0 7 1 tree Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
0 7 2 endPosTable Lcom/sun/tools/javac/tree/EndPosTable;
MethodParameters:
Name Flags
tree
endPosTable
public void put(java.lang.Object, int, int, int);
descriptor: (Ljava/lang/Object;III)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.tools.javac.jvm.CRTable.entries:Lcom/sun/tools/javac/util/ListBuffer;
new com.sun.tools.javac.jvm.CRTable$CRTEntry
dup
aload 1
iload 2
iload 3
iload 4
invokespecial com.sun.tools.javac.jvm.CRTable$CRTEntry.<init>:(Ljava/lang/Object;III)V
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/jvm/CRTable;
0 2 1 tree Ljava/lang/Object;
0 2 2 flags I
0 2 3 startPc I
0 2 4 endPc I
MethodParameters:
Name Flags
tree
flags
startPc
endPc
public int writeCRT(com.sun.tools.javac.util.ByteBuffer, com.sun.tools.javac.util.Position$LineMap, com.sun.tools.javac.util.Log);
descriptor: (Lcom/sun/tools/javac/util/ByteBuffer;Lcom/sun/tools/javac/util/Position$LineMap;Lcom/sun/tools/javac/util/Log;)I
flags: (0x0001) ACC_PUBLIC
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: new com.sun.tools.javac.jvm.CRTable$SourceComputer
dup
aload 0
invokespecial com.sun.tools.javac.jvm.CRTable$SourceComputer.<init>:(Lcom/sun/tools/javac/jvm/CRTable;)V
aload 0
getfield com.sun.tools.javac.jvm.CRTable.methodTree:Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
invokevirtual com.sun.tools.javac.jvm.CRTable$SourceComputer.csp:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/jvm/CRTable$SourceRange;
pop
2: aload 0
getfield com.sun.tools.javac.jvm.CRTable.entries:Lcom/sun/tools/javac/util/ListBuffer;
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
astore 5
start local 5 3: goto 24
4: StackMap locals: int com.sun.tools.javac.util.List
StackMap stack:
aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.jvm.CRTable$CRTEntry
astore 6
start local 6 5: aload 6
getfield com.sun.tools.javac.jvm.CRTable$CRTEntry.startPc:I
aload 6
getfield com.sun.tools.javac.jvm.CRTable$CRTEntry.endPc:I
if_icmpne 7
6: goto 23
7: StackMap locals: com.sun.tools.javac.jvm.CRTable$CRTEntry
StackMap stack:
aload 0
getfield com.sun.tools.javac.jvm.CRTable.positions:Ljava/util/Map;
aload 6
getfield com.sun.tools.javac.jvm.CRTable$CRTEntry.tree:Ljava/lang/Object;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.jvm.CRTable$SourceRange
astore 7
start local 7 8: aload 7
ldc "CRT: tree source positions are undefined"
invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
9: aload 7
getfield com.sun.tools.javac.jvm.CRTable$SourceRange.startPos:I
iconst_m1
if_icmpeq 23
aload 7
getfield com.sun.tools.javac.jvm.CRTable$SourceRange.endPos:I
iconst_m1
if_icmpne 11
10: goto 23
11: StackMap locals: com.sun.tools.javac.jvm.CRTable$SourceRange
StackMap stack:
aload 0
aload 7
getfield com.sun.tools.javac.jvm.CRTable$SourceRange.startPos:I
aload 2
aload 3
invokevirtual com.sun.tools.javac.jvm.CRTable.encodePosition:(ILcom/sun/tools/javac/util/Position$LineMap;Lcom/sun/tools/javac/util/Log;)I
istore 8
start local 8 12: iload 8
iconst_m1
if_icmpne 14
13: goto 23
14: StackMap locals: int
StackMap stack:
aload 0
aload 7
getfield com.sun.tools.javac.jvm.CRTable$SourceRange.endPos:I
aload 2
aload 3
invokevirtual com.sun.tools.javac.jvm.CRTable.encodePosition:(ILcom/sun/tools/javac/util/Position$LineMap;Lcom/sun/tools/javac/util/Log;)I
istore 9
start local 9 15: iload 9
iconst_m1
if_icmpne 17
16: goto 23
17: StackMap locals: int
StackMap stack:
aload 1
aload 6
getfield com.sun.tools.javac.jvm.CRTable$CRTEntry.startPc:I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
18: aload 1
aload 6
getfield com.sun.tools.javac.jvm.CRTable$CRTEntry.endPc:I
iconst_1
isub
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
19: aload 1
iload 8
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendInt:(I)V
20: aload 1
iload 9
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendInt:(I)V
21: aload 1
aload 6
getfield com.sun.tools.javac.jvm.CRTable$CRTEntry.flags:I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
22: iinc 4 1
end local 9 end local 8 end local 7 end local 6 23: StackMap locals: com.sun.tools.javac.jvm.CRTable com.sun.tools.javac.util.ByteBuffer com.sun.tools.javac.util.Position$LineMap com.sun.tools.javac.util.Log int com.sun.tools.javac.util.List
StackMap stack:
aload 5
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 5
StackMap locals:
StackMap stack:
24: aload 5
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 4
end local 5 25: iload 4
ireturn
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 Lcom/sun/tools/javac/jvm/CRTable;
0 26 1 databuf Lcom/sun/tools/javac/util/ByteBuffer;
0 26 2 lineMap Lcom/sun/tools/javac/util/Position$LineMap;
0 26 3 log Lcom/sun/tools/javac/util/Log;
1 26 4 crtEntries I
3 25 5 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/CRTable$CRTEntry;>;
5 23 6 entry Lcom/sun/tools/javac/jvm/CRTable$CRTEntry;
8 23 7 pos Lcom/sun/tools/javac/jvm/CRTable$SourceRange;
12 23 8 startPos I
15 23 9 endPos I
MethodParameters:
Name Flags
databuf
lineMap
log
public int length();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.jvm.CRTable.entries:Lcom/sun/tools/javac/util/ListBuffer;
invokevirtual com.sun.tools.javac.util.ListBuffer.length:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/CRTable;
private java.lang.String getTypes(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: ldc ""
astore 2
start local 2 1: iload 1
iconst_1
iand
ifeq 2
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
ldc " CRT_STATEMENT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
2: StackMap locals: java.lang.String
StackMap stack:
iload 1
iconst_2
iand
ifeq 3
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
ldc " CRT_BLOCK"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
3: StackMap locals:
StackMap stack:
iload 1
iconst_4
iand
ifeq 4
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
ldc " CRT_ASSIGNMENT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
4: StackMap locals:
StackMap stack:
iload 1
bipush 8
iand
ifeq 5
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
ldc " CRT_FLOW_CONTROLLER"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
5: StackMap locals:
StackMap stack:
iload 1
bipush 16
iand
ifeq 6
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
ldc " CRT_FLOW_TARGET"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
6: StackMap locals:
StackMap stack:
iload 1
bipush 32
iand
ifeq 7
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
ldc " CRT_INVOKE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
7: StackMap locals:
StackMap stack:
iload 1
bipush 64
iand
ifeq 8
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
ldc " CRT_CREATE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
8: StackMap locals:
StackMap stack:
iload 1
sipush 128
iand
ifeq 9
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
ldc " CRT_BRANCH_TRUE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
9: StackMap locals:
StackMap stack:
iload 1
sipush 256
iand
ifeq 10
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
ldc " CRT_BRANCH_FALSE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/javac/jvm/CRTable;
0 11 1 flags I
1 11 2 types Ljava/lang/String;
MethodParameters:
Name Flags
flags
private int encodePosition(int, com.sun.tools.javac.util.Position$LineMap, com.sun.tools.javac.util.Log);
descriptor: (ILcom/sun/tools/javac/util/Position$LineMap;Lcom/sun/tools/javac/util/Log;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iload 1
invokeinterface com.sun.tools.javac.util.Position$LineMap.getLineNumber:(I)I
istore 4
start local 4 1: aload 2
iload 1
invokeinterface com.sun.tools.javac.util.Position$LineMap.getColumnNumber:(I)I
istore 5
start local 5 2: iload 4
iload 5
invokestatic com.sun.tools.javac.util.Position.encodePosition:(II)I
istore 6
start local 6 3: iload 6
iconst_m1
if_icmpne 5
4: aload 3
iload 1
ldc "position.overflow"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual com.sun.tools.javac.util.Log.warning:(ILjava/lang/String;[Ljava/lang/Object;)V
5: StackMap locals: int int int
StackMap stack:
iload 6
ireturn
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 6 0 this Lcom/sun/tools/javac/jvm/CRTable;
0 6 1 pos I
0 6 2 lineMap Lcom/sun/tools/javac/util/Position$LineMap;
0 6 3 log Lcom/sun/tools/javac/util/Log;
1 6 4 line I
2 6 5 col I
3 6 6 new_pos I
MethodParameters:
Name Flags
pos
lineMap
log
}
SourceFile: "CRTable.java"
NestMembers:
com.sun.tools.javac.jvm.CRTable$CRTEntry com.sun.tools.javac.jvm.CRTable$SourceComputer com.sun.tools.javac.jvm.CRTable$SourceRange
InnerClasses:
CRTEntry = com.sun.tools.javac.jvm.CRTable$CRTEntry of com.sun.tools.javac.jvm.CRTable
SourceComputer = com.sun.tools.javac.jvm.CRTable$SourceComputer of com.sun.tools.javac.jvm.CRTable
SourceRange = com.sun.tools.javac.jvm.CRTable$SourceRange of com.sun.tools.javac.jvm.CRTable
public JCMethodDecl = com.sun.tools.javac.tree.JCTree$JCMethodDecl of com.sun.tools.javac.tree.JCTree
public abstract LineMap = com.sun.tools.javac.util.Position$LineMap of com.sun.tools.javac.util.Position