public class com.sun.tools.javac.jvm.PoolReader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.jvm.PoolReader
super_class: java.lang.Object
{
private final com.sun.tools.javac.jvm.ClassReader reader;
descriptor: Lcom/sun/tools/javac/jvm/ClassReader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javac.util.ByteBuffer buf;
descriptor: Lcom/sun/tools/javac/util/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javac.util.Names names;
descriptor: Lcom/sun/tools/javac/util/Names;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javac.code.Symtab syms;
descriptor: Lcom/sun/tools/javac/code/Symtab;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper pool;
descriptor: Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
flags: (0x0002) ACC_PRIVATE
void <init>(com.sun.tools.javac.util.ByteBuffer);
descriptor: (Lcom/sun/tools/javac/util/ByteBuffer;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
aload 1
aconst_null
aconst_null
invokespecial com.sun.tools.javac.jvm.PoolReader.<init>:(Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/util/ByteBuffer;Lcom/sun/tools/javac/util/Names;Lcom/sun/tools/javac/code/Symtab;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 2 1 buf Lcom/sun/tools/javac/util/ByteBuffer;
MethodParameters:
Name Flags
buf
void <init>(com.sun.tools.javac.jvm.ClassReader, com.sun.tools.javac.util.Names, com.sun.tools.javac.code.Symtab);
descriptor: (Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/util/Names;Lcom/sun/tools/javac/code/Symtab;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 1
getfield com.sun.tools.javac.jvm.ClassReader.buf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 2
aload 3
invokespecial com.sun.tools.javac.jvm.PoolReader.<init>:(Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/util/ByteBuffer;Lcom/sun/tools/javac/util/Names;Lcom/sun/tools/javac/code/Symtab;)V
1: return
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/PoolReader;
0 2 1 reader Lcom/sun/tools/javac/jvm/ClassReader;
0 2 2 names Lcom/sun/tools/javac/util/Names;
0 2 3 syms Lcom/sun/tools/javac/code/Symtab;
MethodParameters:
Name Flags
reader
names
syms
void <init>(com.sun.tools.javac.jvm.ClassReader, com.sun.tools.javac.util.ByteBuffer, com.sun.tools.javac.util.Names, com.sun.tools.javac.code.Symtab);
descriptor: (Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/util/ByteBuffer;Lcom/sun/tools/javac/util/Names;Lcom/sun/tools/javac/code/Symtab;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.sun.tools.javac.jvm.PoolReader.reader:Lcom/sun/tools/javac/jvm/ClassReader;
2: aload 0
aload 2
putfield com.sun.tools.javac.jvm.PoolReader.buf:Lcom/sun/tools/javac/util/ByteBuffer;
3: aload 0
aload 3
putfield com.sun.tools.javac.jvm.PoolReader.names:Lcom/sun/tools/javac/util/Names;
4: aload 0
aload 4
putfield com.sun.tools.javac.jvm.PoolReader.syms:Lcom/sun/tools/javac/code/Symtab;
5: return
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/PoolReader;
0 6 1 reader Lcom/sun/tools/javac/jvm/ClassReader;
0 6 2 buf Lcom/sun/tools/javac/util/ByteBuffer;
0 6 3 names Lcom/sun/tools/javac/util/Names;
0 6 4 syms Lcom/sun/tools/javac/code/Symtab;
MethodParameters:
Name Flags
reader
buf
names
syms
com.sun.tools.javac.code.Symbol$ClassSymbol getClass(int);
descriptor: (I)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.readIfNeeded:(I)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 1 1 index I
MethodParameters:
Name Flags
index
<Z> Z peekClassName(int, com.sun.tools.javac.util.Name$NameMapper<Z>);
descriptor: (ILcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.buf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.offset:(I)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
aload 2
invokevirtual com.sun.tools.javac.jvm.PoolReader.peekName:(ILcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 1 1 index I
0 1 2 mapper Lcom/sun/tools/javac/util/Name$NameMapper<TZ;>;
Signature: <Z:Ljava/lang/Object;>(ILcom/sun/tools/javac/util/Name$NameMapper<TZ;>;)TZ;
MethodParameters:
Name Flags
index
mapper
<Z> Z peekPackageName(int, com.sun.tools.javac.util.Name$NameMapper<Z>);
descriptor: (ILcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.buf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.offset:(I)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
aload 2
invokevirtual com.sun.tools.javac.jvm.PoolReader.peekName:(ILcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 1 1 index I
0 1 2 mapper Lcom/sun/tools/javac/util/Name$NameMapper<TZ;>;
Signature: <Z:Ljava/lang/Object;>(ILcom/sun/tools/javac/util/Name$NameMapper<TZ;>;)TZ;
MethodParameters:
Name Flags
index
mapper
<Z> Z peekModuleName(int, com.sun.tools.javac.util.Name$NameMapper<Z>);
descriptor: (ILcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.buf:Lcom/sun/tools/javac/util/ByteBuffer;
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.offset:(I)I
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
aload 2
invokevirtual com.sun.tools.javac.jvm.PoolReader.peekName:(ILcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 1 1 index I
0 1 2 mapper Lcom/sun/tools/javac/util/Name$NameMapper<TZ;>;
Signature: <Z:Ljava/lang/Object;>(ILcom/sun/tools/javac/util/Name$NameMapper<TZ;>;)TZ;
MethodParameters:
Name Flags
index
mapper
com.sun.tools.javac.code.Symbol$ModuleSymbol getModule(int);
descriptor: (I)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.readIfNeeded:(I)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 1 1 index I
MethodParameters:
Name Flags
index
com.sun.tools.javac.code.Symbol$PackageSymbol getPackage(int);
descriptor: (I)Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.readIfNeeded:(I)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol$PackageSymbol
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 1 1 index I
MethodParameters:
Name Flags
index
<Z> Z peekName(int, com.sun.tools.javac.util.Name$NameMapper<Z>);
descriptor: (ILcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
invokevirtual com.sun.tools.javac.jvm.PoolReader.getUtf8:(ILcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 1 1 index I
0 1 2 mapper Lcom/sun/tools/javac/util/Name$NameMapper<TZ;>;
Signature: <Z:Ljava/lang/Object;>(ILcom/sun/tools/javac/util/Name$NameMapper<TZ;>;)TZ;
MethodParameters:
Name Flags
index
mapper
com.sun.tools.javac.util.Name getName(int);
descriptor: (I)Lcom/sun/tools/javac/util/Name;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.readIfNeeded:(I)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.Name
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 1 1 index I
MethodParameters:
Name Flags
index
com.sun.tools.javac.code.Type getType(int);
descriptor: (I)Lcom/sun/tools/javac/code/Type;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader.getName:(I)Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.reader:Lcom/sun/tools/javac/jvm/ClassReader;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic map(Lcom/sun/tools/javac/jvm/ClassReader;)Lcom/sun/tools/javac/util/Name$NameMapper;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
([BII)Ljava/lang/Object;
com/sun/tools/javac/jvm/ClassReader.sigToType([BII)Lcom/sun/tools/javac/code/Type; (5)
([BII)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.util.Name.map:(Lcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 1 1 index I
MethodParameters:
Name Flags
index
com.sun.tools.javac.jvm.PoolConstant$NameAndType getNameAndType(int);
descriptor: (I)Lcom/sun/tools/javac/jvm/PoolConstant$NameAndType;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.readIfNeeded:(I)Ljava/lang/Object;
checkcast com.sun.tools.javac.jvm.PoolConstant$NameAndType
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 1 1 index I
MethodParameters:
Name Flags
index
java.lang.Object getConstant(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.readIfNeeded:(I)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 1 1 index I
MethodParameters:
Name Flags
index
boolean hasTag(int, int);
descriptor: (II)Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.tag:(I)I
iload 2
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 2 1 index I
0 2 2 tag I
MethodParameters:
Name Flags
index
tag
private <Z> Z getUtf8(int, com.sun.tools.javac.util.Name$NameMapper<Z>);
descriptor: (ILcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.tag:(I)I
istore 3
start local 3 1: iload 3
iconst_1
if_icmpne 5
2: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
iload 1
invokevirtual com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.offset:(I)I
istore 4
start local 4 3: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
getfield com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
iload 4
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
istore 5
start local 5 4: aload 2
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
getfield com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.poolbuf:Lcom/sun/tools/javac/util/ByteBuffer;
getfield com.sun.tools.javac.util.ByteBuffer.elems:[B
iload 4
iconst_2
iadd
iload 5
invokeinterface com.sun.tools.javac.util.Name$NameMapper.map:([BII)Ljava/lang/Object;
areturn
end local 5 end local 4 5: StackMap locals: int
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 3
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
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/PoolReader;
0 6 1 index I
0 6 2 mapper Lcom/sun/tools/javac/util/Name$NameMapper<TZ;>;
1 6 3 tag I
3 5 4 offset I
4 5 5 len I
Signature: <Z:Ljava/lang/Object;>(ILcom/sun/tools/javac/util/Name$NameMapper<TZ;>;)TZ;
MethodParameters:
Name Flags
index
mapper
private java.lang.Object resolve(com.sun.tools.javac.util.ByteBuffer, int, int);
descriptor: (Lcom/sun/tools/javac/util/ByteBuffer;II)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
tableswitch { // 1 - 20
1: 1
2: 18
3: 9
4: 10
5: 11
6: 12
7: 3
8: 13
9: 18
10: 18
11: 18
12: 6
13: 18
14: 18
15: 18
16: 18
17: 18
18: 18
19: 16
20: 14
default: 18
}
1: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
istore 4
start local 4 2: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.names:Lcom/sun/tools/javac/util/Names;
aload 1
getfield com.sun.tools.javac.util.ByteBuffer.elems:[B
iload 3
iconst_2
iadd
iload 4
invokevirtual com.sun.tools.javac.util.Names.fromUtf:([BII)Lcom/sun/tools/javac/util/Name;
areturn
end local 4 3: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
istore 4
start local 4 4: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.names:Lcom/sun/tools/javac/util/Names;
aload 0
iload 4
invokevirtual com.sun.tools.javac.jvm.PoolReader.getName:(I)Lcom/sun/tools/javac/util/Name;
invokedynamic map()Lcom/sun/tools/javac/util/Name$NameMapper;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
([BII)Ljava/lang/Object;
com/sun/tools/javac/jvm/ClassFile.internalize([BII)[B (6)
([BII)[B
invokevirtual com.sun.tools.javac.util.Name.map:(Lcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
checkcast byte[]
invokevirtual com.sun.tools.javac.util.Names.fromUtf:([B)Lcom/sun/tools/javac/util/Name;
astore 5
start local 5 5: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.syms:Lcom/sun/tools/javac/code/Symtab;
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.reader:Lcom/sun/tools/javac/jvm/ClassReader;
getfield com.sun.tools.javac.jvm.ClassReader.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 5
invokevirtual com.sun.tools.javac.code.Symtab.enterClass:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
areturn
end local 5 end local 4 6: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
invokevirtual com.sun.tools.javac.jvm.PoolReader.getName:(I)Lcom/sun/tools/javac/util/Name;
astore 4
start local 4 7: aload 0
aload 1
iload 3
iconst_2
iadd
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
invokevirtual com.sun.tools.javac.jvm.PoolReader.getType:(I)Lcom/sun/tools/javac/code/Type;
astore 5
start local 5 8: new com.sun.tools.javac.jvm.PoolConstant$NameAndType
dup
aload 4
aload 5
invokespecial com.sun.tools.javac.jvm.PoolConstant$NameAndType.<init>:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;)V
areturn
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual com.sun.tools.javac.util.ByteBuffer.getInt:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
10: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual com.sun.tools.javac.util.ByteBuffer.getFloat:(I)F
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
areturn
11: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual com.sun.tools.javac.util.ByteBuffer.getLong:(I)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
12: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual com.sun.tools.javac.util.ByteBuffer.getDouble:(I)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
13: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
invokevirtual com.sun.tools.javac.jvm.PoolReader.getName:(I)Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
areturn
14: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
invokevirtual com.sun.tools.javac.jvm.PoolReader.getName:(I)Lcom/sun/tools/javac/util/Name;
astore 4
start local 4 15: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.syms:Lcom/sun/tools/javac/code/Symtab;
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.reader:Lcom/sun/tools/javac/jvm/ClassReader;
getfield com.sun.tools.javac.jvm.ClassReader.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.names:Lcom/sun/tools/javac/util/Names;
aload 4
invokestatic com.sun.tools.javac.jvm.ClassFile.internalize:(Lcom/sun/tools/javac/util/Name;)[B
invokevirtual com.sun.tools.javac.util.Names.fromUtf:([B)Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.code.Symtab.enterPackage:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
areturn
end local 4 16: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
invokevirtual com.sun.tools.javac.jvm.PoolReader.getName:(I)Lcom/sun/tools/javac/util/Name;
astore 4
start local 4 17: aload 0
getfield com.sun.tools.javac.jvm.PoolReader.syms:Lcom/sun/tools/javac/code/Symtab;
aload 4
invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
areturn
end local 4 18: 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
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 19 1 poolbuf Lcom/sun/tools/javac/util/ByteBuffer;
0 19 2 tag I
0 19 3 offset I
2 3 4 len I
4 6 4 index I
5 6 5 name Lcom/sun/tools/javac/util/Name;
7 9 4 name Lcom/sun/tools/javac/util/Name;
8 9 5 type Lcom/sun/tools/javac/code/Type;
15 16 4 name Lcom/sun/tools/javac/util/Name;
17 18 4 name Lcom/sun/tools/javac/util/Name;
MethodParameters:
Name Flags
poolbuf
tag
offset
int readPool(com.sun.tools.javac.util.ByteBuffer, int);
descriptor: (Lcom/sun/tools/javac/util/ByteBuffer;I)I
flags: (0x0000)
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
istore 3
start local 3 1: iconst_1
istore 4
start local 4 2: iinc 2 2
3: iload 3
newarray 10
astore 5
start local 5 4: goto 24
5: StackMap locals: int int int[]
StackMap stack:
aload 1
iload 2
iinc 2 1
invokevirtual com.sun.tools.javac.util.ByteBuffer.getByte:(I)B
istore 6
start local 6 6: aload 5
iload 4
iload 2
iastore
7: iload 6
tableswitch { // 1 - 20
1: 8
2: 19
3: 15
4: 15
5: 17
6: 17
7: 11
8: 11
9: 15
10: 15
11: 15
12: 15
13: 19
14: 19
15: 13
16: 11
17: 15
18: 15
19: 11
20: 11
default: 19
}
8: StackMap locals: int
StackMap stack:
aload 1
iload 2
invokevirtual com.sun.tools.javac.util.ByteBuffer.getChar:(I)C
istore 7
start local 7 9: iload 2
iconst_2
iload 7
iadd
iadd
istore 2
10: goto 23
end local 7 11: StackMap locals:
StackMap stack:
iinc 2 2
12: goto 23
13: StackMap locals:
StackMap stack:
iinc 2 3
14: goto 23
15: StackMap locals:
StackMap stack:
iinc 2 4
16: goto 23
17: StackMap locals:
StackMap stack:
iinc 2 8
18: goto 23
19: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.jvm.PoolReader.reader:Lcom/sun/tools/javac/jvm/ClassReader;
ldc "bad.const.pool.tag.at"
iconst_2
anewarray java.lang.Object
dup
iconst_0
20: iload 6
invokestatic java.lang.Byte.toString:(B)Ljava/lang/String;
aastore
dup
iconst_1
21: iload 2
iconst_1
isub
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
aastore
22: invokevirtual com.sun.tools.javac.jvm.ClassReader.badClassFile:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/code/ClassFinder$BadClassFile;
athrow
23: StackMap locals:
StackMap stack:
iload 4
aload 0
iload 6
invokevirtual com.sun.tools.javac.jvm.PoolReader.sizeof:(I)I
iadd
istore 4
end local 6 24: StackMap locals:
StackMap stack:
iload 4
iload 3
if_icmplt 5
25: aload 0
new com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper
dup
aload 0
aload 1
aload 5
invokespecial com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper.<init>:(Lcom/sun/tools/javac/jvm/PoolReader;Lcom/sun/tools/javac/util/ByteBuffer;[I)V
putfield com.sun.tools.javac.jvm.PoolReader.pool:Lcom/sun/tools/javac/jvm/PoolReader$ImmutablePoolHelper;
26: iload 2
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 27 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 27 1 poolbuf Lcom/sun/tools/javac/util/ByteBuffer;
0 27 2 offset I
1 27 3 poolSize I
2 27 4 index I
4 27 5 offsets [I
6 24 6 tag B
9 11 7 len I
MethodParameters:
Name Flags
poolbuf
offset
private int sizeof(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 5 - 6
5: 1
6: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_2
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/jvm/PoolReader;
0 3 1 tag I
MethodParameters:
Name Flags
tag
}
SourceFile: "PoolReader.java"
NestMembers:
com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper
InnerClasses:
public BadClassFile = com.sun.tools.javac.code.ClassFinder$BadClassFile of com.sun.tools.javac.code.ClassFinder
public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol 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 final NameAndType = com.sun.tools.javac.jvm.PoolConstant$NameAndType of com.sun.tools.javac.jvm.PoolConstant
ImmutablePoolHelper = com.sun.tools.javac.jvm.PoolReader$ImmutablePoolHelper of com.sun.tools.javac.jvm.PoolReader
public abstract NameMapper = com.sun.tools.javac.util.Name$NameMapper of com.sun.tools.javac.util.Name
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles