public class java.io.ObjectStreamField implements java.lang.Comparable<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.io.ObjectStreamField
super_class: java.lang.Object
{
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String signature;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class<?> type;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private java.lang.String typeSignature;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private final boolean unshared;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.reflect.Field field;
descriptor: Ljava/lang/reflect/Field;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int offset;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.String, java.lang.Class<?>);
descriptor: (Ljava/lang/String;Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/Class;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectStreamField;
0 2 1 name Ljava/lang/String;
0 2 2 type Ljava/lang/Class<*>;
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
name
type
public void <init>(java.lang.String, java.lang.Class<?>, );
descriptor: (Ljava/lang/String;Ljava/lang/Class;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
3: StackMap locals: java.io.ObjectStreamField java.lang.String java.lang.Class int
StackMap stack:
aload 0
aload 1
putfield java.io.ObjectStreamField.name:Ljava/lang/String;
4: aload 0
aload 2
putfield java.io.ObjectStreamField.type:Ljava/lang/Class;
5: aload 0
iload 3
putfield java.io.ObjectStreamField.unshared:Z
6: aload 0
aconst_null
putfield java.io.ObjectStreamField.field:Ljava/lang/reflect/Field;
7: aload 0
aconst_null
putfield java.io.ObjectStreamField.signature:Ljava/lang/String;
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/io/ObjectStreamField;
0 9 1 name Ljava/lang/String;
0 9 2 type Ljava/lang/Class<*>;
0 9 3 unshared Z
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Z)V
MethodParameters:
Name Flags
name
type
unshared
void <init>(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
3: StackMap locals: java.io.ObjectStreamField java.lang.String java.lang.String int
StackMap stack:
aload 0
aload 1
putfield java.io.ObjectStreamField.name:Ljava/lang/String;
4: aload 0
aload 2
invokevirtual java.lang.String.intern:()Ljava/lang/String;
putfield java.io.ObjectStreamField.signature:Ljava/lang/String;
5: aload 0
iload 3
putfield java.io.ObjectStreamField.unshared:Z
6: aload 0
aconst_null
putfield java.io.ObjectStreamField.field:Ljava/lang/reflect/Field;
7: aload 2
iconst_0
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 10
66: 9
67: 10
68: 15
70: 14
73: 12
74: 13
76: 16
83: 11
90: 8
91: 16
default: 17
}
8: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
putfield java.io.ObjectStreamField.type:Ljava/lang/Class;
goto 18
9: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
putfield java.io.ObjectStreamField.type:Ljava/lang/Class;
goto 18
10: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
putfield java.io.ObjectStreamField.type:Ljava/lang/Class;
goto 18
11: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
putfield java.io.ObjectStreamField.type:Ljava/lang/Class;
goto 18
12: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
putfield java.io.ObjectStreamField.type:Ljava/lang/Class;
goto 18
13: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
putfield java.io.ObjectStreamField.type:Ljava/lang/Class;
goto 18
14: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
putfield java.io.ObjectStreamField.type:Ljava/lang/Class;
goto 18
15: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
putfield java.io.ObjectStreamField.type:Ljava/lang/Class;
goto 18
16: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Object;
putfield java.io.ObjectStreamField.type:Ljava/lang/Class;
goto 18
17: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "illegal signature"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/io/ObjectStreamField;
0 19 1 name Ljava/lang/String;
0 19 2 signature Ljava/lang/String;
0 19 3 unshared Z
MethodParameters:
Name Flags
name
signature
unshared
private static java.lang.String getPrimitiveSignature(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 2
1: ldc "I"
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 4
3: ldc "B"
areturn
4: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 6
5: ldc "J"
areturn
6: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 8
7: ldc "F"
areturn
8: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 10
9: ldc "D"
areturn
10: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 12
11: ldc "S"
areturn
12: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 14
13: ldc "C"
areturn
14: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 16
15: ldc "Z"
areturn
16: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 18
17: ldc "V"
areturn
18: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 cl Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
cl
static java.lang.String getClassSignature(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 2
1: aload 0
invokestatic java.io.ObjectStreamField.getPrimitiveSignature:(Ljava/lang/Class;)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokestatic java.io.ObjectStreamField.appendClassSignature:(Ljava/lang/StringBuilder;Ljava/lang/Class;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 cl Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
cl
static java.lang.StringBuilder appendClassSignature(java.lang.StringBuilder, java.lang.Class<?>);
descriptor: (Ljava/lang/StringBuilder;Ljava/lang/Class;)Ljava/lang/StringBuilder;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: goto 3
1: StackMap locals:
StackMap stack:
aload 0
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: aload 1
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 1
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isArray:()Z
ifne 1
4: aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 7
5: aload 0
aload 1
invokestatic java.io.ObjectStreamField.getPrimitiveSignature:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
bipush 76
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 59
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 sbuf Ljava/lang/StringBuilder;
0 9 1 cl Ljava/lang/Class<*>;
Signature: (Ljava/lang/StringBuilder;Ljava/lang/Class<*>;)Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
sbuf
cl
void <init>(java.lang.reflect.Field, boolean, boolean);
descriptor: (Ljava/lang/reflect/Field;ZZ)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield java.io.ObjectStreamField.field:Ljava/lang/reflect/Field;
2: aload 0
iload 2
putfield java.io.ObjectStreamField.unshared:Z
3: aload 0
aload 1
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
putfield java.io.ObjectStreamField.name:Ljava/lang/String;
4: aload 1
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
astore 4
start local 4 5: aload 0
iload 3
ifne 6
aload 4
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 7
StackMap locals: java.io.ObjectStreamField java.lang.reflect.Field int int java.lang.Class
StackMap stack: java.io.ObjectStreamField
6: aload 4
goto 8
StackMap locals:
StackMap stack: java.io.ObjectStreamField
7: ldc Ljava/lang/Object;
StackMap locals: java.io.ObjectStreamField java.lang.reflect.Field int int java.lang.Class
StackMap stack: java.io.ObjectStreamField java.lang.Class
8: putfield java.io.ObjectStreamField.type:Ljava/lang/Class;
9: aload 0
aload 4
invokestatic java.io.ObjectStreamField.getClassSignature:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.String.intern:()Ljava/lang/String;
putfield java.io.ObjectStreamField.signature:Ljava/lang/String;
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/io/ObjectStreamField;
0 11 1 field Ljava/lang/reflect/Field;
0 11 2 unshared Z
0 11 3 showType Z
5 11 4 ftype Ljava/lang/Class<*>;
MethodParameters:
Name Flags
field
unshared
showType
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectStreamField.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectStreamField;
public java.lang.Class<?> getType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 4
1: invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
astore 1
start local 1 2: aload 1
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aload 0
getfield java.io.ObjectStreamField.type:Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic sun.reflect.misc.ReflectUtil.needsPackageAccessCheck:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
ifeq 4
3: aload 0
getfield java.io.ObjectStreamField.type:Ljava/lang/Class;
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectStreamField.type:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/io/ObjectStreamField;
2 4 1 caller Ljava/lang/Class<*>;
Signature: ()Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
jdk.internal.reflect.CallerSensitive()
public char getTypeCode();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.io.ObjectStreamField.getSignature:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectStreamField;
public java.lang.String getTypeString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.io.ObjectStreamField.isPrimitive:()Z
ifeq 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual java.io.ObjectStreamField.getSignature:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/io/ObjectStreamField;
public int getOffset();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectStreamField.offset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectStreamField;
protected void setOffset(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield java.io.ObjectStreamField.offset:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectStreamField;
0 2 1 offset I
MethodParameters:
Name Flags
offset
public boolean isPrimitive();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.io.ObjectStreamField.getTypeCode:()C
istore 1
start local 1 1: iload 1
bipush 76
if_icmpeq 2
iload 1
bipush 91
if_icmpeq 2
iconst_1
ireturn
StackMap locals: int
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/io/ObjectStreamField;
1 3 1 tcode C
public boolean isUnshared();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectStreamField.unshared:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectStreamField;
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast java.io.ObjectStreamField
astore 2
start local 2 1: aload 0
invokevirtual java.io.ObjectStreamField.isPrimitive:()Z
istore 3
start local 3 2: iload 3
aload 2
invokevirtual java.io.ObjectStreamField.isPrimitive:()Z
if_icmpeq 6
3: iload 3
ifeq 4
iconst_m1
goto 5
StackMap locals: java.io.ObjectStreamField int
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectStreamField.name:Ljava/lang/String;
aload 2
getfield java.io.ObjectStreamField.name:Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/io/ObjectStreamField;
0 7 1 obj Ljava/lang/Object;
1 7 2 other Ljava/io/ObjectStreamField;
2 7 3 isPrim Z
MethodParameters:
Name Flags
obj
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.io.ObjectStreamField.getSignature:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield java.io.ObjectStreamField.name: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 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectStreamField;
java.lang.reflect.Field getField();
descriptor: ()Ljava/lang/reflect/Field;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectStreamField.field:Ljava/lang/reflect/Field;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectStreamField;
java.lang.String getSignature();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectStreamField.signature:Ljava/lang/String;
ifnull 2
1: aload 0
getfield java.io.ObjectStreamField.signature:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectStreamField.typeSignature:Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnonnull 5
4: aload 0
aload 0
getfield java.io.ObjectStreamField.type:Ljava/lang/Class;
invokestatic java.io.ObjectStreamField.getClassSignature:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.String.intern:()Ljava/lang/String;
dup
astore 1
putfield java.io.ObjectStreamField.typeSignature:Ljava/lang/String;
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/io/ObjectStreamField;
3 6 1 sig Ljava/lang/String;
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/Object;>;
SourceFile: "ObjectStreamField.java"