final class java.util.CollSer implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.util.CollSer
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6309168927139932177
static final int IMM_LIST;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int IMM_SET;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int IMM_MAP;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
private final int tag;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private transient java.lang.Object[] array;
descriptor: [Ljava/lang/Object;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
void <init>(int, java.lang.Object[]);
descriptor: (I[Ljava/lang/Object;)V
flags: (0x0080) ACC_VARARGS
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield java.util.CollSer.tag:I
2: aload 0
aload 2
putfield java.util.CollSer.array:[Ljava/lang/Object;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/CollSer;
0 4 1 t I
0 4 2 a [Ljava/lang/Object;
MethodParameters:
Name Flags
t
a
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 1
invokevirtual java.io.ObjectInputStream.readInt:()I
istore 2
start local 2 2: iload 2
ifge 4
3: new java.io.InvalidObjectException
dup
new java.lang.StringBuilder
dup
ldc "negative length "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int
StackMap stack:
invokestatic jdk.internal.misc.SharedSecrets.getJavaObjectInputStreamAccess:()Ljdk/internal/misc/JavaObjectInputStreamAccess;
aload 1
ldc [Ljava/lang/Object;
iload 2
invokeinterface jdk.internal.misc.JavaObjectInputStreamAccess.checkArray:(Ljava/io/ObjectInputStream;Ljava/lang/Class;I)V
5: iload 2
anewarray java.lang.Object
astore 3
start local 3 6: iconst_0
istore 4
start local 4 7: goto 10
8: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 3
iload 4
aload 1
invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
aastore
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 2
if_icmplt 8
end local 4 11: aload 0
aload 3
putfield java.util.CollSer.array:[Ljava/lang/Object;
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/util/CollSer;
0 13 1 ois Ljava/io/ObjectInputStream;
2 13 2 len I
6 13 3 a [Ljava/lang/Object;
7 11 4 i I
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
ois
private void writeObject(java.io.ObjectOutputStream);
descriptor: (Ljava/io/ObjectOutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
1: aload 1
aload 0
getfield java.util.CollSer.array:[Ljava/lang/Object;
arraylength
invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield java.util.CollSer.array:[Ljava/lang/Object;
iload 2
aaload
invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield java.util.CollSer.array:[Ljava/lang/Object;
arraylength
if_icmplt 4
end local 2 7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/CollSer;
0 8 1 oos Ljava/io/ObjectOutputStream;
3 7 2 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
oos
private java.lang.Object readResolve();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
getfield java.util.CollSer.array:[Ljava/lang/Object;
ifnonnull 2
1: new java.io.InvalidObjectException
dup
ldc "null array"
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.CollSer.tag:I
sipush 255
iand
tableswitch { // 1 - 3
1: 3
2: 5
3: 7
default: 15
}
3: StackMap locals:
StackMap stack:
aload 0
getfield java.util.CollSer.array:[Ljava/lang/Object;
invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
4: areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield java.util.CollSer.array:[Ljava/lang/Object;
invokestatic java.util.Set.of:([Ljava/lang/Object;)Ljava/util/Set;
6: areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield java.util.CollSer.array:[Ljava/lang/Object;
arraylength
ifne 10
8: invokestatic java.util.ImmutableCollections.emptyMap:()Ljava/util/Map;
9: areturn
10: StackMap locals:
StackMap stack:
aload 0
getfield java.util.CollSer.array:[Ljava/lang/Object;
arraylength
iconst_2
if_icmpne 13
11: new java.util.ImmutableCollections$Map1
dup
aload 0
getfield java.util.CollSer.array:[Ljava/lang/Object;
iconst_0
aaload
aload 0
getfield java.util.CollSer.array:[Ljava/lang/Object;
iconst_1
aaload
invokespecial java.util.ImmutableCollections$Map1.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
12: areturn
13: StackMap locals:
StackMap stack:
new java.util.ImmutableCollections$MapN
dup
aload 0
getfield java.util.CollSer.array:[Ljava/lang/Object;
invokespecial java.util.ImmutableCollections$MapN.<init>:([Ljava/lang/Object;)V
14: areturn
15: StackMap locals:
StackMap stack:
new java.io.InvalidObjectException
dup
ldc "invalid flags 0x%x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield java.util.CollSer.tag: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;
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 1
start local 1 17: new java.io.InvalidObjectException
dup
ldc "invalid object"
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
astore 2
start local 2 18: aload 2
aload 1
invokevirtual java.io.InvalidObjectException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
19: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/util/CollSer;
17 20 1 ex Ljava/lang/RuntimeException;
18 20 2 ioe Ljava/io/InvalidObjectException;
Exception table:
from to target type
0 4 16 Class java.lang.NullPointerException
5 6 16 Class java.lang.NullPointerException
7 9 16 Class java.lang.NullPointerException
10 12 16 Class java.lang.NullPointerException
13 14 16 Class java.lang.NullPointerException
15 16 16 Class java.lang.NullPointerException
0 4 16 Class java.lang.IllegalArgumentException
5 6 16 Class java.lang.IllegalArgumentException
7 9 16 Class java.lang.IllegalArgumentException
10 12 16 Class java.lang.IllegalArgumentException
13 14 16 Class java.lang.IllegalArgumentException
15 16 16 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.ObjectStreamException
}
SourceFile: "ImmutableCollections.java"
InnerClasses:
final Map1 = java.util.ImmutableCollections$Map1 of java.util.ImmutableCollections
final MapN = java.util.ImmutableCollections$MapN of java.util.ImmutableCollections