public class com.sun.tools.javap.ConstantWriter extends com.sun.tools.javap.BasicWriter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javap.ConstantWriter
super_class: com.sun.tools.javap.BasicWriter
{
com.sun.tools.javap.ConstantWriter$StringValueVisitor stringValueVisitor;
descriptor: Lcom/sun/tools/javap/ConstantWriter$StringValueVisitor;
flags: (0x0000)
private com.sun.tools.javap.ClassWriter classWriter;
descriptor: Lcom/sun/tools/javap/ClassWriter;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.javap.Options options;
descriptor: Lcom/sun/tools/javap/Options;
flags: (0x0002) ACC_PRIVATE
public static com.sun.tools.javap.ConstantWriter instance(com.sun.tools.javap.Context);
descriptor: (Lcom/sun/tools/javap/Context;)Lcom/sun/tools/javap/ConstantWriter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc Lcom/sun/tools/javap/ConstantWriter;
invokevirtual com.sun.tools.javap.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.sun.tools.javap.ConstantWriter
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new com.sun.tools.javap.ConstantWriter
dup
aload 0
invokespecial com.sun.tools.javap.ConstantWriter.<init>:(Lcom/sun/tools/javap/Context;)V
astore 1
3: StackMap locals: com.sun.tools.javap.ConstantWriter
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lcom/sun/tools/javap/Context;
1 4 1 instance Lcom/sun/tools/javap/ConstantWriter;
MethodParameters:
Name Flags
context
protected void <init>(com.sun.tools.javap.Context);
descriptor: (Lcom/sun/tools/javap/Context;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.sun.tools.javap.BasicWriter.<init>:(Lcom/sun/tools/javap/Context;)V
1: aload 0
new com.sun.tools.javap.ConstantWriter$StringValueVisitor
dup
aload 0
invokespecial com.sun.tools.javap.ConstantWriter$StringValueVisitor.<init>:(Lcom/sun/tools/javap/ConstantWriter;)V
putfield com.sun.tools.javap.ConstantWriter.stringValueVisitor:Lcom/sun/tools/javap/ConstantWriter$StringValueVisitor;
2: aload 1
ldc Lcom/sun/tools/javap/ConstantWriter;
aload 0
invokevirtual com.sun.tools.javap.Context.put:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
aload 1
invokestatic com.sun.tools.javap.ClassWriter.instance:(Lcom/sun/tools/javap/Context;)Lcom/sun/tools/javap/ClassWriter;
putfield com.sun.tools.javap.ConstantWriter.classWriter:Lcom/sun/tools/javap/ClassWriter;
4: aload 0
aload 1
invokestatic com.sun.tools.javap.Options.instance:(Lcom/sun/tools/javap/Context;)Lcom/sun/tools/javap/Options;
putfield com.sun.tools.javap.ConstantWriter.options:Lcom/sun/tools/javap/Options;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javap/ConstantWriter;
0 6 1 context Lcom/sun/tools/javap/Context;
MethodParameters:
Name Flags
context
protected void writeConstantPool();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javap.ConstantWriter.classWriter:Lcom/sun/tools/javap/ClassWriter;
invokevirtual com.sun.tools.javap.ClassWriter.getClassFile:()Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual com.sun.tools.javap.ConstantWriter.writeConstantPool:(Lcom/sun/tools/classfile/ConstantPool;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javap/ConstantWriter;
1 3 1 constant_pool Lcom/sun/tools/classfile/ConstantPool;
protected void writeConstantPool(com.sun.tools.classfile.ConstantPool);
descriptor: (Lcom/sun/tools/classfile/ConstantPool;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: new com.sun.tools.javap.ConstantWriter$1
dup
aload 0
invokespecial com.sun.tools.javap.ConstantWriter$1.<init>:(Lcom/sun/tools/javap/ConstantWriter;)V
astore 2
start local 2 1: aload 0
ldc "Constant pool:"
invokevirtual com.sun.tools.javap.ConstantWriter.println:(Ljava/lang/String;)V
2: aload 0
iconst_1
invokevirtual com.sun.tools.javap.ConstantWriter.indent:(I)V
3: aload 1
invokevirtual com.sun.tools.classfile.ConstantPool.size:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
iadd
istore 3
start local 3 4: iconst_1
istore 4
start local 4 5: goto 12
6: StackMap locals: com.sun.tools.classfile.ConstantPool$Visitor int int
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "s"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
new java.lang.StringBuilder
dup
ldc "#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ConstantWriter.print:(Ljava/lang/String;)V
7: aload 1
iload 4
invokevirtual com.sun.tools.classfile.ConstantPool.get:(I)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
astore 5
start local 5 8: aload 0
ldc " = %-18s "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 5
invokevirtual com.sun.tools.javap.ConstantWriter.cpTagName:(Lcom/sun/tools/classfile/ConstantPool$CPInfo;)Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ConstantWriter.print:(Ljava/lang/String;)V
9: iload 4
aload 5
aload 2
aconst_null
invokevirtual com.sun.tools.classfile.ConstantPool$CPInfo.accept:(Lcom/sun/tools/classfile/ConstantPool$Visitor;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iadd
istore 4
end local 5 10: goto 12
StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPool$InvalidIndex
11: pop
12: StackMap locals:
StackMap stack:
iload 4
aload 1
invokevirtual com.sun.tools.classfile.ConstantPool.size:()I
if_icmplt 6
13: aload 0
iconst_m1
invokevirtual com.sun.tools.javap.ConstantWriter.indent:(I)V
14: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/tools/javap/ConstantWriter;
0 15 1 constant_pool Lcom/sun/tools/classfile/ConstantPool;
1 15 2 v Lcom/sun/tools/classfile/ConstantPool$Visitor<Ljava/lang/Integer;Ljava/lang/Void;>;
4 15 3 width I
5 15 4 cpx I
8 10 5 cpInfo Lcom/sun/tools/classfile/ConstantPool$CPInfo;
Exception table:
from to target type
7 10 11 Class com.sun.tools.classfile.ConstantPool$InvalidIndex
MethodParameters:
Name Flags
constant_pool
protected void write(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javap.ConstantWriter.classWriter:Lcom/sun/tools/javap/ClassWriter;
invokevirtual com.sun.tools.javap.ClassWriter.getClassFile:()Lcom/sun/tools/classfile/ClassFile;
astore 2
start local 2 1: iload 1
ifne 4
2: aload 0
ldc "#0"
invokevirtual com.sun.tools.javap.ConstantWriter.print:(Ljava/lang/String;)V
3: return
4: StackMap locals: com.sun.tools.classfile.ClassFile
StackMap stack:
aload 2
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
iload 1
invokevirtual com.sun.tools.classfile.ConstantPool.get:(I)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
astore 3
start local 3 5: goto 9
end local 3 StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
6: pop
7: aload 0
new java.lang.StringBuilder
dup
ldc "#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ConstantWriter.print:(Ljava/lang/String;)V
8: return
start local 3 9: StackMap locals: com.sun.tools.classfile.ConstantPool$CPInfo
StackMap stack:
aload 3
invokevirtual com.sun.tools.classfile.ConstantPool$CPInfo.getTag:()I
istore 4
start local 4 10: iload 4
tableswitch { // 9 - 11
9: 11
10: 11
11: 11
default: 16
}
11: StackMap locals: int
StackMap stack:
aload 3
checkcast com.sun.tools.classfile.ConstantPool$CPRefInfo
astore 5
start local 5 12: aload 5
getfield com.sun.tools.classfile.ConstantPool$CPRefInfo.class_index:I
aload 2
getfield com.sun.tools.classfile.ClassFile.this_class:I
if_icmpne 16
13: aload 2
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
aload 5
getfield com.sun.tools.classfile.ConstantPool$CPRefInfo.name_and_type_index:I
invokevirtual com.sun.tools.classfile.ConstantPool.get:(I)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
astore 3
14: goto 16
StackMap locals: com.sun.tools.javap.ConstantWriter int com.sun.tools.classfile.ClassFile com.sun.tools.classfile.ConstantPool$CPInfo int com.sun.tools.classfile.ConstantPool$CPRefInfo
StackMap stack: com.sun.tools.classfile.ConstantPool$InvalidIndex
15: pop
end local 5 16: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 0
iload 4
invokevirtual com.sun.tools.javap.ConstantWriter.tagName:(I)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 3
invokevirtual com.sun.tools.javap.ConstantWriter.stringValue:(Lcom/sun/tools/classfile/ConstantPool$CPInfo;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ConstantWriter.print:(Ljava/lang/String;)V
17: return
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 Lcom/sun/tools/javap/ConstantWriter;
0 18 1 cpx I
1 18 2 classFile Lcom/sun/tools/classfile/ClassFile;
5 6 3 cpInfo Lcom/sun/tools/classfile/ConstantPool$CPInfo;
9 18 3 cpInfo Lcom/sun/tools/classfile/ConstantPool$CPInfo;
10 18 4 tag I
12 16 5 ref Lcom/sun/tools/classfile/ConstantPool$CPRefInfo;
Exception table:
from to target type
4 5 6 Class com.sun.tools.classfile.ConstantPoolException
12 14 15 Class com.sun.tools.classfile.ConstantPool$InvalidIndex
MethodParameters:
Name Flags
cpx
java.lang.String cpTagName(com.sun.tools.classfile.ConstantPool$CPInfo);
descriptor: (Lcom/sun/tools/classfile/ConstantPool$CPInfo;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ldc "CONSTANT_"
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
ldc "_info"
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javap/ConstantWriter;
0 2 1 cpInfo Lcom/sun/tools/classfile/ConstantPool$CPInfo;
1 2 2 n Ljava/lang/String;
MethodParameters:
Name Flags
cpInfo
java.lang.String tagName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 1 - 18
1: 1
2: 16
3: 2
4: 3
5: 4
6: 5
7: 6
8: 7
9: 8
10: 11
11: 12
12: 15
13: 16
14: 16
15: 9
16: 10
17: 14
18: 13
default: 16
}
1: StackMap locals:
StackMap stack:
ldc "Utf8"
areturn
2: StackMap locals:
StackMap stack:
ldc "int"
areturn
3: StackMap locals:
StackMap stack:
ldc "float"
areturn
4: StackMap locals:
StackMap stack:
ldc "long"
areturn
5: StackMap locals:
StackMap stack:
ldc "double"
areturn
6: StackMap locals:
StackMap stack:
ldc "class"
areturn
7: StackMap locals:
StackMap stack:
ldc "String"
areturn
8: StackMap locals:
StackMap stack:
ldc "Field"
areturn
9: StackMap locals:
StackMap stack:
ldc "MethodHandle"
areturn
10: StackMap locals:
StackMap stack:
ldc "MethodType"
areturn
11: StackMap locals:
StackMap stack:
ldc "Method"
areturn
12: StackMap locals:
StackMap stack:
ldc "InterfaceMethod"
areturn
13: StackMap locals:
StackMap stack:
ldc "InvokeDynamic"
areturn
14: StackMap locals:
StackMap stack:
ldc "Dynamic"
areturn
15: StackMap locals:
StackMap stack:
ldc "NameAndType"
areturn
16: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "(unknown tag "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/tools/javap/ConstantWriter;
0 17 1 tag I
MethodParameters:
Name Flags
tag
java.lang.String booleanValue(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javap.ConstantWriter.classWriter:Lcom/sun/tools/javap/ClassWriter;
invokevirtual com.sun.tools.javap.ClassWriter.getClassFile:()Lcom/sun/tools/classfile/ClassFile;
astore 2
start local 2 1: aload 2
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
iload 1
invokevirtual com.sun.tools.classfile.ConstantPool.get:(I)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
astore 3
start local 3 2: aload 3
instanceof com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info
ifeq 7
3: aload 3
checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info
getfield com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info.value:I
istore 4
start local 4 4: iload 4
tableswitch { // 0 - 1
0: 5
1: 6
default: 7
}
5: StackMap locals: com.sun.tools.classfile.ClassFile com.sun.tools.classfile.ConstantPool$CPInfo int
StackMap stack:
ldc "false"
areturn
6: StackMap locals:
StackMap stack:
ldc "true"
areturn
end local 4 7: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: areturn
end local 3 9: StackMap locals: com.sun.tools.javap.ConstantWriter int com.sun.tools.classfile.ClassFile
StackMap stack: com.sun.tools.classfile.ConstantPool$InvalidIndex
astore 3
start local 3 10: aload 0
aload 3
invokevirtual com.sun.tools.javap.ConstantWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/javap/ConstantWriter;
0 11 1 constant_pool_index I
1 11 2 classFile Lcom/sun/tools/classfile/ClassFile;
2 9 3 info Lcom/sun/tools/classfile/ConstantPool$CPInfo;
4 7 4 value I
10 11 3 e Lcom/sun/tools/classfile/ConstantPool$InvalidIndex;
Exception table:
from to target type
1 5 9 Class com.sun.tools.classfile.ConstantPool$InvalidIndex
7 8 9 Class com.sun.tools.classfile.ConstantPool$InvalidIndex
MethodParameters:
Name Flags
constant_pool_index
java.lang.String charValue(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javap.ConstantWriter.classWriter:Lcom/sun/tools/javap/ClassWriter;
invokevirtual com.sun.tools.javap.ClassWriter.getClassFile:()Lcom/sun/tools/classfile/ClassFile;
astore 2
start local 2 1: aload 2
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
iload 1
invokevirtual com.sun.tools.classfile.ConstantPool.get:(I)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
astore 3
start local 3 2: aload 3
instanceof com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info
ifeq 6
3: aload 3
checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info
getfield com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info.value:I
istore 4
start local 4 4: iload 4
i2c
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
5: areturn
end local 4 6: StackMap locals: com.sun.tools.classfile.ClassFile com.sun.tools.classfile.ConstantPool$CPInfo
StackMap stack:
new java.lang.StringBuilder
dup
ldc "#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: areturn
end local 3 8: StackMap locals: com.sun.tools.javap.ConstantWriter int com.sun.tools.classfile.ClassFile
StackMap stack: com.sun.tools.classfile.ConstantPool$InvalidIndex
astore 3
start local 3 9: aload 0
aload 3
invokevirtual com.sun.tools.javap.ConstantWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javap/ConstantWriter;
0 10 1 constant_pool_index I
1 10 2 classFile Lcom/sun/tools/classfile/ClassFile;
2 8 3 info Lcom/sun/tools/classfile/ConstantPool$CPInfo;
4 6 4 value I
9 10 3 e Lcom/sun/tools/classfile/ConstantPool$InvalidIndex;
Exception table:
from to target type
1 5 8 Class com.sun.tools.classfile.ConstantPool$InvalidIndex
6 7 8 Class com.sun.tools.classfile.ConstantPool$InvalidIndex
MethodParameters:
Name Flags
constant_pool_index
java.lang.String stringValue(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javap.ConstantWriter.classWriter:Lcom/sun/tools/javap/ClassWriter;
invokevirtual com.sun.tools.javap.ClassWriter.getClassFile:()Lcom/sun/tools/classfile/ClassFile;
astore 2
start local 2 1: aload 0
aload 2
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
iload 1
invokevirtual com.sun.tools.classfile.ConstantPool.get:(I)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
invokevirtual com.sun.tools.javap.ConstantWriter.stringValue:(Lcom/sun/tools/classfile/ConstantPool$CPInfo;)Ljava/lang/String;
2: areturn
3: StackMap locals: com.sun.tools.javap.ConstantWriter int com.sun.tools.classfile.ClassFile
StackMap stack: com.sun.tools.classfile.ConstantPool$InvalidIndex
astore 3
start local 3 4: aload 0
aload 3
invokevirtual com.sun.tools.javap.ConstantWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javap/ConstantWriter;
0 5 1 constant_pool_index I
1 5 2 classFile Lcom/sun/tools/classfile/ClassFile;
4 5 3 e Lcom/sun/tools/classfile/ConstantPool$InvalidIndex;
Exception table:
from to target type
1 2 3 Class com.sun.tools.classfile.ConstantPool$InvalidIndex
MethodParameters:
Name Flags
constant_pool_index
java.lang.String stringValue(com.sun.tools.classfile.ConstantPool$CPInfo);
descriptor: (Lcom/sun/tools/classfile/ConstantPool$CPInfo;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javap.ConstantWriter.stringValueVisitor:Lcom/sun/tools/javap/ConstantWriter$StringValueVisitor;
aload 1
invokevirtual com.sun.tools.javap.ConstantWriter$StringValueVisitor.visit:(Lcom/sun/tools/classfile/ConstantPool$CPInfo;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javap/ConstantWriter;
0 1 1 cpInfo Lcom/sun/tools/classfile/ConstantPool$CPInfo;
MethodParameters:
Name Flags
cpInfo
private static java.lang.String checkName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: ldc "null"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 3: iload 1
ifne 5
4: ldc "\"\""
areturn
5: StackMap locals: int
StackMap stack:
bipush 47
istore 2
start local 2 6: iconst_0
istore 4
start local 4 7: goto 14
8: StackMap locals: java.lang.String int int top int
StackMap stack:
aload 0
iload 4
invokevirtual java.lang.String.codePointAt:(I)I
istore 3
start local 3 9: iload 2
bipush 47
if_icmpne 10
iload 3
invokestatic java.lang.Character.isJavaIdentifierStart:(I)Z
ifeq 11
10: StackMap locals: java.lang.String int int int int
StackMap stack:
iload 3
bipush 47
if_icmpeq 12
iload 3
invokestatic java.lang.Character.isJavaIdentifierPart:(I)Z
ifne 12
11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokestatic com.sun.tools.javap.ConstantWriter.addEscapes:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
12: StackMap locals:
StackMap stack:
iload 3
istore 2
13: iload 4
iload 3
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 4
end local 3 StackMap locals: java.lang.String int int top int
StackMap stack:
14: iload 4
iload 1
if_icmplt 8
end local 4 15: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 name Ljava/lang/String;
3 16 1 len I
6 16 2 cc I
9 14 3 cp I
7 15 4 k I
MethodParameters:
Name Flags
name
private static java.lang.String addEscapes(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=9, args_size=1
start local 0 0: ldc "\\\"\n\t"
astore 1
start local 1 1: ldc "\\\"nt"
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: aload 0
invokevirtual java.lang.String.length:()I
istore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 18
7: StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.StringBuilder int int int
StackMap stack:
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 8: aload 1
iload 7
invokevirtual java.lang.String.indexOf:(I)I
istore 8
start local 8 9: iload 8
iflt 17
10: aload 3
ifnonnull 12
11: new java.lang.StringBuilder
dup
iload 5
iconst_2
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
12: StackMap locals: int int
StackMap stack:
iload 4
iload 6
if_icmpge 14
13: aload 3
aload 0
iload 4
iload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
14: StackMap locals:
StackMap stack:
aload 3
bipush 92
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: aload 3
aload 2
iload 8
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
16: iload 6
iconst_1
iadd
istore 4
end local 8 end local 7 17: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
iload 5
if_icmplt 7
end local 6 19: aload 3
ifnonnull 21
20: aload 0
areturn
21: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmpge 23
22: aload 3
aload 0
iload 4
iload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
23: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 24 0 name Ljava/lang/String;
1 24 1 esc Ljava/lang/String;
2 24 2 rep Ljava/lang/String;
3 24 3 buf Ljava/lang/StringBuilder;
4 24 4 nextk I
5 24 5 len I
6 19 6 k I
8 17 7 cp C
9 17 8 n I
MethodParameters:
Name Flags
name
}
SourceFile: "ConstantWriter.java"
NestMembers:
com.sun.tools.javap.ConstantWriter$1 com.sun.tools.javap.ConstantWriter$StringValueVisitor
InnerClasses:
public CONSTANT_Integer_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info of com.sun.tools.classfile.ConstantPool
public abstract CPInfo = com.sun.tools.classfile.ConstantPool$CPInfo of com.sun.tools.classfile.ConstantPool
public abstract CPRefInfo = com.sun.tools.classfile.ConstantPool$CPRefInfo of com.sun.tools.classfile.ConstantPool
public InvalidIndex = com.sun.tools.classfile.ConstantPool$InvalidIndex of com.sun.tools.classfile.ConstantPool
public abstract Visitor = com.sun.tools.classfile.ConstantPool$Visitor of com.sun.tools.classfile.ConstantPool
com.sun.tools.javap.ConstantWriter$1
private StringValueVisitor = com.sun.tools.javap.ConstantWriter$StringValueVisitor of com.sun.tools.javap.ConstantWriter