class com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper
super_class: java.lang.Object
{
private final java.util.Map<java.lang.Object, java.lang.Integer> keysToPos;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Integer;>;
final com.sun.tools.javac.util.ByteBuffer poolbuf;
descriptor: Lcom/sun/tools/javac/util/ByteBuffer;
flags: (0x0010) ACC_FINAL
int currentIndex;
descriptor: I
flags: (0x0000)
java.util.ArrayDeque<com.sun.tools.javac.jvm.PoolConstant> todo;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0000)
Signature: Ljava/util/ArrayDeque<Lcom/sun/tools/javac/jvm/PoolConstant;>;
java.lang.String overflowString;
descriptor: Ljava/lang/String;
flags: (0x0000)
final com.sun.tools.javac.jvm.PoolWriter this$0;
descriptor: Lcom/sun/tools/javac/jvm/PoolWriter;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.jvm.PoolWriter);
descriptor: (Lcom/sun/tools/javac/jvm/PoolWriter;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
bipush 64
invokespecial java.util.HashMap.<init>:(I)V
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.keysToPos:Ljava/util/Map;
2: aload 0
new com.sun.tools.javac.util.ByteBuffer
dup
sipush 32767
invokespecial com.sun.tools.javac.util.ByteBuffer.<init>:(I)V
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
3: aload 0
iconst_1
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.currentIndex:I
4: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.todo:Ljava/util/ArrayDeque;
5: aload 0
aconst_null
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.overflowString:Ljava/lang/String;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/jvm/PoolWriter$WriteablePoolHelper;
MethodParameters:
Name Flags
this$0 final
private <P extends com.sun.tools.javac.jvm.PoolConstant> int writeIfNeeded();
descriptor: (Lcom/sun/tools/javac/jvm/PoolConstant;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
getfield com.sun.tools.javac.jvm.PoolWriter.types:Lcom/sun/tools/javac/code/Types;
invokeinterface com.sun.tools.javac.jvm.PoolConstant.poolKey:(Lcom/sun/tools/javac/code/Types;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.keysToPos:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 3
start local 3 2: aload 3
ifnonnull 11
3: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.keysToPos:Ljava/util/Map;
aload 2
aload 0
dup
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.currentIndex:I
dup_x1
iconst_1
iadd
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.currentIndex:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
dup
astore 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.todo:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
istore 4
start local 4 5: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.todo:Ljava/util/ArrayDeque;
aload 1
invokevirtual java.util.ArrayDeque.addLast:(Ljava/lang/Object;)V
6: iload 4
ifeq 11
7: goto 10
8: StackMap locals: java.lang.Object java.lang.Integer int
StackMap stack:
aload 0
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.todo:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.peekFirst:()Ljava/lang/Object;
checkcast com.sun.tools.javac.jvm.PoolConstant
invokevirtual com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.writeConstant:(Lcom/sun/tools/javac/jvm/PoolConstant;)V
9: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.todo:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.removeFirst:()Ljava/lang/Object;
pop
10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.todo:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifeq 8
end local 4 11: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/javac/jvm/PoolWriter$WriteablePoolHelper;
0 12 1 p TP;
1 12 2 key Ljava/lang/Object;
2 12 3 index Ljava/lang/Integer;
5 11 4 first Z
Signature: <P::Lcom/sun/tools/javac/jvm/PoolConstant;>(TP;)I
MethodParameters:
Name Flags
p
void writeConstant(com.sun.tools.javac.jvm.PoolConstant);
descriptor: (Lcom/sun/tools/javac/jvm/PoolConstant;)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface com.sun.tools.javac.jvm.PoolConstant.poolTag:()I
istore 2
start local 2 1: iload 2
tableswitch { // 1 - 20
1: 12
2: 77
3: 35
4: 38
5: 41
6: 45
7: 2
8: 58
9: 20
10: 20
11: 20
12: 62
13: 77
14: 77
15: 49
16: 54
17: 72
18: 67
19: 30
20: 25
default: 77
}
2: StackMap locals: int
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Type
astore 3
start local 3 3: aload 3
getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 5
4: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
invokevirtual com.sun.tools.javac.jvm.PoolWriter.typeSig:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/Name;
goto 6
5: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
getfield com.sun.tools.javac.jvm.PoolWriter.names:Lcom/sun/tools/javac/util/Names;
aload 3
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flatName:()Lcom/sun/tools/javac/util/Name;
invokestatic com.sun.tools.javac.jvm.ClassFile.externalize:(Lcom/sun/tools/javac/util/Name;)[B
invokevirtual com.sun.tools.javac.util.Names.fromUtf:([B)Lcom/sun/tools/javac/util/Name;
6: StackMap locals:
StackMap stack: com.sun.tools.javac.util.Name
astore 4
start local 4 7: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
8: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 4
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putName:(Lcom/sun/tools/javac/util/Name;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
9: aload 3
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 78
10: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
invokevirtual com.sun.tools.javac.jvm.PoolWriter.enterInner:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
11: goto 78
end local 4 end local 3 12: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.util.Name
astore 3
start local 3 13: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
14: aload 3
invokevirtual com.sun.tools.javac.util.Name.toUtf:()[B
astore 4
start local 4 15: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 4
arraylength
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
16: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 4
iconst_0
aload 4
arraylength
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendBytes:([BII)V
17: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.overflowString:Ljava/lang/String;
ifnonnull 78
aload 4
arraylength
ldc 65535
if_icmple 78
18: aload 0
new java.lang.String
dup
aload 4
invokespecial java.lang.String.<init>:([B)V
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.overflowString:Ljava/lang/String;
19: goto 78
end local 4 end local 3 20: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Symbol
astore 3
start local 3 21: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
22: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putClass:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
23: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putNameAndType:(Lcom/sun/tools/javac/code/Symbol;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
24: goto 78
end local 3 25: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Symbol$PackageSymbol
astore 3
start local 3 26: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
getfield com.sun.tools.javac.jvm.PoolWriter.names:Lcom/sun/tools/javac/util/Names;
aload 3
invokevirtual com.sun.tools.javac.code.Symbol$PackageSymbol.flatName:()Lcom/sun/tools/javac/util/Name;
invokestatic com.sun.tools.javac.jvm.ClassFile.externalize:(Lcom/sun/tools/javac/util/Name;)[B
invokevirtual com.sun.tools.javac.util.Names.fromUtf:([B)Lcom/sun/tools/javac/util/Name;
astore 4
start local 4 27: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
28: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 4
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putName:(Lcom/sun/tools/javac/util/Name;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
29: goto 78
end local 4 end local 3 30: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
astore 3
start local 3 31: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putName:(Lcom/sun/tools/javac/util/Name;)I
istore 4
start local 4 32: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 3
invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.poolTag:()I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
33: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 4
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
34: goto 78
end local 4 end local 3 35: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
36: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 1
checkcast com.sun.tools.javac.jvm.PoolConstant$LoadableConstant$BasicConstant
getfield com.sun.tools.javac.jvm.PoolConstant$LoadableConstant$BasicConstant.data:Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendInt:(I)V
37: goto 78
38: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
39: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 1
checkcast com.sun.tools.javac.jvm.PoolConstant$LoadableConstant$BasicConstant
getfield com.sun.tools.javac.jvm.PoolConstant$LoadableConstant$BasicConstant.data:Ljava/lang/Object;
checkcast java.lang.Float
invokevirtual java.lang.Float.floatValue:()F
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendFloat:(F)V
40: goto 78
41: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.currentIndex:I
iconst_1
iadd
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.currentIndex:I
42: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
43: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 1
checkcast com.sun.tools.javac.jvm.PoolConstant$LoadableConstant$BasicConstant
getfield com.sun.tools.javac.jvm.PoolConstant$LoadableConstant$BasicConstant.data:Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendLong:(J)V
44: goto 78
45: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.currentIndex:I
iconst_1
iadd
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.currentIndex:I
46: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
47: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 1
checkcast com.sun.tools.javac.jvm.PoolConstant$LoadableConstant$BasicConstant
getfield com.sun.tools.javac.jvm.PoolConstant$LoadableConstant$BasicConstant.data:Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendDouble:(D)V
48: goto 78
49: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Symbol$MethodHandleSymbol
astore 3
start local 3 50: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
51: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 3
invokevirtual com.sun.tools.javac.code.Symbol$MethodHandleSymbol.referenceKind:()I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
52: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
invokevirtual com.sun.tools.javac.code.Symbol$MethodHandleSymbol.baseSymbol:()Lcom/sun/tools/javac/code/Symbol;
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putMember:(Lcom/sun/tools/javac/code/Symbol;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
53: goto 78
end local 3 54: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Type$MethodType
astore 3
start local 3 55: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
56: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
invokevirtual com.sun.tools.javac.code.Type$MethodType.baseType:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putDescriptor:(Lcom/sun/tools/javac/code/Type;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
57: goto 78
end local 3 58: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
getfield com.sun.tools.javac.jvm.PoolWriter.names:Lcom/sun/tools/javac/util/Names;
aload 1
checkcast com.sun.tools.javac.jvm.PoolConstant$LoadableConstant$BasicConstant
getfield com.sun.tools.javac.jvm.PoolConstant$LoadableConstant$BasicConstant.data:Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
astore 3
start local 3 59: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
60: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putName:(Lcom/sun/tools/javac/util/Name;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
61: goto 78
end local 3 62: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.jvm.PoolConstant$NameAndType
astore 3
start local 3 63: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
64: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
getfield com.sun.tools.javac.jvm.PoolConstant$NameAndType.name:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putName:(Lcom/sun/tools/javac/util/Name;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
65: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
getfield com.sun.tools.javac.jvm.PoolConstant$NameAndType.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putDescriptor:(Lcom/sun/tools/javac/code/Type;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
66: goto 78
end local 3 67: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Symbol$DynamicMethodSymbol
astore 3
start local 3 68: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
69: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
invokevirtual com.sun.tools.javac.jvm.PoolWriter.makeBootstrapEntry:(Lcom/sun/tools/javac/jvm/PoolConstant$Dynamic;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
70: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putNameAndType:(Lcom/sun/tools/javac/code/Symbol;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
71: goto 78
end local 3 72: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Symbol$DynamicVarSymbol
astore 3
start local 3 73: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendByte:(I)V
74: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
invokevirtual com.sun.tools.javac.jvm.PoolWriter.makeBootstrapEntry:(Lcom/sun/tools/javac/jvm/PoolConstant$Dynamic;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
75: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.this$0:Lcom/sun/tools/javac/jvm/PoolWriter;
aload 3
invokevirtual com.sun.tools.javac.jvm.PoolWriter.putNameAndType:(Lcom/sun/tools/javac/code/Symbol;)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.appendChar:(I)V
76: goto 78
end local 3 77: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unexpected constant tag: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
78: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 79 0 this Lcom/sun/tools/javac/jvm/PoolWriter$WriteablePoolHelper;
0 79 1 c Lcom/sun/tools/javac/jvm/PoolConstant;
1 79 2 tag I
3 12 3 ct Lcom/sun/tools/javac/code/Type;
7 12 4 name Lcom/sun/tools/javac/util/Name;
13 20 3 name Lcom/sun/tools/javac/util/Name;
15 20 4 bs [B
21 25 3 sym Lcom/sun/tools/javac/code/Symbol;
26 30 3 pkg Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
27 30 4 pkgName Lcom/sun/tools/javac/util/Name;
31 35 3 mod Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
32 35 4 modName I
50 54 3 h Lcom/sun/tools/javac/code/Symbol$MethodHandleSymbol;
55 58 3 mt Lcom/sun/tools/javac/code/Type$MethodType;
59 62 3 utf Lcom/sun/tools/javac/util/Name;
63 67 3 nt Lcom/sun/tools/javac/jvm/PoolConstant$NameAndType;
68 72 3 d Lcom/sun/tools/javac/code/Symbol$DynamicMethodSymbol;
73 77 3 d Lcom/sun/tools/javac/code/Symbol$DynamicVarSymbol;
MethodParameters:
Name Flags
c
void reset();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.keysToPos:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
1: aload 0
iconst_1
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.currentIndex:I
2: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.todo:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.clear:()V
3: aload 0
aconst_null
putfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.overflowString:Ljava/lang/String;
4: aload 0
getfield com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
invokevirtual com.sun.tools.javac.util.ByteBuffer.reset:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/jvm/PoolWriter$WriteablePoolHelper;
}
SourceFile: "PoolWriter.java"
NestHost: com.sun.tools.javac.jvm.PoolWriter
InnerClasses:
public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
public DynamicMethodSymbol = com.sun.tools.javac.code.Symbol$DynamicMethodSymbol of com.sun.tools.javac.code.Symbol
public DynamicVarSymbol = com.sun.tools.javac.code.Symbol$DynamicVarSymbol of com.sun.tools.javac.code.Symbol
public MethodHandleSymbol = com.sun.tools.javac.code.Symbol$MethodHandleSymbol of com.sun.tools.javac.code.Symbol
public ModuleSymbol = com.sun.tools.javac.code.Symbol$ModuleSymbol of com.sun.tools.javac.code.Symbol
public PackageSymbol = com.sun.tools.javac.code.Symbol$PackageSymbol of com.sun.tools.javac.code.Symbol
public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
public MethodType = com.sun.tools.javac.code.Type$MethodType of com.sun.tools.javac.code.Type
public abstract Dynamic = com.sun.tools.javac.jvm.PoolConstant$Dynamic of com.sun.tools.javac.jvm.PoolConstant
public abstract LoadableConstant = com.sun.tools.javac.jvm.PoolConstant$LoadableConstant of com.sun.tools.javac.jvm.PoolConstant
public BasicConstant = com.sun.tools.javac.jvm.PoolConstant$LoadableConstant$BasicConstant of com.sun.tools.javac.jvm.PoolConstant$LoadableConstant
public final NameAndType = com.sun.tools.javac.jvm.PoolConstant$NameAndType of com.sun.tools.javac.jvm.PoolConstant
WriteablePoolHelper = com.sun.tools.javac.jvm.PoolWriter$WriteablePoolHelper of com.sun.tools.javac.jvm.PoolWriter