public class com.sun.tools.javap.ClassWriter 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.ClassWriter
super_class: com.sun.tools.javap.BasicWriter
{
private static final int DEFAULT_ALLOWED_MAJOR_VERSION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 52
private static final int DEFAULT_ALLOWED_MINOR_VERSION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private final com.sun.tools.javap.Options options;
descriptor: Lcom/sun/tools/javap/Options;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javap.AttributeWriter attrWriter;
descriptor: Lcom/sun/tools/javap/AttributeWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javap.CodeWriter codeWriter;
descriptor: Lcom/sun/tools/javap/CodeWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javap.ConstantWriter constantWriter;
descriptor: Lcom/sun/tools/javap/ConstantWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.sun.tools.classfile.ClassFile classFile;
descriptor: Lcom/sun/tools/classfile/ClassFile;
flags: (0x0002) ACC_PRIVATE
private java.net.URI uri;
descriptor: Ljava/net/URI;
flags: (0x0002) ACC_PRIVATE
private long lastModified;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.lang.String digestName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private byte[] digest;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int size;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.classfile.ConstantPool constant_pool;
descriptor: Lcom/sun/tools/classfile/ConstantPool;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.classfile.Method method;
descriptor: Lcom/sun/tools/classfile/Method;
flags: (0x0002) ACC_PRIVATE
static com.sun.tools.javap.ClassWriter instance(com.sun.tools.javap.Context);
descriptor: (Lcom/sun/tools/javap/Context;)Lcom/sun/tools/javap/ClassWriter;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc Lcom/sun/tools/javap/ClassWriter;
invokevirtual com.sun.tools.javap.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.sun.tools.javap.ClassWriter
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new com.sun.tools.javap.ClassWriter
dup
aload 0
invokespecial com.sun.tools.javap.ClassWriter.<init>:(Lcom/sun/tools/javap/Context;)V
astore 1
3: StackMap locals: com.sun.tools.javap.ClassWriter
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/ClassWriter;
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=3, 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 1
ldc Lcom/sun/tools/javap/ClassWriter;
aload 0
invokevirtual com.sun.tools.javap.Context.put:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: 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.ClassWriter.options:Lcom/sun/tools/javap/Options;
3: aload 0
aload 1
invokestatic com.sun.tools.javap.AttributeWriter.instance:(Lcom/sun/tools/javap/Context;)Lcom/sun/tools/javap/AttributeWriter;
putfield com.sun.tools.javap.ClassWriter.attrWriter:Lcom/sun/tools/javap/AttributeWriter;
4: aload 0
aload 1
invokestatic com.sun.tools.javap.CodeWriter.instance:(Lcom/sun/tools/javap/Context;)Lcom/sun/tools/javap/CodeWriter;
putfield com.sun.tools.javap.ClassWriter.codeWriter:Lcom/sun/tools/javap/CodeWriter;
5: aload 0
aload 1
invokestatic com.sun.tools.javap.ConstantWriter.instance:(Lcom/sun/tools/javap/Context;)Lcom/sun/tools/javap/ConstantWriter;
putfield com.sun.tools.javap.ClassWriter.constantWriter:Lcom/sun/tools/javap/ConstantWriter;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javap/ClassWriter;
0 7 1 context Lcom/sun/tools/javap/Context;
MethodParameters:
Name Flags
context
void setDigest(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
putfield com.sun.tools.javap.ClassWriter.digestName:Ljava/lang/String;
1: aload 0
aload 2
putfield com.sun.tools.javap.ClassWriter.digest:[B
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javap/ClassWriter;
0 3 1 name Ljava/lang/String;
0 3 2 digest [B
MethodParameters:
Name Flags
name
digest
void setFile(java.net.URI);
descriptor: (Ljava/net/URI;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.tools.javap.ClassWriter.uri:Ljava/net/URI;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javap/ClassWriter;
0 2 1 uri Ljava/net/URI;
MethodParameters:
Name Flags
uri
void setFileSize(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.sun.tools.javap.ClassWriter.size:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javap/ClassWriter;
0 2 1 size I
MethodParameters:
Name Flags
size
void setLastModified(long);
descriptor: (J)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield com.sun.tools.javap.ClassWriter.lastModified:J
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javap/ClassWriter;
0 2 1 lastModified J
MethodParameters:
Name Flags
lastModified
protected com.sun.tools.classfile.ClassFile getClassFile();
descriptor: ()Lcom/sun/tools/classfile/ClassFile;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javap/ClassWriter;
protected void setClassFile(com.sun.tools.classfile.ClassFile);
descriptor: (Lcom/sun/tools/classfile/ClassFile;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
1: aload 0
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
putfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javap/ClassWriter;
0 3 1 cf Lcom/sun/tools/classfile/ClassFile;
MethodParameters:
Name Flags
cf
protected com.sun.tools.classfile.Method getMethod();
descriptor: ()Lcom/sun/tools/classfile/Method;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javap.ClassWriter.method:Lcom/sun/tools/classfile/Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javap/ClassWriter;
protected void setMethod(com.sun.tools.classfile.Method);
descriptor: (Lcom/sun/tools/classfile/Method;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.tools.javap.ClassWriter.method:Lcom/sun/tools/classfile/Method;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javap/ClassWriter;
0 2 1 m Lcom/sun/tools/classfile/Method;
MethodParameters:
Name Flags
m
public void write(com.sun.tools.classfile.ClassFile);
descriptor: (Lcom/sun/tools/classfile/ClassFile;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javap.ClassWriter.setClassFile:(Lcom/sun/tools/classfile/ClassFile;)V
1: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.sysInfo:Z
ifne 2
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.verbose:Z
ifeq 25
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.uri:Ljava/net/URI;
ifnull 6
3: aload 0
getfield com.sun.tools.javap.ClassWriter.uri:Ljava/net/URI;
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
new java.lang.StringBuilder
dup
ldc "Classfile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javap.ClassWriter.uri:Ljava/net/URI;
invokevirtual java.net.URI.getPath:()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.ClassWriter.println:(Ljava/lang/String;)V
goto 6
5: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Classfile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javap.ClassWriter.uri:Ljava/net/URI;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
7: aload 0
getfield com.sun.tools.javap.ClassWriter.lastModified:J
ldc -1
lcmp
ifeq 15
8: new java.util.Date
dup
aload 0
getfield com.sun.tools.javap.ClassWriter.lastModified:J
invokespecial java.util.Date.<init>:(J)V
astore 2
start local 2 9: invokestatic java.text.DateFormat.getDateInstance:()Ljava/text/DateFormat;
astore 3
start local 3 10: aload 0
getfield com.sun.tools.javap.ClassWriter.size:I
ifle 13
11: aload 0
new java.lang.StringBuilder
dup
ldc "Last modified "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
aload 2
invokevirtual java.text.DateFormat.format:(Ljava/util/Date;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "; size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javap.ClassWriter.size:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
12: goto 17
13: StackMap locals: java.util.Date java.text.DateFormat
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Last modified "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
aload 2
invokevirtual java.text.DateFormat.format:(Ljava/util/Date;)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.ClassWriter.println:(Ljava/lang/String;)V
end local 3 end local 2 14: goto 17
StackMap locals:
StackMap stack:
15: aload 0
getfield com.sun.tools.javap.ClassWriter.size:I
ifle 17
16: aload 0
new java.lang.StringBuilder
dup
ldc "Size "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javap.ClassWriter.size:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.digestName:Ljava/lang/String;
ifnull 25
aload 0
getfield com.sun.tools.javap.ClassWriter.digest:[B
ifnull 25
18: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 19: aload 0
getfield com.sun.tools.javap.ClassWriter.digest:[B
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 23
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.ClassFile java.lang.StringBuilder top int int byte[]
StackMap stack:
20: aload 6
iload 4
baload
istore 3
start local 3 21: aload 2
ldc "%02x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 22: iinc 4 1
StackMap locals:
StackMap stack:
23: iload 4
iload 5
if_icmplt 20
24: aload 0
new java.lang.StringBuilder
dup
aload 0
getfield com.sun.tools.javap.ClassWriter.digestName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " checksum "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
end local 2 25: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.ClassFile
StackMap stack:
aload 1
ldc "SourceFile"
invokevirtual com.sun.tools.classfile.ClassFile.getAttribute:(Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
astore 2
start local 2 26: aload 2
instanceof com.sun.tools.classfile.SourceFile_attribute
ifeq 28
27: aload 0
new java.lang.StringBuilder
dup
ldc "Compiled from \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 2
checkcast com.sun.tools.classfile.SourceFile_attribute
invokevirtual com.sun.tools.javap.ClassWriter.getSourceFile:(Lcom/sun/tools/classfile/SourceFile_attribute;)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;
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
28: StackMap locals: com.sun.tools.classfile.Attribute
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.sysInfo:Z
ifne 29
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.verbose:Z
ifeq 30
29: StackMap locals:
StackMap stack:
aload 0
iconst_m1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
30: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.classfile.ClassFile.access_flags:Lcom/sun/tools/classfile/AccessFlags;
astore 3
start local 3 31: aload 0
aload 3
invokevirtual com.sun.tools.classfile.AccessFlags.getClassModifiers:()Ljava/util/Set;
invokevirtual com.sun.tools.javap.ClassWriter.writeModifiers:(Ljava/util/Collection;)V
32: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.access_flags:Lcom/sun/tools/classfile/AccessFlags;
ldc 32768
invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
ifeq 54
33: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.attributes:Lcom/sun/tools/classfile/Attributes;
ldc "Module"
invokevirtual com.sun.tools.classfile.Attributes.get:(Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
astore 4
start local 4 34: aload 4
instanceof com.sun.tools.classfile.Module_attribute
ifeq 51
35: aload 4
checkcast com.sun.tools.classfile.Module_attribute
astore 5
start local 5 36: aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
aload 5
getfield com.sun.tools.classfile.Module_attribute.module_name:I
invokevirtual com.sun.tools.classfile.ConstantPool.get:(I)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
invokevirtual com.sun.tools.classfile.ConstantPool$CPInfo.getTag:()I
bipush 19
if_icmpne 39
37: aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
aload 5
getfield com.sun.tools.classfile.Module_attribute.module_name:I
invokevirtual com.sun.tools.classfile.ConstantPool.getModuleInfo:(I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Module_info;
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Module_info.getName:()Ljava/lang/String;
invokestatic com.sun.tools.javap.ClassWriter.getJavaName:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 38: goto 43
end local 6 39: StackMap locals: com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
aload 5
getfield com.sun.tools.classfile.Module_attribute.module_name:I
invokevirtual com.sun.tools.classfile.ConstantPool.getUTF8Value:(I)Ljava/lang/String;
invokestatic com.sun.tools.javap.ClassWriter.getJavaName:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 40: goto 43
end local 6 StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
41: astore 7
start local 7 42: aload 0
aload 7
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
astore 6
end local 7 start local 6 43: StackMap locals: java.lang.String
StackMap stack:
aload 5
getfield com.sun.tools.classfile.Module_attribute.module_flags:I
bipush 32
iand
ifeq 45
44: aload 0
ldc "open "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
45: StackMap locals:
StackMap stack:
aload 0
ldc "module "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
46: aload 0
aload 6
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
47: aload 5
getfield com.sun.tools.classfile.Module_attribute.module_version_index:I
ifeq 59
48: aload 0
ldc "@"
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
49: aload 0
aload 0
aload 5
getfield com.sun.tools.classfile.Module_attribute.module_version_index:I
invokevirtual com.sun.tools.javap.ClassWriter.getUTF8Value:(I)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
end local 6 end local 5 50: goto 59
51: StackMap locals:
StackMap stack:
aload 0
ldc "class "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
52: aload 0
aload 0
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
invokevirtual com.sun.tools.javap.ClassWriter.getJavaName:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
end local 4 53: goto 59
54: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
invokevirtual com.sun.tools.classfile.ClassFile.isClass:()Z
ifeq 56
55: aload 0
ldc "class "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
goto 58
56: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
invokevirtual com.sun.tools.classfile.ClassFile.isInterface:()Z
ifeq 58
57: aload 0
ldc "interface "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
58: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
invokevirtual com.sun.tools.javap.ClassWriter.getJavaName:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
59: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.classfile.ClassFile.attributes:Lcom/sun/tools/classfile/Attributes;
invokevirtual com.sun.tools.javap.ClassWriter.getSignature:(Lcom/sun/tools/classfile/Attributes;)Lcom/sun/tools/classfile/Signature_attribute;
astore 4
start local 4 60: aload 4
ifnonnull 76
61: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
invokevirtual com.sun.tools.classfile.ClassFile.isClass:()Z
ifeq 66
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.super_class:I
ifeq 66
62: aload 0
aload 1
invokevirtual com.sun.tools.javap.ClassWriter.getJavaSuperclassName:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
astore 5
start local 5 63: aload 5
ldc "java.lang.Object"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 66
64: aload 0
ldc " extends "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
65: aload 0
aload 5
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
end local 5 66: StackMap locals: com.sun.tools.classfile.Signature_attribute
StackMap stack:
iconst_0
istore 5
start local 5 67: goto 74
68: StackMap locals: int
StackMap stack:
aload 0
iload 5
ifne 70
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
invokevirtual com.sun.tools.classfile.ClassFile.isClass:()Z
ifeq 69
ldc " implements "
goto 71
StackMap locals:
StackMap stack: com.sun.tools.javap.ClassWriter
69: ldc " extends "
goto 71
StackMap locals:
StackMap stack: com.sun.tools.javap.ClassWriter
70: ldc ","
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.ClassFile com.sun.tools.classfile.Attribute com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Signature_attribute int
StackMap stack: com.sun.tools.javap.ClassWriter java.lang.String
71: invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
72: aload 0
aload 0
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
iload 5
invokevirtual com.sun.tools.javap.ClassWriter.getJavaInterfaceName:(Lcom/sun/tools/classfile/ClassFile;I)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
73: iinc 5 1
StackMap locals:
StackMap stack:
74: iload 5
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.interfaces:[I
arraylength
if_icmplt 68
end local 5 75: goto 90
76: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.sun.tools.classfile.Signature_attribute.getParsedSignature:()Lcom/sun/tools/classfile/Signature;
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Signature.getType:(Lcom/sun/tools/classfile/ConstantPool;)Lcom/sun/tools/classfile/Type;
astore 5
start local 5 77: new com.sun.tools.javap.ClassWriter$JavaTypePrinter
dup
aload 0
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
invokevirtual com.sun.tools.classfile.ClassFile.isInterface:()Z
invokespecial com.sun.tools.javap.ClassWriter$JavaTypePrinter.<init>:(Lcom/sun/tools/javap/ClassWriter;Z)V
astore 6
start local 6 78: aload 5
instanceof com.sun.tools.classfile.Type$ClassSigType
ifeq 81
79: aload 0
aload 6
aload 5
invokevirtual com.sun.tools.javap.ClassWriter$JavaTypePrinter.print:(Lcom/sun/tools/classfile/Type;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
80: goto 90
StackMap locals: com.sun.tools.classfile.Type com.sun.tools.javap.ClassWriter$JavaTypePrinter
StackMap stack:
81: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.verbose:Z
ifne 82
aload 5
invokevirtual com.sun.tools.classfile.Type.isObject:()Z
ifne 90
82: StackMap locals:
StackMap stack:
aload 0
ldc " extends "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
83: aload 0
aload 6
aload 5
invokevirtual com.sun.tools.javap.ClassWriter$JavaTypePrinter.print:(Lcom/sun/tools/classfile/Type;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
end local 6 end local 5 84: goto 90
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.ClassFile com.sun.tools.classfile.Attribute com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Signature_attribute
StackMap stack: com.sun.tools.classfile.ConstantPoolException
85: astore 5
start local 5 86: aload 0
aload 0
aload 5
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
end local 5 87: goto 90
88: StackMap locals:
StackMap stack: java.lang.IllegalStateException
astore 5
start local 5 89: aload 0
new java.lang.StringBuilder
dup
ldc "Invalid value for Signature attribute: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.IllegalStateException.getMessage:()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.ClassWriter.report:(Ljava/lang/String;)Ljava/lang/String;
pop
end local 5 90: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.verbose:Z
ifeq 113
91: aload 0
invokevirtual com.sun.tools.javap.ClassWriter.println:()V
92: aload 0
iconst_1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
93: aload 0
new java.lang.StringBuilder
dup
ldc "minor version: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield com.sun.tools.classfile.ClassFile.minor_version:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
94: aload 0
new java.lang.StringBuilder
dup
ldc "major version: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield com.sun.tools.classfile.ClassFile.major_version:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
95: aload 0
ldc "flags: (0x%04x) "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
getfield com.sun.tools.classfile.AccessFlags.flags:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 3
invokevirtual com.sun.tools.classfile.AccessFlags.getClassFlags:()Ljava/util/Set;
ldc "\n"
invokevirtual com.sun.tools.javap.ClassWriter.writeList:(Ljava/lang/String;Ljava/util/Collection;Ljava/lang/String;)V
96: aload 0
new java.lang.StringBuilder
dup
ldc "this_class: #"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield com.sun.tools.classfile.ClassFile.this_class:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
97: aload 1
getfield com.sun.tools.classfile.ClassFile.this_class:I
ifeq 100
98: aload 0
invokevirtual com.sun.tools.javap.ClassWriter.tab:()V
99: aload 0
new java.lang.StringBuilder
dup
ldc "// "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javap.ClassWriter.constantWriter:Lcom/sun/tools/javap/ConstantWriter;
aload 1
getfield com.sun.tools.classfile.ClassFile.this_class:I
invokevirtual com.sun.tools.javap.ConstantWriter.stringValue:(I)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.ClassWriter.print:(Ljava/lang/String;)V
100: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.tools.javap.ClassWriter.println:()V
101: aload 0
new java.lang.StringBuilder
dup
ldc "super_class: #"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield com.sun.tools.classfile.ClassFile.super_class:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
102: aload 1
getfield com.sun.tools.classfile.ClassFile.super_class:I
ifeq 105
103: aload 0
invokevirtual com.sun.tools.javap.ClassWriter.tab:()V
104: aload 0
new java.lang.StringBuilder
dup
ldc "// "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javap.ClassWriter.constantWriter:Lcom/sun/tools/javap/ConstantWriter;
aload 1
getfield com.sun.tools.classfile.ClassFile.super_class:I
invokevirtual com.sun.tools.javap.ConstantWriter.stringValue:(I)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.ClassWriter.print:(Ljava/lang/String;)V
105: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.tools.javap.ClassWriter.println:()V
106: aload 0
new java.lang.StringBuilder
dup
ldc "interfaces: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield com.sun.tools.classfile.ClassFile.interfaces:[I
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
107: aload 0
new java.lang.StringBuilder
dup
ldc ", fields: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield com.sun.tools.classfile.ClassFile.fields:[Lcom/sun/tools/classfile/Field;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
108: aload 0
new java.lang.StringBuilder
dup
ldc ", methods: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield com.sun.tools.classfile.ClassFile.methods:[Lcom/sun/tools/classfile/Method;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
109: aload 0
new java.lang.StringBuilder
dup
ldc ", attributes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield com.sun.tools.classfile.ClassFile.attributes:Lcom/sun/tools/classfile/Attributes;
getfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
110: aload 0
iconst_m1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
111: aload 0
getfield com.sun.tools.javap.ClassWriter.constantWriter:Lcom/sun/tools/javap/ConstantWriter;
invokevirtual com.sun.tools.javap.ConstantWriter.writeConstantPool:()V
112: goto 114
113: StackMap locals:
StackMap stack:
aload 0
ldc " "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
114: StackMap locals:
StackMap stack:
aload 0
ldc "{"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
115: aload 0
iconst_1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
116: aload 3
ldc 32768
invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
ifeq 118
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.verbose:Z
ifne 118
117: aload 0
invokevirtual com.sun.tools.javap.ClassWriter.writeDirectives:()V
118: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.tools.javap.ClassWriter.writeFields:()V
119: aload 0
invokevirtual com.sun.tools.javap.ClassWriter.writeMethods:()V
120: aload 0
iconst_m1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
121: aload 0
ldc "}"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
122: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.verbose:Z
ifeq 124
123: aload 0
getfield com.sun.tools.javap.ClassWriter.attrWriter:Lcom/sun/tools/javap/AttributeWriter;
aload 1
aload 1
getfield com.sun.tools.classfile.ClassFile.attributes:Lcom/sun/tools/classfile/Attributes;
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.javap.AttributeWriter.write:(Ljava/lang/Object;Lcom/sun/tools/classfile/Attributes;Lcom/sun/tools/classfile/ConstantPool;)V
124: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 125 0 this Lcom/sun/tools/javap/ClassWriter;
0 125 1 cf Lcom/sun/tools/classfile/ClassFile;
9 14 2 lm Ljava/util/Date;
10 14 3 df Ljava/text/DateFormat;
19 25 2 sb Ljava/lang/StringBuilder;
21 22 3 b B
26 125 2 sfa Lcom/sun/tools/classfile/Attribute;
31 125 3 flags Lcom/sun/tools/classfile/AccessFlags;
34 53 4 attr Lcom/sun/tools/classfile/Attribute;
36 50 5 modAttr Lcom/sun/tools/classfile/Module_attribute;
38 39 6 name Ljava/lang/String;
40 41 6 name Ljava/lang/String;
43 50 6 name Ljava/lang/String;
42 43 7 e Lcom/sun/tools/classfile/ConstantPoolException;
60 125 4 sigAttr Lcom/sun/tools/classfile/Signature_attribute;
63 66 5 sn Ljava/lang/String;
67 75 5 i I
77 84 5 t Lcom/sun/tools/classfile/Type;
78 84 6 p Lcom/sun/tools/javap/ClassWriter$JavaTypePrinter;
86 87 5 e Lcom/sun/tools/classfile/ConstantPoolException;
89 90 5 e Ljava/lang/IllegalStateException;
Exception table:
from to target type
36 40 41 Class com.sun.tools.classfile.ConstantPoolException
76 84 85 Class com.sun.tools.classfile.ConstantPoolException
76 84 88 Class java.lang.IllegalStateException
MethodParameters:
Name Flags
cf
protected void writeFields();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.fields:[Lcom/sun/tools/classfile/Field;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: com.sun.tools.javap.ClassWriter top int int com.sun.tools.classfile.Field[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 0
aload 1
invokevirtual com.sun.tools.javap.ClassWriter.writeField:(Lcom/sun/tools/classfile/Field;)V
end local 1 3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javap/ClassWriter;
2 3 1 f Lcom/sun/tools/classfile/Field;
protected void writeField(com.sun.tools.classfile.Field);
descriptor: (Lcom/sun/tools/classfile/Field;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
aload 1
getfield com.sun.tools.classfile.Field.access_flags:Lcom/sun/tools/classfile/AccessFlags;
invokevirtual com.sun.tools.javap.Options.checkAccess:(Lcom/sun/tools/classfile/AccessFlags;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.classfile.Field.access_flags:Lcom/sun/tools/classfile/AccessFlags;
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.classfile.AccessFlags.getFieldModifiers:()Ljava/util/Set;
invokevirtual com.sun.tools.javap.ClassWriter.writeModifiers:(Ljava/util/Collection;)V
4: aload 0
aload 1
getfield com.sun.tools.classfile.Field.attributes:Lcom/sun/tools/classfile/Attributes;
invokevirtual com.sun.tools.javap.ClassWriter.getSignature:(Lcom/sun/tools/classfile/Attributes;)Lcom/sun/tools/classfile/Signature_attribute;
astore 3
start local 3 5: aload 3
ifnonnull 7
6: aload 0
aload 0
aload 1
getfield com.sun.tools.classfile.Field.descriptor:Lcom/sun/tools/classfile/Descriptor;
invokevirtual com.sun.tools.javap.ClassWriter.getJavaFieldType:(Lcom/sun/tools/classfile/Descriptor;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
goto 12
7: StackMap locals: com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Signature_attribute
StackMap stack:
aload 3
invokevirtual com.sun.tools.classfile.Signature_attribute.getParsedSignature:()Lcom/sun/tools/classfile/Signature;
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Signature.getType:(Lcom/sun/tools/classfile/ConstantPool;)Lcom/sun/tools/classfile/Type;
astore 4
start local 4 8: aload 0
aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.sun.tools.javap.ClassWriter.getJavaName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
end local 4 9: goto 12
StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
10: pop
11: aload 0
aload 0
aload 1
getfield com.sun.tools.classfile.Field.descriptor:Lcom/sun/tools/classfile/Descriptor;
invokevirtual com.sun.tools.javap.ClassWriter.getJavaFieldType:(Lcom/sun/tools/classfile/Descriptor;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
aload 0
ldc " "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
13: aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javap.ClassWriter.getFieldName:(Lcom/sun/tools/classfile/Field;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
14: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showConstants:Z
ifeq 20
15: aload 1
getfield com.sun.tools.classfile.Field.attributes:Lcom/sun/tools/classfile/Attributes;
ldc "ConstantValue"
invokevirtual com.sun.tools.classfile.Attributes.get:(Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
astore 4
start local 4 16: aload 4
instanceof com.sun.tools.classfile.ConstantValue_attribute
ifeq 20
17: aload 0
ldc " = "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
18: aload 4
checkcast com.sun.tools.classfile.ConstantValue_attribute
astore 5
start local 5 19: aload 0
aload 0
aload 1
getfield com.sun.tools.classfile.Field.descriptor:Lcom/sun/tools/classfile/Descriptor;
aload 5
getfield com.sun.tools.classfile.ConstantValue_attribute.constantvalue_index:I
invokevirtual com.sun.tools.javap.ClassWriter.getConstantValue:(Lcom/sun/tools/classfile/Descriptor;I)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
end local 5 end local 4 20: StackMap locals:
StackMap stack:
aload 0
ldc ";"
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
21: aload 0
invokevirtual com.sun.tools.javap.ClassWriter.println:()V
22: aload 0
iconst_1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
23: iconst_0
istore 4
start local 4 24: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showDescriptors:Z
ifeq 26
25: aload 0
new java.lang.StringBuilder
dup
ldc "descriptor: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 1
getfield com.sun.tools.classfile.Field.descriptor:Lcom/sun/tools/classfile/Descriptor;
invokevirtual com.sun.tools.javap.ClassWriter.getValue:(Lcom/sun/tools/classfile/Descriptor;)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.ClassWriter.println:(Ljava/lang/String;)V
26: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.verbose:Z
ifeq 28
27: aload 0
ldc "flags: (0x%04x) "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
getfield com.sun.tools.classfile.AccessFlags.flags:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 2
invokevirtual com.sun.tools.classfile.AccessFlags.getFieldFlags:()Ljava/util/Set;
ldc "\n"
invokevirtual com.sun.tools.javap.ClassWriter.writeList:(Ljava/lang/String;Ljava/util/Collection;Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showAllAttrs:Z
ifeq 34
29: aload 1
getfield com.sun.tools.classfile.Field.attributes:Lcom/sun/tools/classfile/Attributes;
invokevirtual com.sun.tools.classfile.Attributes.iterator:()Ljava/util/Iterator;
astore 6
goto 32
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Field com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Signature_attribute int top java.util.Iterator
StackMap stack:
30: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.classfile.Attribute
astore 5
start local 5 31: aload 0
getfield com.sun.tools.javap.ClassWriter.attrWriter:Lcom/sun/tools/javap/AttributeWriter;
aload 1
aload 5
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.javap.AttributeWriter.write:(Ljava/lang/Object;Lcom/sun/tools/classfile/Attribute;Lcom/sun/tools/classfile/ConstantPool;)V
end local 5 32: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
33: iconst_1
istore 4
34: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Field com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Signature_attribute int
StackMap stack:
aload 0
iconst_m1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
35: iload 4
ifne 36
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showDisassembled:Z
ifne 36
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showLineAndLocalVariableTables:Z
ifeq 37
36: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.tools.javap.ClassWriter.println:()V
37: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lcom/sun/tools/javap/ClassWriter;
0 38 1 f Lcom/sun/tools/classfile/Field;
3 38 2 flags Lcom/sun/tools/classfile/AccessFlags;
5 38 3 sigAttr Lcom/sun/tools/classfile/Signature_attribute;
8 9 4 t Lcom/sun/tools/classfile/Type;
16 20 4 a Lcom/sun/tools/classfile/Attribute;
19 20 5 cv Lcom/sun/tools/classfile/ConstantValue_attribute;
24 38 4 showBlank Z
31 32 5 attr Lcom/sun/tools/classfile/Attribute;
Exception table:
from to target type
7 9 10 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
f
protected void writeMethods();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.methods:[Lcom/sun/tools/classfile/Method;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: com.sun.tools.javap.ClassWriter top int int com.sun.tools.classfile.Method[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 0
aload 1
invokevirtual com.sun.tools.javap.ClassWriter.writeMethod:(Lcom/sun/tools/classfile/Method;)V
end local 1 3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: aload 0
iconst_0
invokevirtual com.sun.tools.javap.ClassWriter.setPendingNewline:(Z)V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javap/ClassWriter;
2 3 1 m Lcom/sun/tools/classfile/Method;
protected void writeMethod(com.sun.tools.classfile.Method);
descriptor: (Lcom/sun/tools/classfile/Method;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=18, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
aload 1
getfield com.sun.tools.classfile.Method.access_flags:Lcom/sun/tools/classfile/AccessFlags;
invokevirtual com.sun.tools.javap.Options.checkAccess:(Lcom/sun/tools/classfile/AccessFlags;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.sun.tools.javap.ClassWriter.method:Lcom/sun/tools/classfile/Method;
3: aload 1
getfield com.sun.tools.classfile.Method.access_flags:Lcom/sun/tools/classfile/AccessFlags;
astore 2
start local 2 4: aload 0
aload 1
getfield com.sun.tools.classfile.Method.attributes:Lcom/sun/tools/classfile/Attributes;
invokevirtual com.sun.tools.javap.ClassWriter.getSignature:(Lcom/sun/tools/classfile/Attributes;)Lcom/sun/tools/classfile/Signature_attribute;
astore 6
start local 6 5: aload 6
ifnonnull 10
6: aload 1
getfield com.sun.tools.classfile.Method.descriptor:Lcom/sun/tools/classfile/Descriptor;
astore 3
start local 3 7: aconst_null
astore 4
start local 4 8: aconst_null
astore 5
start local 5 9: goto 20
end local 5 end local 4 end local 3 10: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Method com.sun.tools.classfile.AccessFlags top top top com.sun.tools.classfile.Signature_attribute
StackMap stack:
aload 6
invokevirtual com.sun.tools.classfile.Signature_attribute.getParsedSignature:()Lcom/sun/tools/classfile/Signature;
astore 7
start local 7 11: aload 7
astore 3
start local 3 12: aload 7
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Signature.getType:(Lcom/sun/tools/classfile/ConstantPool;)Lcom/sun/tools/classfile/Type;
checkcast com.sun.tools.classfile.Type$MethodType
astore 4
start local 4 13: aload 4
getfield com.sun.tools.classfile.Type$MethodType.throwsTypes:Ljava/util/List;
astore 5
start local 5 14: aload 5
ifnull 20
aload 5
invokeinterface java.util.List.isEmpty:()Z
ifeq 20
15: aconst_null
astore 5
16: goto 20
end local 5 end local 4 StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Method com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Descriptor top top com.sun.tools.classfile.Signature_attribute com.sun.tools.classfile.Signature
StackMap stack: java.lang.Exception
17: pop
18: aconst_null
astore 4
start local 4 19: aconst_null
astore 5
end local 7 start local 5 20: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Method com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Descriptor com.sun.tools.classfile.Type$MethodType java.util.List com.sun.tools.classfile.Signature_attribute
StackMap stack:
aload 2
invokevirtual com.sun.tools.classfile.AccessFlags.getMethodModifiers:()Ljava/util/Set;
astore 7
start local 7 21: aload 0
aload 1
invokevirtual com.sun.tools.javap.ClassWriter.getName:(Lcom/sun/tools/classfile/Method;)Ljava/lang/String;
astore 8
start local 8 22: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
invokevirtual com.sun.tools.classfile.ClassFile.isInterface:()Z
ifeq 28
23: aload 2
sipush 1024
invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
ifne 28
aload 8
ldc "<clinit>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 28
24: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.major_version:I
bipush 52
if_icmpgt 26
25: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.major_version:I
bipush 52
if_icmpne 28
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.minor_version:I
iflt 28
26: StackMap locals: java.util.Set java.lang.String
StackMap stack:
aload 2
bipush 10
invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
ifne 28
27: aload 7
ldc "default"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
28: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual com.sun.tools.javap.ClassWriter.writeModifiers:(Ljava/util/Collection;)V
29: aload 4
ifnull 31
30: aload 0
new com.sun.tools.javap.ClassWriter$JavaTypePrinter
dup
aload 0
iconst_0
invokespecial com.sun.tools.javap.ClassWriter$JavaTypePrinter.<init>:(Lcom/sun/tools/javap/ClassWriter;Z)V
aload 4
getfield com.sun.tools.classfile.Type$MethodType.typeParamTypes:Ljava/util/List;
invokevirtual com.sun.tools.javap.ClassWriter$JavaTypePrinter.printTypeArgs:(Ljava/util/List;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
31: StackMap locals:
StackMap stack:
aload 8
dup
astore 9
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
-1944711511: 32
1818100338: 33
default: 39
}
StackMap locals: java.lang.String
StackMap stack:
32: aload 9
ldc "<clinit>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 37
goto 39
StackMap locals:
StackMap stack:
33: aload 9
ldc "<init>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 34
goto 39
34: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
invokevirtual com.sun.tools.javap.ClassWriter.getJavaName:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
35: aload 0
aload 0
aload 3
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.getJavaParameterTypes:(Lcom/sun/tools/classfile/Descriptor;Lcom/sun/tools/classfile/AccessFlags;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
36: goto 43
37: StackMap locals:
StackMap stack:
aload 0
ldc "{}"
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
38: goto 43
39: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 3
invokevirtual com.sun.tools.javap.ClassWriter.getJavaReturnType:(Lcom/sun/tools/classfile/Descriptor;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
40: aload 0
ldc " "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
41: aload 0
aload 8
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
42: aload 0
aload 0
aload 3
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.getJavaParameterTypes:(Lcom/sun/tools/classfile/Descriptor;Lcom/sun/tools/classfile/AccessFlags;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
43: StackMap locals:
StackMap stack:
aload 1
44: getfield com.sun.tools.classfile.Method.attributes:Lcom/sun/tools/classfile/Attributes;
ldc "Exceptions"
invokevirtual com.sun.tools.classfile.Attributes.get:(Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
astore 10
start local 10 45: aload 10
ifnull 61
46: aload 10
instanceof com.sun.tools.classfile.Exceptions_attribute
ifeq 60
47: aload 10
checkcast com.sun.tools.classfile.Exceptions_attribute
astore 11
start local 11 48: aload 0
ldc " throws "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
49: aload 5
ifnull 52
50: aload 0
ldc ""
aload 5
ldc ""
invokevirtual com.sun.tools.javap.ClassWriter.writeList:(Ljava/lang/String;Ljava/util/Collection;Ljava/lang/String;)V
51: goto 61
52: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Method com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Descriptor com.sun.tools.classfile.Type$MethodType java.util.List com.sun.tools.classfile.Signature_attribute java.util.Set java.lang.String top com.sun.tools.classfile.Attribute com.sun.tools.classfile.Exceptions_attribute
StackMap stack:
iconst_0
istore 12
start local 12 53: goto 58
54: StackMap locals: int
StackMap stack:
iload 12
ifle 56
55: aload 0
ldc ", "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
56: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 11
iload 12
invokevirtual com.sun.tools.javap.ClassWriter.getJavaException:(Lcom/sun/tools/classfile/Exceptions_attribute;I)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
57: iinc 12 1
StackMap locals:
StackMap stack:
58: iload 12
aload 11
getfield com.sun.tools.classfile.Exceptions_attribute.number_of_exceptions:I
if_icmplt 54
end local 12 end local 11 59: goto 61
60: StackMap locals:
StackMap stack:
aload 0
ldc "Unexpected or invalid value for Exceptions attribute"
invokevirtual com.sun.tools.javap.ClassWriter.report:(Ljava/lang/String;)Ljava/lang/String;
pop
61: StackMap locals:
StackMap stack:
aload 0
ldc ";"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
62: aload 0
iconst_1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
63: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showDescriptors:Z
ifeq 65
64: aload 0
new java.lang.StringBuilder
dup
ldc "descriptor: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 1
getfield com.sun.tools.classfile.Method.descriptor:Lcom/sun/tools/classfile/Descriptor;
invokevirtual com.sun.tools.javap.ClassWriter.getValue:(Lcom/sun/tools/classfile/Descriptor;)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.ClassWriter.println:(Ljava/lang/String;)V
65: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.verbose:Z
ifeq 67
66: aload 0
ldc "flags: (0x%04x) "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
getfield com.sun.tools.classfile.AccessFlags.flags:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 2
invokevirtual com.sun.tools.classfile.AccessFlags.getMethodFlags:()Ljava/util/Set;
ldc "\n"
invokevirtual com.sun.tools.javap.ClassWriter.writeList:(Ljava/lang/String;Ljava/util/Collection;Ljava/lang/String;)V
67: StackMap locals:
StackMap stack:
aconst_null
astore 11
start local 11 68: aload 1
getfield com.sun.tools.classfile.Method.attributes:Lcom/sun/tools/classfile/Attributes;
ldc "Code"
invokevirtual com.sun.tools.classfile.Attributes.get:(Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
astore 12
start local 12 69: aload 12
ifnull 73
70: aload 12
instanceof com.sun.tools.classfile.Code_attribute
ifeq 72
71: aload 12
checkcast com.sun.tools.classfile.Code_attribute
astore 11
goto 73
72: StackMap locals: com.sun.tools.classfile.Code_attribute com.sun.tools.classfile.Attribute
StackMap stack:
aload 0
ldc "Unexpected or invalid value for Code attribute"
invokevirtual com.sun.tools.javap.ClassWriter.report:(Ljava/lang/String;)Ljava/lang/String;
pop
73: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showAllAttrs:Z
ifeq 81
74: aload 1
getfield com.sun.tools.classfile.Method.attributes:Lcom/sun/tools/classfile/Attributes;
getfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
astore 13
start local 13 75: aload 13
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 79
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Method com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Descriptor com.sun.tools.classfile.Type$MethodType java.util.List com.sun.tools.classfile.Signature_attribute java.util.Set java.lang.String top com.sun.tools.classfile.Attribute com.sun.tools.classfile.Code_attribute com.sun.tools.classfile.Attribute com.sun.tools.classfile.Attribute[] top int int com.sun.tools.classfile.Attribute[]
StackMap stack:
76: aload 17
iload 15
aaload
astore 14
start local 14 77: aload 0
getfield com.sun.tools.javap.ClassWriter.attrWriter:Lcom/sun/tools/javap/AttributeWriter;
aload 1
aload 14
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.javap.AttributeWriter.write:(Ljava/lang/Object;Lcom/sun/tools/classfile/Attribute;Lcom/sun/tools/classfile/ConstantPool;)V
end local 14 78: iinc 15 1
StackMap locals:
StackMap stack:
79: iload 15
iload 16
if_icmplt 76
end local 13 80: goto 89
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Method com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Descriptor com.sun.tools.classfile.Type$MethodType java.util.List com.sun.tools.classfile.Signature_attribute java.util.Set java.lang.String top com.sun.tools.classfile.Attribute com.sun.tools.classfile.Code_attribute com.sun.tools.classfile.Attribute
StackMap stack:
81: aload 11
ifnull 89
82: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showDisassembled:Z
ifeq 86
83: aload 0
ldc "Code:"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
84: aload 0
getfield com.sun.tools.javap.ClassWriter.codeWriter:Lcom/sun/tools/javap/CodeWriter;
aload 11
invokevirtual com.sun.tools.javap.CodeWriter.writeInstrs:(Lcom/sun/tools/classfile/Code_attribute;)V
85: aload 0
getfield com.sun.tools.javap.ClassWriter.codeWriter:Lcom/sun/tools/javap/CodeWriter;
aload 11
invokevirtual com.sun.tools.javap.CodeWriter.writeExceptionTable:(Lcom/sun/tools/classfile/Code_attribute;)V
86: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showLineAndLocalVariableTables:Z
ifeq 89
87: aload 0
getfield com.sun.tools.javap.ClassWriter.attrWriter:Lcom/sun/tools/javap/AttributeWriter;
aload 11
aload 11
getfield com.sun.tools.classfile.Code_attribute.attributes:Lcom/sun/tools/classfile/Attributes;
ldc "LineNumberTable"
invokevirtual com.sun.tools.classfile.Attributes.get:(Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.javap.AttributeWriter.write:(Ljava/lang/Object;Lcom/sun/tools/classfile/Attribute;Lcom/sun/tools/classfile/ConstantPool;)V
88: aload 0
getfield com.sun.tools.javap.ClassWriter.attrWriter:Lcom/sun/tools/javap/AttributeWriter;
aload 11
aload 11
getfield com.sun.tools.classfile.Code_attribute.attributes:Lcom/sun/tools/classfile/Attributes;
ldc "LocalVariableTable"
invokevirtual com.sun.tools.classfile.Attributes.get:(Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.javap.AttributeWriter.write:(Ljava/lang/Object;Lcom/sun/tools/classfile/Attribute;Lcom/sun/tools/classfile/ConstantPool;)V
89: StackMap locals:
StackMap stack:
aload 0
iconst_m1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
90: aload 0
91: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showDisassembled:Z
ifne 96
92: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showAllAttrs:Z
ifne 96
93: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showDescriptors:Z
ifne 96
94: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.showLineAndLocalVariableTables:Z
ifne 96
95: aload 0
getfield com.sun.tools.javap.ClassWriter.options:Lcom/sun/tools/javap/Options;
getfield com.sun.tools.javap.Options.verbose:Z
ifne 96
iconst_0
goto 97
StackMap locals:
StackMap stack: com.sun.tools.javap.ClassWriter
96: iconst_1
97: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Method com.sun.tools.classfile.AccessFlags com.sun.tools.classfile.Descriptor com.sun.tools.classfile.Type$MethodType java.util.List com.sun.tools.classfile.Signature_attribute java.util.Set java.lang.String top com.sun.tools.classfile.Attribute com.sun.tools.classfile.Code_attribute com.sun.tools.classfile.Attribute
StackMap stack: com.sun.tools.javap.ClassWriter int
invokevirtual com.sun.tools.javap.ClassWriter.setPendingNewline:(Z)V
98: return
end local 12 end local 11 end local 10 end local 8 end local 7 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 99 0 this Lcom/sun/tools/javap/ClassWriter;
0 99 1 m Lcom/sun/tools/classfile/Method;
4 99 2 flags Lcom/sun/tools/classfile/AccessFlags;
7 10 3 d Lcom/sun/tools/classfile/Descriptor;
12 99 3 d Lcom/sun/tools/classfile/Descriptor;
8 10 4 methodType Lcom/sun/tools/classfile/Type$MethodType;
13 17 4 methodType Lcom/sun/tools/classfile/Type$MethodType;
19 99 4 methodType Lcom/sun/tools/classfile/Type$MethodType;
9 10 5 methodExceptions Ljava/util/List<+Lcom/sun/tools/classfile/Type;>;
14 17 5 methodExceptions Ljava/util/List<+Lcom/sun/tools/classfile/Type;>;
20 99 5 methodExceptions Ljava/util/List<+Lcom/sun/tools/classfile/Type;>;
5 99 6 sigAttr Lcom/sun/tools/classfile/Signature_attribute;
11 20 7 methodSig Lcom/sun/tools/classfile/Signature;
21 99 7 modifiers Ljava/util/Set<Ljava/lang/String;>;
22 99 8 name Ljava/lang/String;
45 99 10 e_attr Lcom/sun/tools/classfile/Attribute;
48 59 11 exceptions Lcom/sun/tools/classfile/Exceptions_attribute;
53 59 12 i I
68 99 11 code Lcom/sun/tools/classfile/Code_attribute;
69 99 12 c_attr Lcom/sun/tools/classfile/Attribute;
75 80 13 attrs [Lcom/sun/tools/classfile/Attribute;
77 78 14 attr Lcom/sun/tools/classfile/Attribute;
Exception table:
from to target type
12 16 17 Class com.sun.tools.classfile.ConstantPoolException
12 16 17 Class java.lang.IllegalStateException
MethodParameters:
Name Flags
m
void writeModifiers(java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.sun.tools.javap.ClassWriter java.util.Collection top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 2
start local 2 2: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/Object;)V
3: aload 0
ldc " "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javap/ClassWriter;
0 6 1 items Ljava/util/Collection<Ljava/lang/String;>;
2 4 2 item Ljava/lang/Object;
Signature: (Ljava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
items
void writeDirectives();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=15, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.attributes:Lcom/sun/tools/classfile/Attributes;
ldc "Module"
invokevirtual com.sun.tools.classfile.Attributes.get:(Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
astore 1
start local 1 1: aload 1
instanceof com.sun.tools.classfile.Module_attribute
ifne 3
2: return
3: StackMap locals: com.sun.tools.classfile.Attribute
StackMap stack:
aload 1
checkcast com.sun.tools.classfile.Module_attribute
astore 2
start local 2 4: aload 2
getfield com.sun.tools.classfile.Module_attribute.requires:[Lcom/sun/tools/classfile/Module_attribute$RequiresEntry;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 19
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute top int int com.sun.tools.classfile.Module_attribute$RequiresEntry[]
StackMap stack:
5: aload 6
iload 4
aaload
astore 3
start local 3 6: aload 0
ldc "requires"
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
7: aload 3
getfield com.sun.tools.classfile.Module_attribute$RequiresEntry.requires_flags:I
bipush 64
iand
ifeq 9
8: aload 0
ldc " static"
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
9: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$RequiresEntry int int com.sun.tools.classfile.Module_attribute$RequiresEntry[]
StackMap stack:
aload 3
getfield com.sun.tools.classfile.Module_attribute$RequiresEntry.requires_flags:I
bipush 32
iand
ifeq 11
10: aload 0
ldc " transitive"
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
aload 0
ldc " "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
12: aload 0
aload 3
getfield com.sun.tools.classfile.Module_attribute$RequiresEntry.requires_index:I
invokevirtual com.sun.tools.javap.ClassWriter.getModuleName:(I)Ljava/lang/String;
astore 7
start local 7 13: goto 16
end local 7 StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
14: astore 8
start local 8 15: aload 0
aload 8
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
astore 7
end local 8 start local 7 16: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 7
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
17: aload 0
ldc ";"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
end local 7 end local 3 18: iinc 4 1
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute top int int com.sun.tools.classfile.Module_attribute$RequiresEntry[]
StackMap stack:
19: iload 4
iload 5
if_icmplt 5
20: aload 2
getfield com.sun.tools.classfile.Module_attribute.exports:[Lcom/sun/tools/classfile/Module_attribute$ExportsEntry;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 49
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute top int int com.sun.tools.classfile.Module_attribute$ExportsEntry[]
StackMap stack:
21: aload 6
iload 4
aaload
astore 3
start local 3 22: aload 0
ldc "exports"
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
23: aload 0
ldc " "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
24: aload 0
aload 3
getfield com.sun.tools.classfile.Module_attribute$ExportsEntry.exports_index:I
invokevirtual com.sun.tools.javap.ClassWriter.getPackageName:(I)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 7
start local 7 25: goto 28
end local 7 StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$ExportsEntry int int com.sun.tools.classfile.Module_attribute$ExportsEntry[]
StackMap stack: com.sun.tools.classfile.ConstantPoolException
26: astore 8
start local 8 27: aload 0
aload 8
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
astore 7
end local 8 start local 7 28: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 7
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
29: iconst_1
istore 8
start local 8 30: aload 3
getfield com.sun.tools.classfile.Module_attribute$ExportsEntry.exports_to_index:[I
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 44
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$ExportsEntry int int com.sun.tools.classfile.Module_attribute$ExportsEntry[] java.lang.String int top int int int[]
StackMap stack:
31: aload 12
iload 10
iaload
istore 9
start local 9 32: aload 0
iload 9
invokevirtual com.sun.tools.javap.ClassWriter.getModuleName:(I)Ljava/lang/String;
astore 13
start local 13 33: goto 36
end local 13 StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$ExportsEntry int int com.sun.tools.classfile.Module_attribute$ExportsEntry[] java.lang.String int int int int int[]
StackMap stack: com.sun.tools.classfile.ConstantPoolException
34: astore 14
start local 14 35: aload 0
aload 14
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
astore 13
end local 14 start local 13 36: StackMap locals: java.lang.String
StackMap stack:
iload 8
ifeq 41
37: aload 0
ldc " to"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
38: aload 0
iconst_1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
39: iconst_0
istore 8
40: goto 42
41: StackMap locals:
StackMap stack:
aload 0
ldc ","
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
42: StackMap locals:
StackMap stack:
aload 0
aload 13
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
end local 13 end local 9 43: iinc 10 1
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$ExportsEntry int int com.sun.tools.classfile.Module_attribute$ExportsEntry[] java.lang.String int top int int int[]
StackMap stack:
44: iload 10
iload 11
if_icmplt 31
45: aload 0
ldc ";"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
46: iload 8
ifne 48
47: aload 0
iconst_m1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
end local 8 end local 7 end local 3 48: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute top int int com.sun.tools.classfile.Module_attribute$ExportsEntry[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
49: iload 4
iload 5
if_icmplt 21
50: aload 2
getfield com.sun.tools.classfile.Module_attribute.opens:[Lcom/sun/tools/classfile/Module_attribute$OpensEntry;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 79
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute top int int com.sun.tools.classfile.Module_attribute$OpensEntry[]
StackMap stack:
51: aload 6
iload 4
aaload
astore 3
start local 3 52: aload 0
ldc "opens"
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
53: aload 0
ldc " "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
54: aload 0
aload 3
getfield com.sun.tools.classfile.Module_attribute$OpensEntry.opens_index:I
invokevirtual com.sun.tools.javap.ClassWriter.getPackageName:(I)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 7
start local 7 55: goto 58
end local 7 StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$OpensEntry int int com.sun.tools.classfile.Module_attribute$OpensEntry[]
StackMap stack: com.sun.tools.classfile.ConstantPoolException
56: astore 8
start local 8 57: aload 0
aload 8
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
astore 7
end local 8 start local 7 58: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 7
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
59: iconst_1
istore 8
start local 8 60: aload 3
getfield com.sun.tools.classfile.Module_attribute$OpensEntry.opens_to_index:[I
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 74
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$OpensEntry int int com.sun.tools.classfile.Module_attribute$OpensEntry[] java.lang.String int top int int int[]
StackMap stack:
61: aload 12
iload 10
iaload
istore 9
start local 9 62: aload 0
iload 9
invokevirtual com.sun.tools.javap.ClassWriter.getModuleName:(I)Ljava/lang/String;
astore 13
start local 13 63: goto 66
end local 13 StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$OpensEntry int int com.sun.tools.classfile.Module_attribute$OpensEntry[] java.lang.String int int int int int[]
StackMap stack: com.sun.tools.classfile.ConstantPoolException
64: astore 14
start local 14 65: aload 0
aload 14
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
astore 13
end local 14 start local 13 66: StackMap locals: java.lang.String
StackMap stack:
iload 8
ifeq 71
67: aload 0
ldc " to"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
68: aload 0
iconst_1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
69: iconst_0
istore 8
70: goto 72
71: StackMap locals:
StackMap stack:
aload 0
ldc ","
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
72: StackMap locals:
StackMap stack:
aload 0
aload 13
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
end local 13 end local 9 73: iinc 10 1
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$OpensEntry int int com.sun.tools.classfile.Module_attribute$OpensEntry[] java.lang.String int top int int int[]
StackMap stack:
74: iload 10
iload 11
if_icmplt 61
75: aload 0
ldc ";"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
76: iload 8
ifne 78
77: aload 0
iconst_m1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
end local 8 end local 7 end local 3 78: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute top int int com.sun.tools.classfile.Module_attribute$OpensEntry[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
79: iload 4
iload 5
if_icmplt 51
80: aload 2
getfield com.sun.tools.classfile.Module_attribute.uses_index:[I
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 86
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute top int int int[]
StackMap stack:
81: aload 6
iload 4
iaload
istore 3
start local 3 82: aload 0
ldc "uses "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
83: aload 0
aload 0
iload 3
invokevirtual com.sun.tools.javap.ClassWriter.getClassName:(I)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
84: aload 0
ldc ";"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
end local 3 85: iinc 4 1
StackMap locals:
StackMap stack:
86: iload 4
iload 5
if_icmplt 81
87: aload 2
getfield com.sun.tools.classfile.Module_attribute.provides:[Lcom/sun/tools/classfile/Module_attribute$ProvidesEntry;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 107
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute top int int com.sun.tools.classfile.Module_attribute$ProvidesEntry[]
StackMap stack:
88: aload 6
iload 4
aaload
astore 3
start local 3 89: aload 0
ldc "provides "
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
90: aload 0
aload 0
aload 3
getfield com.sun.tools.classfile.Module_attribute$ProvidesEntry.provides_index:I
invokevirtual com.sun.tools.javap.ClassWriter.getClassName:(I)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
91: iconst_1
istore 7
start local 7 92: aload 3
getfield com.sun.tools.classfile.Module_attribute$ProvidesEntry.with_index:[I
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 102
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$ProvidesEntry int int com.sun.tools.classfile.Module_attribute$ProvidesEntry[] int top int int int[]
StackMap stack:
93: aload 11
iload 9
iaload
istore 8
start local 8 94: iload 7
ifeq 99
95: aload 0
ldc " with"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
96: aload 0
iconst_1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
97: iconst_0
istore 7
98: goto 100
99: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$ProvidesEntry int int com.sun.tools.classfile.Module_attribute$ProvidesEntry[] int int int int int[]
StackMap stack:
aload 0
ldc ","
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
100: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 8
invokevirtual com.sun.tools.javap.ClassWriter.getClassName:(I)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
end local 8 101: iinc 9 1
StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute com.sun.tools.classfile.Module_attribute$ProvidesEntry int int com.sun.tools.classfile.Module_attribute$ProvidesEntry[] int top int int int[]
StackMap stack:
102: iload 9
iload 10
if_icmplt 93
103: aload 0
ldc ";"
invokevirtual com.sun.tools.javap.ClassWriter.println:(Ljava/lang/String;)V
104: iload 7
ifne 106
105: aload 0
iconst_m1
invokevirtual com.sun.tools.javap.ClassWriter.indent:(I)V
end local 7 end local 3 106: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Attribute com.sun.tools.classfile.Module_attribute top int int com.sun.tools.classfile.Module_attribute$ProvidesEntry[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
107: iload 4
iload 5
if_icmplt 88
108: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 109 0 this Lcom/sun/tools/javap/ClassWriter;
1 109 1 attr Lcom/sun/tools/classfile/Attribute;
4 109 2 m Lcom/sun/tools/classfile/Module_attribute;
6 18 3 entry Lcom/sun/tools/classfile/Module_attribute$RequiresEntry;
13 14 7 mname Ljava/lang/String;
16 18 7 mname Ljava/lang/String;
15 16 8 e Lcom/sun/tools/classfile/ConstantPoolException;
22 48 3 entry Lcom/sun/tools/classfile/Module_attribute$ExportsEntry;
25 26 7 pname Ljava/lang/String;
28 48 7 pname Ljava/lang/String;
27 28 8 e Lcom/sun/tools/classfile/ConstantPoolException;
30 48 8 first Z
32 43 9 i I
33 34 13 mname Ljava/lang/String;
36 43 13 mname Ljava/lang/String;
35 36 14 e Lcom/sun/tools/classfile/ConstantPoolException;
52 78 3 entry Lcom/sun/tools/classfile/Module_attribute$OpensEntry;
55 56 7 pname Ljava/lang/String;
58 78 7 pname Ljava/lang/String;
57 58 8 e Lcom/sun/tools/classfile/ConstantPoolException;
60 78 8 first Z
62 73 9 i I
63 64 13 mname Ljava/lang/String;
66 73 13 mname Ljava/lang/String;
65 66 14 e Lcom/sun/tools/classfile/ConstantPoolException;
82 85 3 entry I
89 106 3 entry Lcom/sun/tools/classfile/Module_attribute$ProvidesEntry;
92 106 7 first Z
94 101 8 i I
Exception table:
from to target type
12 13 14 Class com.sun.tools.classfile.ConstantPoolException
24 25 26 Class com.sun.tools.classfile.ConstantPoolException
32 33 34 Class com.sun.tools.classfile.ConstantPoolException
54 55 56 Class com.sun.tools.classfile.ConstantPoolException
62 63 64 Class com.sun.tools.classfile.ConstantPoolException
java.lang.String getModuleName(int);
descriptor: (I)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.ClassWriter.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.classfile.ConstantPool$CPInfo.getTag:()I
bipush 19
if_icmpne 2
1: aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
iload 1
invokevirtual com.sun.tools.classfile.ConstantPool.getModuleInfo:(I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Module_info;
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Module_info.getName:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
iload 1
invokevirtual com.sun.tools.classfile.ConstantPool.getUTF8Value:(I)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javap/ClassWriter;
0 3 1 index I
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
index
java.lang.String getPackageName(int);
descriptor: (I)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.ClassWriter.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.classfile.ConstantPool$CPInfo.getTag:()I
bipush 20
if_icmpne 2
1: aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
iload 1
invokevirtual com.sun.tools.classfile.ConstantPool.getPackageInfo:(I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Package_info;
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Package_info.getName:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
iload 1
invokevirtual com.sun.tools.classfile.ConstantPool.getUTF8Value:(I)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javap/ClassWriter;
0 3 1 index I
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
index
java.lang.String getUTF8Value(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
iload 1
invokevirtual com.sun.tools.classfile.ConstantPool.getUTF8Value:(I)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javap/ClassWriter;
0 4 1 index I
3 4 2 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
index
java.lang.String getClassName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javap.ClassWriter.classFile:Lcom/sun/tools/classfile/ClassFile;
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
iload 1
invokevirtual com.sun.tools.classfile.ConstantPool.getClassInfo:(I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Class_info;
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info.getName:()Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javap/ClassWriter;
0 4 1 index I
3 4 2 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
index
void writeList(java.lang.String, java.util.Collection<?>, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/util/Collection;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
1: ldc ""
astore 4
start local 4 2: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 7
StackMap locals: com.sun.tools.javap.ClassWriter java.lang.String java.util.Collection java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 4: aload 0
aload 4
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
5: aload 0
aload 5
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/Object;)V
6: ldc ", "
astore 4
end local 5 7: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: aload 0
aload 3
invokevirtual com.sun.tools.javap.ClassWriter.print:(Ljava/lang/String;)V
9: return
end local 4 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/ClassWriter;
0 10 1 prefix Ljava/lang/String;
0 10 2 items Ljava/util/Collection<*>;
0 10 3 suffix Ljava/lang/String;
2 10 4 sep Ljava/lang/String;
4 7 5 item Ljava/lang/Object;
Signature: (Ljava/lang/String;Ljava/util/Collection<*>;Ljava/lang/String;)V
MethodParameters:
Name Flags
prefix
items
suffix
void writeListIfNotEmpty(java.lang.String, java.util.List<?>, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 2
aload 2
invokeinterface java.util.List.size:()I
ifle 2
1: aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.javap.ClassWriter.writeList:(Ljava/lang/String;Ljava/util/Collection;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javap/ClassWriter;
0 3 1 prefix Ljava/lang/String;
0 3 2 items Ljava/util/List<*>;
0 3 3 suffix Ljava/lang/String;
Signature: (Ljava/lang/String;Ljava/util/List<*>;Ljava/lang/String;)V
MethodParameters:
Name Flags
prefix
items
suffix
com.sun.tools.classfile.Signature_attribute getSignature(com.sun.tools.classfile.Attributes);
descriptor: (Lcom/sun/tools/classfile/Attributes;)Lcom/sun/tools/classfile/Signature_attribute;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "Signature"
invokevirtual com.sun.tools.classfile.Attributes.get:(Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
checkcast com.sun.tools.classfile.Signature_attribute
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javap/ClassWriter;
0 1 1 attributes Lcom/sun/tools/classfile/Attributes;
MethodParameters:
Name Flags
attributes
java.lang.String adjustVarargs(com.sun.tools.classfile.AccessFlags, java.lang.String);
descriptor: (Lcom/sun/tools/classfile/AccessFlags;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
sipush 128
invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
ifeq 4
1: aload 2
ldc "[]"
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
istore 3
start local 3 2: iload 3
ifle 4
3: new java.lang.StringBuilder
dup
aload 2
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)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 2
iload 3
iconst_2
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 4: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javap/ClassWriter;
0 5 1 flags Lcom/sun/tools/classfile/AccessFlags;
0 5 2 params Ljava/lang/String;
2 4 3 i I
MethodParameters:
Name Flags
flags
params
java.lang.String getJavaName(com.sun.tools.classfile.ClassFile);
descriptor: (Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
invokestatic com.sun.tools.javap.ClassWriter.getJavaName:(Ljava/lang/String;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javap/ClassWriter;
0 4 1 cf Lcom/sun/tools/classfile/ClassFile;
3 4 2 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
java.lang.String getJavaSuperclassName(com.sun.tools.classfile.ClassFile);
descriptor: (Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.classfile.ClassFile.getSuperclassName:()Ljava/lang/String;
invokestatic com.sun.tools.javap.ClassWriter.getJavaName:(Ljava/lang/String;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javap/ClassWriter;
0 4 1 cf Lcom/sun/tools/classfile/ClassFile;
3 4 2 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
java.lang.String getJavaInterfaceName(com.sun.tools.classfile.ClassFile, int);
descriptor: (Lcom/sun/tools/classfile/ClassFile;I)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokevirtual com.sun.tools.classfile.ClassFile.getInterfaceName:(I)Ljava/lang/String;
invokestatic com.sun.tools.javap.ClassWriter.getJavaName:(Ljava/lang/String;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 3
start local 3 3: aload 0
aload 3
invokevirtual com.sun.tools.javap.ClassWriter.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 4 0 this Lcom/sun/tools/javap/ClassWriter;
0 4 1 cf Lcom/sun/tools/classfile/ClassFile;
0 4 2 index I
3 4 3 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
index
java.lang.String getJavaFieldType(com.sun.tools.classfile.Descriptor);
descriptor: (Lcom/sun/tools/classfile/Descriptor;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Descriptor.getFieldType:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
invokestatic com.sun.tools.javap.ClassWriter.getJavaName:(Ljava/lang/String;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 2 4: StackMap locals:
StackMap stack: com.sun.tools.classfile.Descriptor$InvalidDescriptor
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/DescriptorException;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javap/ClassWriter;
0 6 1 d Lcom/sun/tools/classfile/Descriptor;
3 4 2 e Lcom/sun/tools/classfile/ConstantPoolException;
5 6 2 e Lcom/sun/tools/classfile/Descriptor$InvalidDescriptor;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
0 1 4 Class com.sun.tools.classfile.Descriptor$InvalidDescriptor
MethodParameters:
Name Flags
d
java.lang.String getJavaReturnType(com.sun.tools.classfile.Descriptor);
descriptor: (Lcom/sun/tools/classfile/Descriptor;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Descriptor.getReturnType:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
invokestatic com.sun.tools.javap.ClassWriter.getJavaName:(Ljava/lang/String;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 2 4: StackMap locals:
StackMap stack: com.sun.tools.classfile.Descriptor$InvalidDescriptor
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/DescriptorException;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javap/ClassWriter;
0 6 1 d Lcom/sun/tools/classfile/Descriptor;
3 4 2 e Lcom/sun/tools/classfile/ConstantPoolException;
5 6 2 e Lcom/sun/tools/classfile/Descriptor$InvalidDescriptor;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
0 1 4 Class com.sun.tools.classfile.Descriptor$InvalidDescriptor
MethodParameters:
Name Flags
d
java.lang.String getJavaParameterTypes(com.sun.tools.classfile.Descriptor, com.sun.tools.classfile.AccessFlags);
descriptor: (Lcom/sun/tools/classfile/Descriptor;Lcom/sun/tools/classfile/AccessFlags;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 1
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Descriptor.getParameterTypes:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.adjustVarargs:(Lcom/sun/tools/classfile/AccessFlags;Ljava/lang/String;)Ljava/lang/String;
invokestatic com.sun.tools.javap.ClassWriter.getJavaName:(Ljava/lang/String;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 3
start local 3 3: aload 0
aload 3
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 3 4: StackMap locals:
StackMap stack: com.sun.tools.classfile.Descriptor$InvalidDescriptor
astore 3
start local 3 5: aload 0
aload 3
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/DescriptorException;)Ljava/lang/String;
areturn
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/javap/ClassWriter;
0 6 1 d Lcom/sun/tools/classfile/Descriptor;
0 6 2 flags Lcom/sun/tools/classfile/AccessFlags;
3 4 3 e Lcom/sun/tools/classfile/ConstantPoolException;
5 6 3 e Lcom/sun/tools/classfile/Descriptor$InvalidDescriptor;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
0 1 4 Class com.sun.tools.classfile.Descriptor$InvalidDescriptor
MethodParameters:
Name Flags
d
flags
java.lang.String getJavaException(com.sun.tools.classfile.Exceptions_attribute, int);
descriptor: (Lcom/sun/tools/classfile/Exceptions_attribute;I)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Exceptions_attribute.getException:(ILcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
invokestatic com.sun.tools.javap.ClassWriter.getJavaName:(Ljava/lang/String;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 3
start local 3 3: aload 0
aload 3
invokevirtual com.sun.tools.javap.ClassWriter.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 4 0 this Lcom/sun/tools/javap/ClassWriter;
0 4 1 attr Lcom/sun/tools/classfile/Exceptions_attribute;
0 4 2 index I
3 4 3 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
attr
index
java.lang.String getValue(com.sun.tools.classfile.Descriptor);
descriptor: (Lcom/sun/tools/classfile/Descriptor;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Descriptor.getValue:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javap/ClassWriter;
0 4 1 d Lcom/sun/tools/classfile/Descriptor;
3 4 2 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
d
java.lang.String getFieldName(com.sun.tools.classfile.Field);
descriptor: (Lcom/sun/tools/classfile/Field;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Field.getName:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javap/ClassWriter;
0 4 1 f Lcom/sun/tools/classfile/Field;
3 4 2 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
f
java.lang.String getName(com.sun.tools.classfile.Method);
descriptor: (Lcom/sun/tools/classfile/Method;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Method.getName:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javap/ClassWriter;
0 4 1 m Lcom/sun/tools/classfile/Method;
3 4 2 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
m
static java.lang.String getJavaName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
java.lang.String getSourceFile(com.sun.tools.classfile.SourceFile_attribute);
descriptor: (Lcom/sun/tools/classfile/SourceFile_attribute;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.SourceFile_attribute.getSourceFile:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.javap.ClassWriter.report:(Lcom/sun/tools/classfile/ConstantPoolException;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javap/ClassWriter;
0 4 1 attr Lcom/sun/tools/classfile/SourceFile_attribute;
3 4 2 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 1 2 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
attr
java.lang.String getConstantValue(com.sun.tools.classfile.Descriptor, int);
descriptor: (Lcom/sun/tools/classfile/Descriptor;I)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
iload 2
invokevirtual com.sun.tools.classfile.ConstantPool.get:(I)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
astore 3
start local 3 1: aload 3
invokevirtual com.sun.tools.classfile.ConstantPool$CPInfo.getTag:()I
lookupswitch { // 2
3: 2
8: 16
default: 20
}
2: StackMap locals: com.sun.tools.classfile.ConstantPool$CPInfo
StackMap stack:
aload 3
checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info
3: astore 4
start local 4 4: aload 1
aload 0
getfield com.sun.tools.javap.ClassWriter.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Descriptor.getValue:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
astore 5
start local 5 5: aload 5
dup
astore 6
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
67: 6
90: 7
default: 14
}
StackMap locals: com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info java.lang.String java.lang.String
StackMap stack:
6: aload 6
ldc "C"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 14
StackMap locals:
StackMap stack:
7: aload 6
ldc "Z"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
goto 14
8: StackMap locals:
StackMap stack:
aload 0
aload 4
getfield com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info.value:I
i2c
invokevirtual com.sun.tools.javap.ClassWriter.getConstantCharValue:(C)Ljava/lang/String;
9: areturn
10: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info.value:I
iconst_1
if_icmpne 11
iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
13: areturn
14: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info.value:I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
15: areturn
end local 5 end local 4 16: StackMap locals:
StackMap stack:
aload 3
checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_String_info
17: astore 4
start local 4 18: aload 0
aload 4
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_String_info.getString:()Ljava/lang/String;
invokevirtual com.sun.tools.javap.ClassWriter.getConstantStringValue:(Ljava/lang/String;)Ljava/lang/String;
19: areturn
end local 4 20: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.ClassWriter.constantWriter:Lcom/sun/tools/javap/ConstantWriter;
aload 3
invokevirtual com.sun.tools.javap.ConstantWriter.stringValue:(Lcom/sun/tools/classfile/ConstantPool$CPInfo;)Ljava/lang/String;
21: areturn
end local 3 22: StackMap locals: com.sun.tools.javap.ClassWriter com.sun.tools.classfile.Descriptor int
StackMap stack: com.sun.tools.classfile.ConstantPoolException
pop
23: new java.lang.StringBuilder
dup
ldc "#"
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;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/sun/tools/javap/ClassWriter;
0 24 1 d Lcom/sun/tools/classfile/Descriptor;
0 24 2 index I
1 22 3 cpInfo Lcom/sun/tools/classfile/ConstantPool$CPInfo;
4 16 4 info Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Integer_info;
5 16 5 t Ljava/lang/String;
18 20 4 info Lcom/sun/tools/classfile/ConstantPool$CONSTANT_String_info;
Exception table:
from to target type
0 9 22 Class com.sun.tools.classfile.ConstantPoolException
10 13 22 Class com.sun.tools.classfile.ConstantPoolException
14 15 22 Class com.sun.tools.classfile.ConstantPoolException
16 19 22 Class com.sun.tools.classfile.ConstantPoolException
20 21 22 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
d
index
private java.lang.String getConstantCharValue(char);
descriptor: (C)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
bipush 39
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: aload 2
aload 0
iload 1
bipush 39
invokevirtual com.sun.tools.javap.ClassWriter.esc:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 2
bipush 39
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javap/ClassWriter;
0 5 1 c C
1 5 2 sb Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
c
private java.lang.String getConstantStringValue(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 2
aload 0
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 34
invokevirtual com.sun.tools.javap.ClassWriter.esc:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 4
end local 3 7: aload 2
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javap/ClassWriter;
0 9 1 s Ljava/lang/String;
1 9 2 sb Ljava/lang/StringBuilder;
3 7 3 i I
MethodParameters:
Name Flags
s
private java.lang.String esc(char, char);
descriptor: (CC)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: bipush 32
iload 1
if_icmpgt 2
iload 1
bipush 126
if_icmpgt 2
iload 1
iload 2
if_icmpeq 2
iload 1
bipush 92
if_icmpeq 2
1: iload 1
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
iload 1
lookupswitch { // 8
8: 3
9: 5
10: 4
12: 6
13: 7
34: 10
39: 9
92: 8
default: 11
}
3: StackMap locals:
StackMap stack:
ldc "\\b"
areturn
4: StackMap locals:
StackMap stack:
ldc "\\n"
areturn
5: StackMap locals:
StackMap stack:
ldc "\\t"
areturn
6: StackMap locals:
StackMap stack:
ldc "\\f"
areturn
7: StackMap locals:
StackMap stack:
ldc "\\r"
areturn
8: StackMap locals:
StackMap stack:
ldc "\\\\"
areturn
9: StackMap locals:
StackMap stack:
ldc "\\'"
areturn
10: StackMap locals:
StackMap stack:
ldc "\\\""
areturn
11: StackMap locals:
StackMap stack:
ldc "\\u%04x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/javap/ClassWriter;
0 12 1 c C
0 12 2 quote C
MethodParameters:
Name Flags
c
quote
}
SourceFile: "ClassWriter.java"
NestMembers:
com.sun.tools.javap.ClassWriter$JavaTypePrinter
InnerClasses:
public CONSTANT_Class_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info of com.sun.tools.classfile.ConstantPool
public CONSTANT_Integer_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info of com.sun.tools.classfile.ConstantPool
public CONSTANT_Module_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Module_info of com.sun.tools.classfile.ConstantPool
public CONSTANT_Package_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Package_info of com.sun.tools.classfile.ConstantPool
public CONSTANT_String_info = com.sun.tools.classfile.ConstantPool$CONSTANT_String_info of com.sun.tools.classfile.ConstantPool
public abstract CPInfo = com.sun.tools.classfile.ConstantPool$CPInfo of com.sun.tools.classfile.ConstantPool
public InvalidDescriptor = com.sun.tools.classfile.Descriptor$InvalidDescriptor of com.sun.tools.classfile.Descriptor
public ExportsEntry = com.sun.tools.classfile.Module_attribute$ExportsEntry of com.sun.tools.classfile.Module_attribute
public OpensEntry = com.sun.tools.classfile.Module_attribute$OpensEntry of com.sun.tools.classfile.Module_attribute
public ProvidesEntry = com.sun.tools.classfile.Module_attribute$ProvidesEntry of com.sun.tools.classfile.Module_attribute
public RequiresEntry = com.sun.tools.classfile.Module_attribute$RequiresEntry of com.sun.tools.classfile.Module_attribute
public ClassSigType = com.sun.tools.classfile.Type$ClassSigType of com.sun.tools.classfile.Type
public MethodType = com.sun.tools.classfile.Type$MethodType of com.sun.tools.classfile.Type
public TypeParamType = com.sun.tools.classfile.Type$TypeParamType of com.sun.tools.classfile.Type
JavaTypePrinter = com.sun.tools.javap.ClassWriter$JavaTypePrinter of com.sun.tools.javap.ClassWriter