public class com.sun.tools.classfile.Attribute$Factory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.classfile.Attribute$Factory
super_class: java.lang.Object
{
private java.util.Map<java.lang.String, java.lang.Class<? extends com.sun.tools.classfile.Attribute>> standardAttributes;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<+Lcom/sun/tools/classfile/Attribute;>;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/classfile/Attribute$Factory;
public com.sun.tools.classfile.Attribute createAttribute(com.sun.tools.classfile.ClassReader, int, byte[]);
descriptor: (Lcom/sun/tools/classfile/ClassReader;I[B)Lcom/sun/tools/classfile/Attribute;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ifnonnull 2
1: aload 0
invokevirtual com.sun.tools.classfile.Attribute$Factory.init:()V
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.classfile.ClassReader.getConstantPool:()Lcom/sun/tools/classfile/ConstantPool;
astore 4
start local 4 3: aload 4
iload 2
invokevirtual com.sun.tools.classfile.ConstantPool.getUTF8Value:(I)Ljava/lang/String;
astore 6
start local 6 4: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 7
start local 7 5: aload 7
ifnull 13
6: iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/sun/tools/classfile/ClassReader;
aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_2
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
astore 8
start local 8 7: aload 7
aload 8
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 9
start local 9 8: aload 9
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 3
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.classfile.Attribute
9: areturn
end local 9 end local 8 10: StackMap locals: com.sun.tools.classfile.Attribute$Factory com.sun.tools.classfile.ClassReader int byte[] com.sun.tools.classfile.ConstantPool top java.lang.String java.lang.Class
StackMap stack: java.lang.Throwable
astore 8
start local 8 11: aload 8
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
astore 5
end local 8 start local 5 12: goto 17
end local 5 13: StackMap locals:
StackMap stack:
ldc "unknown attribute"
astore 5
end local 7 end local 6 start local 5 14: goto 17
end local 5 StackMap locals: com.sun.tools.classfile.Attribute$Factory com.sun.tools.classfile.ClassReader int byte[] com.sun.tools.classfile.ConstantPool
StackMap stack: com.sun.tools.classfile.ConstantPoolException
15: astore 6
start local 6 16: aload 6
invokevirtual com.sun.tools.classfile.ConstantPoolException.toString:()Ljava/lang/String;
astore 5
end local 6 start local 5 17: StackMap locals: java.lang.String
StackMap stack:
new com.sun.tools.classfile.DefaultAttribute
dup
aload 1
iload 2
aload 3
aload 5
invokespecial com.sun.tools.classfile.DefaultAttribute.<init>:(Lcom/sun/tools/classfile/ClassReader;I[BLjava/lang/String;)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/classfile/Attribute$Factory;
0 18 1 cr Lcom/sun/tools/classfile/ClassReader;
0 18 2 name_index I
0 18 3 data [B
3 18 4 cp Lcom/sun/tools/classfile/ConstantPool;
12 13 5 reasonForDefaultAttr Ljava/lang/String;
14 15 5 reasonForDefaultAttr Ljava/lang/String;
17 18 5 reasonForDefaultAttr Ljava/lang/String;
4 14 6 name Ljava/lang/String;
5 14 7 attrClass Ljava/lang/Class<+Lcom/sun/tools/classfile/Attribute;>;
7 10 8 constrArgTypes [Ljava/lang/Class;
8 10 9 constr Ljava/lang/reflect/Constructor<+Lcom/sun/tools/classfile/Attribute;>;
11 12 8 t Ljava/lang/Throwable;
16 17 6 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
6 9 10 Class java.lang.Throwable
3 9 15 Class com.sun.tools.classfile.ConstantPoolException
10 14 15 Class com.sun.tools.classfile.ConstantPoolException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cr
name_index
data
protected void init();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
1: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "AnnotationDefault"
ldc Lcom/sun/tools/classfile/AnnotationDefault_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "BootstrapMethods"
ldc Lcom/sun/tools/classfile/BootstrapMethods_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "CharacterRangeTable"
ldc Lcom/sun/tools/classfile/CharacterRangeTable_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "Code"
ldc Lcom/sun/tools/classfile/Code_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "CompilationID"
ldc Lcom/sun/tools/classfile/CompilationID_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "ConstantValue"
ldc Lcom/sun/tools/classfile/ConstantValue_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "Deprecated"
ldc Lcom/sun/tools/classfile/Deprecated_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "EnclosingMethod"
ldc Lcom/sun/tools/classfile/EnclosingMethod_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "Exceptions"
ldc Lcom/sun/tools/classfile/Exceptions_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "InnerClasses"
ldc Lcom/sun/tools/classfile/InnerClasses_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "LineNumberTable"
ldc Lcom/sun/tools/classfile/LineNumberTable_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "LocalVariableTable"
ldc Lcom/sun/tools/classfile/LocalVariableTable_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "LocalVariableTypeTable"
ldc Lcom/sun/tools/classfile/LocalVariableTypeTable_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "MethodParameters"
ldc Lcom/sun/tools/classfile/MethodParameters_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "Module"
ldc Lcom/sun/tools/classfile/Module_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "ModuleHashes"
ldc Lcom/sun/tools/classfile/ModuleHashes_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "ModuleMainClass"
ldc Lcom/sun/tools/classfile/ModuleMainClass_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "ModulePackages"
ldc Lcom/sun/tools/classfile/ModulePackages_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "ModuleResolution"
ldc Lcom/sun/tools/classfile/ModuleResolution_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "ModuleTarget"
ldc Lcom/sun/tools/classfile/ModuleTarget_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "RuntimeInvisibleAnnotations"
ldc Lcom/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "RuntimeInvisibleParameterAnnotations"
ldc Lcom/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "RuntimeVisibleAnnotations"
ldc Lcom/sun/tools/classfile/RuntimeVisibleAnnotations_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "RuntimeVisibleParameterAnnotations"
ldc Lcom/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "RuntimeVisibleTypeAnnotations"
ldc Lcom/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "RuntimeInvisibleTypeAnnotations"
ldc Lcom/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "Signature"
ldc Lcom/sun/tools/classfile/Signature_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
28: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "SourceDebugExtension"
ldc Lcom/sun/tools/classfile/SourceDebugExtension_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
29: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "SourceFile"
ldc Lcom/sun/tools/classfile/SourceFile_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
30: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "SourceID"
ldc Lcom/sun/tools/classfile/SourceID_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "StackMap"
ldc Lcom/sun/tools/classfile/StackMap_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
32: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "StackMapTable"
ldc Lcom/sun/tools/classfile/StackMapTable_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
33: aload 0
getfield com.sun.tools.classfile.Attribute$Factory.standardAttributes:Ljava/util/Map;
ldc "Synthetic"
ldc Lcom/sun/tools/classfile/Synthetic_attribute;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
34: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/sun/tools/classfile/Attribute$Factory;
}
SourceFile: "Attribute.java"
NestHost: com.sun.tools.classfile.Attribute
InnerClasses:
public Factory = com.sun.tools.classfile.Attribute$Factory of com.sun.tools.classfile.Attribute