public class java.io.ObjectInputStream extends java.io.InputStream implements java.io.ObjectInput, java.io.ObjectStreamConstants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.io.ObjectInputStream
super_class: java.io.InputStream
{
private static final int NULL_HANDLE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final java.lang.Object unsharedMarker;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<java.lang.String, java.lang.Class<?>> primClasses;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
private final java.io.ObjectInputStream$BlockDataInputStream bin;
descriptor: Ljava/io/ObjectInputStream$BlockDataInputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.ObjectInputStream$ValidationList vlist;
descriptor: Ljava/io/ObjectInputStream$ValidationList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long depth;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long totalObjectRefs;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.io.ObjectInputStream$HandleTable handles;
descriptor: Ljava/io/ObjectInputStream$HandleTable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int passHandle;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean defaultDataEnd;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final boolean enableOverride;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean enableResolve;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.io.SerialCallbackContext curContext;
descriptor: Ljava/io/SerialCallbackContext;
flags: (0x0002) ACC_PRIVATE
private java.io.ObjectInputFilter serialFilter;
descriptor: Ljava/io/ObjectInputFilter;
flags: (0x0002) ACC_PRIVATE
private static final jdk.internal.misc.Unsafe UNSAFE;
descriptor: Ljdk/internal/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=18, locals=0, args_size=0
0: ldc Ljava/io/ObjectInputStream;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.io.ObjectInputStream.$assertionsDisabled:Z
3: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
4: ldc "boolean"
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
5: ldc "byte"
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
6: ldc "char"
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
7: ldc "short"
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
8: ldc "int"
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
9: ldc "long"
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
10: ldc "float"
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
11: ldc "double"
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
12: ldc "void"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
13: invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
14: putstatic java.io.ObjectInputStream.primClasses:Ljava/util/Map;
15: invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
putstatic java.io.ObjectInputStream.UNSAFE:Ljdk/internal/misc/Unsafe;
16: invokedynamic checkArray()Ljdk/internal/access/JavaObjectInputStreamAccess;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/io/ObjectInputStream;Ljava/lang/Class;I)V
java/io/ObjectInputStream.checkArray(Ljava/lang/Class;I)V (7)
(Ljava/io/ObjectInputStream;Ljava/lang/Class;I)V
invokestatic jdk.internal.access.SharedSecrets.setJavaObjectInputStreamAccess:(Ljdk/internal/access/JavaObjectInputStreamAccess;)V
17: invokedynamic readString()Ljdk/internal/access/JavaObjectInputStreamReadString;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/io/ObjectInputStream;)Ljava/lang/String;
java/io/ObjectInputStream.readString()Ljava/lang/String; (7)
(Ljava/io/ObjectInputStream;)Ljava/lang/String;
invokestatic jdk.internal.access.SharedSecrets.setJavaObjectInputStreamReadString:(Ljdk/internal/access/JavaObjectInputStreamReadString;)V
18: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
iconst_m1
putfield java.io.ObjectInputStream.passHandle:I
2: aload 0
iconst_0
putfield java.io.ObjectInputStream.defaultDataEnd:Z
3: aload 0
invokevirtual java.io.ObjectInputStream.verifySubclass:()V
4: aload 0
new java.io.ObjectInputStream$BlockDataInputStream
dup
aload 0
aload 1
invokespecial java.io.ObjectInputStream$BlockDataInputStream.<init>:(Ljava/io/ObjectInputStream;Ljava/io/InputStream;)V
putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
5: aload 0
new java.io.ObjectInputStream$HandleTable
dup
bipush 10
invokespecial java.io.ObjectInputStream$HandleTable.<init>:(I)V
putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
6: aload 0
new java.io.ObjectInputStream$ValidationList
dup
invokespecial java.io.ObjectInputStream$ValidationList.<init>:()V
putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
7: aload 0
invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
8: aload 0
iconst_0
putfield java.io.ObjectInputStream.enableOverride:Z
9: aload 0
invokevirtual java.io.ObjectInputStream.readStreamHeader:()V
10: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/io/ObjectInputStream;
0 12 1 in Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
iconst_m1
putfield java.io.ObjectInputStream.passHandle:I
2: aload 0
iconst_0
putfield java.io.ObjectInputStream.defaultDataEnd:Z
3: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 4: aload 1
ifnull 6
5: aload 1
getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
6: StackMap locals: java.io.ObjectInputStream java.lang.SecurityManager
StackMap stack:
aload 0
aconst_null
putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
7: aload 0
aconst_null
putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
8: aload 0
aconst_null
putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
9: aload 0
invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
10: aload 0
iconst_1
putfield java.io.ObjectInputStream.enableOverride:Z
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/io/ObjectInputStream;
4 12 1 sm Ljava/lang/SecurityManager;
Exceptions:
throws java.io.IOException, java.lang.SecurityException
public final java.lang.Object readObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/Object;
invokevirtual java.io.ObjectInputStream.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
private java.lang.String readString();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/String;
invokevirtual java.io.ObjectInputStream.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.String
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 1
start local 1 3: new java.lang.IllegalStateException
dup
aload 1
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/io/ObjectInputStream;
3 4 1 cnf Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
0 1 2 Class java.lang.ClassNotFoundException
Exceptions:
throws java.io.IOException
private final readObject(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.enableOverride:Z
ifeq 2
1: aload 0
invokevirtual java.io.ObjectInputStream.readObjectOverride:()Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/lang/Object;
if_acmpeq 4
aload 1
ldc Ljava/lang/String;
if_acmpeq 4
3: new java.lang.AssertionError
dup
ldc "internal error"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.passHandle:I
istore 2
start local 2 5: aload 0
aload 1
iconst_0
invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
astore 3
start local 3 6: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 2
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
7: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
astore 4
start local 4 8: aload 4
ifnull 10
9: aload 4
athrow
10: StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 13
11: aload 0
getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
12: aload 0
invokevirtual java.io.ObjectInputStream.freeze:()V
13: StackMap locals:
StackMap stack:
aload 3
astore 6
14: aload 0
iload 2
putfield java.io.ObjectInputStream.passHandle:I
15: aload 0
getfield java.io.ObjectInputStream.closed:Z
ifeq 17
aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 17
16: aload 0
invokevirtual java.io.ObjectInputStream.clear:()V
17: StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
StackMap stack:
aload 6
areturn
end local 4 end local 3 18: StackMap locals: java.io.ObjectInputStream java.lang.Class int
StackMap stack: java.lang.Throwable
astore 5
19: aload 0
iload 2
putfield java.io.ObjectInputStream.passHandle:I
20: aload 0
getfield java.io.ObjectInputStream.closed:Z
ifeq 22
aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 22
21: aload 0
invokevirtual java.io.ObjectInputStream.clear:()V
22: StackMap locals: java.io.ObjectInputStream java.lang.Class int top top java.lang.Throwable
StackMap stack:
aload 5
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/io/ObjectInputStream;
0 23 1 type Ljava/lang/Class<*>;
5 23 2 outerHandle I
6 18 3 obj Ljava/lang/Object;
8 18 4 ex Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
5 14 18 any
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
type
protected java.lang.Object readObjectOverride();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
public java.lang.Object readUnshared();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.passHandle:I
istore 1
start local 1 1: aload 0
ldc Ljava/lang/Object;
iconst_1
invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
astore 2
start local 2 2: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 1
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
3: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
astore 3
start local 3 4: aload 3
ifnull 6
5: aload 3
athrow
6: StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 9
7: aload 0
getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
8: aload 0
invokevirtual java.io.ObjectInputStream.freeze:()V
9: StackMap locals:
StackMap stack:
aload 2
astore 5
10: aload 0
iload 1
putfield java.io.ObjectInputStream.passHandle:I
11: aload 0
getfield java.io.ObjectInputStream.closed:Z
ifeq 13
aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 13
12: aload 0
invokevirtual java.io.ObjectInputStream.clear:()V
13: StackMap locals: java.io.ObjectInputStream int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
StackMap stack:
aload 5
areturn
end local 3 end local 2 14: StackMap locals: java.io.ObjectInputStream int
StackMap stack: java.lang.Throwable
astore 4
15: aload 0
iload 1
putfield java.io.ObjectInputStream.passHandle:I
16: aload 0
getfield java.io.ObjectInputStream.closed:Z
ifeq 18
aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 18
17: aload 0
invokevirtual java.io.ObjectInputStream.clear:()V
18: StackMap locals: java.io.ObjectInputStream int top top java.lang.Throwable
StackMap stack:
aload 4
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/io/ObjectInputStream;
1 19 1 outerHandle I
2 14 2 obj Ljava/lang/Object;
4 14 3 ex Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
1 10 14 any
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
public void defaultReadObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.io.NotActiveException
dup
ldc "not in call to readObject"
invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.io.SerialCallbackContext
StackMap stack:
aload 1
invokevirtual java.io.SerialCallbackContext.getObj:()Ljava/lang/Object;
astore 2
start local 2 4: aload 1
invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
astore 3
start local 3 5: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_0
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
6: aload 0
aload 2
aload 3
invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
astore 4
start local 4 7: aload 2
ifnull 10
8: aload 0
aload 2
aload 3
aload 4
invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
9: aload 0
aload 2
aload 3
aload 4
invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
10: StackMap locals: java.lang.Object java.io.ObjectStreamClass java.io.ObjectInputStream$FieldValues
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
11: aload 3
invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
ifne 13
12: aload 0
iconst_1
putfield java.io.ObjectInputStream.defaultDataEnd:Z
13: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
astore 5
start local 5 14: aload 5
ifnull 16
15: aload 5
athrow
16: StackMap locals: java.lang.ClassNotFoundException
StackMap stack:
return
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 17 0 this Ljava/io/ObjectInputStream;
1 17 1 ctx Ljava/io/SerialCallbackContext;
4 17 2 curObj Ljava/lang/Object;
5 17 3 curDesc Ljava/io/ObjectStreamClass;
7 17 4 vals Ljava/io/ObjectInputStream$FieldValues;
14 17 5 ex Ljava/lang/ClassNotFoundException;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
public java.io.ObjectInputStream$GetField readFields();
descriptor: ()Ljava/io/ObjectInputStream$GetField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.io.NotActiveException
dup
ldc "not in call to readObject"
invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.io.SerialCallbackContext
StackMap stack:
aload 1
invokevirtual java.io.SerialCallbackContext.checkAndSetUsed:()V
4: aload 1
invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
astore 2
start local 2 5: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_0
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
6: new java.io.ObjectInputStream$GetFieldImpl
dup
aload 0
aload 2
invokespecial java.io.ObjectInputStream$GetFieldImpl.<init>:(Ljava/io/ObjectInputStream;Ljava/io/ObjectStreamClass;)V
astore 3
start local 3 7: aload 3
invokevirtual java.io.ObjectInputStream$GetFieldImpl.readFields:()V
8: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
9: aload 2
invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
ifne 11
10: aload 0
iconst_1
putfield java.io.ObjectInputStream.defaultDataEnd:Z
11: StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream$GetFieldImpl
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/io/ObjectInputStream;
1 12 1 ctx Ljava/io/SerialCallbackContext;
5 12 2 curDesc Ljava/io/ObjectStreamClass;
7 12 3 getField Ljava/io/ObjectInputStream$GetFieldImpl;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
public void registerValidation(java.io.ObjectInputValidation, int);
descriptor: (Ljava/io/ObjectInputValidation;I)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
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 2
1: new java.io.NotActiveException
dup
ldc "stream inactive"
invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
aload 1
iload 2
invokevirtual java.io.ObjectInputStream$ValidationList.register:(Ljava/io/ObjectInputValidation;I)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/io/ObjectInputStream;
0 4 1 obj Ljava/io/ObjectInputValidation;
0 4 2 prio I
Exceptions:
throws java.io.NotActiveException, java.io.InvalidObjectException
MethodParameters:
Name Flags
obj
prio
protected java.lang.Class<?> resolveClass(java.io.ObjectStreamClass);
descriptor: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectStreamClass.getName:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
iconst_0
invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
2: areturn
3: StackMap locals: java.io.ObjectInputStream java.io.ObjectStreamClass java.lang.String
StackMap stack: java.lang.ClassNotFoundException
astore 3
start local 3 4: getstatic java.io.ObjectInputStream.primClasses:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 4
start local 4 5: aload 4
ifnull 7
6: aload 4
areturn
7: StackMap locals: java.lang.ClassNotFoundException java.lang.Class
StackMap stack:
aload 3
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/io/ObjectInputStream;
0 8 1 desc Ljava/io/ObjectStreamClass;
1 8 2 name Ljava/lang/String;
4 8 3 ex Ljava/lang/ClassNotFoundException;
5 8 4 cl Ljava/lang/Class<*>;
Exception table:
from to target type
1 2 3 Class java.lang.ClassNotFoundException
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
Signature: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
desc
protected java.lang.Class<?> resolveProxyClass(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 1
arraylength
anewarray java.lang.Class
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 17
6: StackMap locals: java.io.ObjectInputStream java.lang.String[] java.lang.ClassLoader java.lang.ClassLoader int java.lang.Class[] int
StackMap stack:
aload 1
iload 6
aaload
iconst_0
aload 2
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 7
start local 7 7: aload 7
invokevirtual java.lang.Class.getModifiers:()I
iconst_1
iand
ifne 15
8: iload 4
ifeq 13
9: aload 3
aload 7
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
if_acmpeq 15
10: new java.lang.IllegalAccessError
dup
11: ldc "conflicting non-public interface class loaders"
12: invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: java.lang.Class
StackMap stack:
aload 7
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 3
14: iconst_1
istore 4
15: StackMap locals:
StackMap stack:
aload 5
iload 6
aload 7
aastore
end local 7 16: iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
aload 1
arraylength
if_icmplt 6
end local 6 18: iload 4
ifeq 19
aload 3
goto 20
StackMap locals:
StackMap stack:
19: aload 2
20: StackMap locals:
StackMap stack: java.lang.ClassLoader
aload 5
21: invokestatic java.lang.reflect.Proxy.getProxyClass:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
astore 6
start local 6 22: aload 6
23: areturn
end local 6 24: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 6
start local 6 25: new java.lang.ClassNotFoundException
dup
aconst_null
aload 6
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
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 26 0 this Ljava/io/ObjectInputStream;
0 26 1 interfaces [Ljava/lang/String;
1 26 2 latestLoader Ljava/lang/ClassLoader;
2 26 3 nonPublicLoader Ljava/lang/ClassLoader;
3 26 4 hasNonPublicInterface Z
4 26 5 classObjs [Ljava/lang/Class;
5 18 6 i I
7 16 7 cl Ljava/lang/Class<*>;
22 24 6 proxyClass Ljava/lang/Class<*>;
25 26 6 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
18 23 24 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
Signature: ([Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
interfaces
protected java.lang.Object resolveObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
0 1 1 obj Ljava/lang/Object;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
protected boolean enableResolveObject(boolean);
descriptor: (Z)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield java.io.ObjectInputStream.enableResolve:Z
if_icmpne 2
1: iload 1
ireturn
2: StackMap locals:
StackMap stack:
iload 1
ifeq 6
3: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 4: aload 2
ifnull 6
5: aload 2
getstatic java.io.ObjectInputStream.SUBSTITUTION_PERMISSION:Ljava/io/SerializablePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
end local 2 6: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield java.io.ObjectInputStream.enableResolve:Z
7: aload 0
getfield java.io.ObjectInputStream.enableResolve:Z
ifeq 8
iconst_0
goto 9
StackMap locals:
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/io/ObjectInputStream;
0 10 1 enable Z
4 6 2 sm Ljava/lang/SecurityManager;
Exceptions:
throws java.lang.SecurityException
MethodParameters:
Name Flags
enable
protected void ();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
istore 1
start local 1 1: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
istore 2
start local 2 2: iload 1
sipush -21267
if_icmpne 3
iload 2
iconst_5
if_icmpeq 6
3: StackMap locals: int int
StackMap stack:
new java.io.StreamCorruptedException
dup
4: ldc "invalid stream header: %04X%04X"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
5: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/io/ObjectInputStream;
1 7 1 s0 S
2 7 2 s1 S
Exceptions:
throws java.io.IOException, java.io.StreamCorruptedException
protected java.io.ObjectStreamClass readClassDescriptor();
descriptor: ()Ljava/io/ObjectStreamClass;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.io.ObjectStreamClass
dup
invokespecial java.io.ObjectStreamClass.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual java.io.ObjectStreamClass.readNonProxy:(Ljava/io/ObjectInputStream;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/io/ObjectInputStream;
1 3 1 desc Ljava/io/ObjectStreamClass;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 2
iload 3
iadd
istore 4
start local 4 3: iload 2
iflt 4
iload 3
iflt 4
iload 4
aload 1
arraylength
if_icmpgt 4
iload 4
ifge 5
4: StackMap locals: int
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 1
iload 2
iload 3
iconst_0
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:([BIIZ)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/io/ObjectInputStream;
0 6 1 buf [B
0 6 2 off I
0 6 3 len I
3 6 4 endoff I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.available:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield java.io.ObjectInputStream.closed:Z
1: aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 3
2: aload 0
invokevirtual java.io.ObjectInputStream.clear:()V
3: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.close:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public boolean readBoolean();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBoolean:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public byte readByte();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public int readUnsignedByte();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedByte:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public char readChar();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChar:()C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public short readShort();
descriptor: ()S
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public int readUnsignedShort();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public int readInt();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public long readLong();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLong:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public float readFloat();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloat:()F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public double readDouble();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDouble:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public void readFully(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 1
iconst_0
aload 1
arraylength
iconst_0
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectInputStream;
0 2 1 buf [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
public void readFully(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
iadd
istore 4
start local 4 1: iload 2
iflt 2
iload 3
iflt 2
iload 4
aload 1
arraylength
if_icmpgt 2
iload 4
ifge 3
2: StackMap locals: int
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 1
iload 2
iload 3
iconst_0
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/io/ObjectInputStream;
0 5 1 buf [B
0 5 2 off I
0 5 3 len I
1 5 4 endoff I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
public int skipBytes(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBytes:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
0 1 1 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
len
public java.lang.String readLine();
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.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLine:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public java.lang.String readUTF();
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.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
public final java.io.ObjectInputFilter getObjectInputFilter();
descriptor: ()Ljava/io/ObjectInputFilter;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
public final void setObjectInputFilter(java.io.ObjectInputFilter);
descriptor: (Ljava/io/ObjectInputFilter;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
getstatic java.io.ObjectStreamConstants.SERIAL_FILTER_PERMISSION:Ljava/io/SerializablePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
ifnull 6
4: aload 0
getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
if_acmpeq 6
5: new java.lang.IllegalStateException
dup
ldc "filter can not be set more than once"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.totalObjectRefs:J
lconst_0
lcmp
ifle 10
getstatic java.io.ObjectInputStream$Caches.SET_FILTER_AFTER_READ:Z
ifne 10
7: new java.lang.IllegalStateException
dup
8: ldc "filter can not be set after an object has been read"
9: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/io/ObjectInputStream;
0 12 1 filter Ljava/io/ObjectInputFilter;
1 12 2 sm Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
filter
private void filterCheck(java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
ifnull 25
1: aconst_null
astore 3
start local 3 2: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
ifnonnull 3
lconst_0
goto 4
StackMap locals: java.lang.RuntimeException
StackMap stack:
3: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBytesRead:()J
StackMap locals:
StackMap stack: long
4: lstore 5
start local 5 5: aload 0
getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
new java.io.ObjectInputStream$FilterValues
dup
aload 1
iload 2
i2l
6: aload 0
getfield java.io.ObjectInputStream.totalObjectRefs:J
aload 0
getfield java.io.ObjectInputStream.depth:J
lload 5
invokespecial java.io.ObjectInputStream$FilterValues.<init>:(Ljava/lang/Class;JJJJ)V
7: invokeinterface java.io.ObjectInputFilter.checkInput:(Ljava/io/ObjectInputFilter$FilterInfo;)Ljava/io/ObjectInputFilter$Status;
astore 4
start local 4 8: goto 12
end local 4 StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException top long
StackMap stack: java.lang.RuntimeException
9: astore 7
start local 7 10: getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
astore 4
start local 4 11: aload 7
astore 3
end local 7 12: StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException java.io.ObjectInputFilter$Status long
StackMap stack:
getstatic java.io.ObjectInputStream$Logging.filterLogger:Ljava/lang/System$Logger;
ifnull 20
13: getstatic java.io.ObjectInputStream$Logging.filterLogger:Ljava/lang/System$Logger;
aload 4
ifnull 14
aload 4
getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
if_acmpne 15
14: StackMap locals:
StackMap stack: java.lang.System$Logger
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
goto 16
15: StackMap locals:
StackMap stack: java.lang.System$Logger
getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
16: StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException java.io.ObjectInputFilter$Status long
StackMap stack: java.lang.System$Logger java.lang.System$Logger$Level
ldc "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}"
bipush 7
anewarray java.lang.Object
dup
iconst_0
17: aload 4
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
aload 0
getfield java.io.ObjectInputStream.totalObjectRefs:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_4
aload 0
getfield java.io.ObjectInputStream.depth:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_5
lload 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
bipush 6
18: aload 3
ldc "n/a"
invokestatic java.util.Objects.toString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
aastore
19: invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
20: StackMap locals:
StackMap stack:
aload 4
ifnull 22
21: aload 4
getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
if_acmpne 25
22: StackMap locals:
StackMap stack:
new java.io.InvalidClassException
dup
new java.lang.StringBuilder
dup
ldc "filter status: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
astore 7
start local 7 23: aload 7
aload 3
invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
24: aload 7
athrow
end local 7 end local 5 end local 4 end local 3 25: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/io/ObjectInputStream;
0 26 1 clazz Ljava/lang/Class<*>;
0 26 2 arrayLength I
2 25 3 ex Ljava/lang/RuntimeException;
8 9 4 status Ljava/io/ObjectInputFilter$Status;
11 25 4 status Ljava/io/ObjectInputFilter$Status;
5 25 5 bytesRead J
10 12 7 e Ljava/lang/RuntimeException;
23 25 7 ice Ljava/io/InvalidClassException;
Exception table:
from to target type
5 8 9 Class java.lang.RuntimeException
Exceptions:
throws java.io.InvalidClassException
Signature: (Ljava/lang/Class<*>;I)V
MethodParameters:
Name Flags
clazz
arrayLength
private void checkArray(java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.Class.isArray:()Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "not an array type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 2
ifge 4
3: new java.lang.NegativeArraySizeException
dup
invokespecial java.lang.NegativeArraySizeException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/io/ObjectInputStream;
0 6 1 arrayType Ljava/lang/Class<*>;
0 6 2 arrayLength I
Exceptions:
throws java.io.InvalidClassException
Signature: (Ljava/lang/Class<*>;I)V
MethodParameters:
Name Flags
arrayType
arrayLength
private void verifySubclass();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 1
start local 1 1: aload 1
ldc Ljava/io/ObjectInputStream;
if_acmpne 3
2: return
3: StackMap locals: java.lang.Class
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 4: aload 2
ifnonnull 6
5: return
6: StackMap locals: java.lang.SecurityManager
StackMap stack:
getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
invokestatic java.io.ObjectStreamClass.processQueue:(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
7: new java.io.ObjectStreamClass$WeakClassKey
dup
aload 1
getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
invokespecial java.io.ObjectStreamClass$WeakClassKey.<init>:(Ljava/lang/Class;Ljava/lang/ref/ReferenceQueue;)V
astore 3
start local 3 8: getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 4
start local 4 9: aload 4
ifnonnull 12
10: aload 1
invokestatic java.io.ObjectInputStream.auditSubclass:(Ljava/lang/Class;)Ljava/lang/Boolean;
astore 4
11: getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
aload 3
aload 4
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals: java.io.ObjectStreamClass$WeakClassKey java.lang.Boolean
StackMap stack:
aload 4
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 14
13: aload 2
getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
14: 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 15 0 this Ljava/io/ObjectInputStream;
1 15 1 cl Ljava/lang/Class<*>;
4 15 2 sm Ljava/lang/SecurityManager;
8 15 3 key Ljava/io/ObjectStreamClass$WeakClassKey;
9 15 4 result Ljava/lang/Boolean;
private static java.lang.Boolean auditSubclass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Boolean;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.io.ObjectInputStream$1
dup
aload 0
invokespecial java.io.ObjectInputStream$1.<init>:(Ljava/lang/Class;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 subcl Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Boolean;
MethodParameters:
Name Flags
subcl
private void clear();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
invokevirtual java.io.ObjectInputStream$HandleTable.clear:()V
1: aload 0
getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
invokevirtual java.io.ObjectInputStream$ValidationList.clear:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/io/ObjectInputStream;
private readObject0(java.lang.Class<?>, boolean);
descriptor: (Ljava/lang/Class;Z)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
istore 3
start local 3 1: iload 3
ifeq 11
2: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
istore 4
start local 4 3: iload 4
ifle 5
4: new java.io.OptionalDataException
dup
iload 4
invokespecial java.io.OptionalDataException.<init>:(I)V
athrow
5: StackMap locals: int int
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.defaultDataEnd:Z
ifeq 7
6: new java.io.OptionalDataException
dup
iconst_1
invokespecial java.io.OptionalDataException.<init>:(Z)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_0
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
end local 4 8: goto 11
start local 4 9: StackMap locals: java.io.ObjectInputStream java.lang.Class int int int
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
pop
10: aload 0
invokevirtual java.io.ObjectInputStream.handleReset:()V
end local 4 11: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
dup
istore 4
start local 4 12: bipush 121
if_icmpeq 9
13: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
ladd
putfield java.io.ObjectInputStream.depth:J
14: aload 0
dup
getfield java.io.ObjectInputStream.totalObjectRefs:J
lconst_1
ladd
putfield java.io.ObjectInputStream.totalObjectRefs:J
15: iload 4
tableswitch { // 112 - 126
112: 16
113: 20
114: 30
115: 52
116: 36
117: 40
118: 24
119: 62
120: 71
121: 76
122: 62
123: 58
124: 36
125: 30
126: 46
default: 76
}
16: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
astore 7
17: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
18: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
19: aload 7
areturn
20: StackMap locals:
StackMap stack:
aload 1
aload 0
iload 2
invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
21: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
22: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
23: aload 7
areturn
24: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/lang/String;
if_acmpne 26
25: new java.lang.ClassCastException
dup
ldc "Cannot cast a class to java.lang.String"
invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.io.ObjectInputStream.readClass:(Z)Ljava/lang/Class;
astore 7
27: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
28: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
29: aload 7
areturn
30: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/lang/String;
if_acmpne 32
31: new java.lang.ClassCastException
dup
ldc "Cannot cast a class to java.lang.String"
invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
astore 7
33: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
34: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
35: aload 7
areturn
36: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 2
invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
37: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
38: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
39: aload 7
areturn
40: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/lang/String;
if_acmpne 42
41: new java.lang.ClassCastException
dup
ldc "Cannot cast an array to java.lang.String"
invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 2
invokevirtual java.io.ObjectInputStream.readArray:(Z)Ljava/lang/Object;
invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
43: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
44: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
45: aload 7
areturn
46: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/lang/String;
if_acmpne 48
47: new java.lang.ClassCastException
dup
ldc "Cannot cast an enum to java.lang.String"
invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
48: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 2
invokevirtual java.io.ObjectInputStream.readEnum:(Z)Ljava/lang/Enum;
invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
49: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
50: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
51: aload 7
areturn
52: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/lang/String;
if_acmpne 54
53: new java.lang.ClassCastException
dup
ldc "Cannot cast an object to java.lang.String"
invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
54: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 2
invokevirtual java.io.ObjectInputStream.readOrdinaryObject:(Z)Ljava/lang/Object;
invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
55: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
56: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
57: aload 7
areturn
58: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/lang/String;
if_acmpne 60
59: new java.lang.ClassCastException
dup
ldc "Cannot cast an exception to java.lang.String"
invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
60: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.ObjectInputStream.readFatalException:()Ljava/io/IOException;
astore 5
start local 5 61: new java.io.WriteAbortedException
dup
ldc "writing aborted"
aload 5
invokespecial java.io.WriteAbortedException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 5 62: StackMap locals:
StackMap stack:
iload 3
ifeq 68
63: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
64: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peek:()I
pop
65: new java.io.OptionalDataException
dup
66: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
67: invokespecial java.io.OptionalDataException.<init>:(I)V
athrow
68: StackMap locals:
StackMap stack:
new java.io.StreamCorruptedException
dup
69: ldc "unexpected block data"
70: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
71: StackMap locals:
StackMap stack:
iload 3
ifeq 73
72: new java.io.OptionalDataException
dup
iconst_1
invokespecial java.io.OptionalDataException.<init>:(Z)V
athrow
73: StackMap locals:
StackMap stack:
new java.io.StreamCorruptedException
dup
74: ldc "unexpected end of block data"
75: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
76: StackMap locals:
StackMap stack:
new java.io.StreamCorruptedException
dup
77: ldc "invalid type code: %02X"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 4
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
78: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
79: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
80: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
81: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
82: aload 6
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 83 0 this Ljava/io/ObjectInputStream;
0 83 1 type Ljava/lang/Class<*>;
0 83 2 unshared Z
1 83 3 oldMode Z
3 8 4 remain I
9 11 4 tc B
12 83 4 tc B
61 62 5 ex Ljava/io/IOException;
Exception table:
from to target type
15 17 79 any
20 21 79 any
24 27 79 any
30 33 79 any
36 37 79 any
40 43 79 any
46 49 79 any
52 55 79 any
58 79 79 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/Class<*>;Z)Ljava/lang/Object;
MethodParameters:
Name Flags
type
unshared
private java.lang.Object checkResolve(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.enableResolve:Z
ifeq 1
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
ifnull 2
1: StackMap locals:
StackMap stack:
aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.io.ObjectInputStream.resolveObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 3: aload 2
aload 1
if_acmpeq 10
4: aload 2
ifnull 9
5: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 8
6: aload 0
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 2
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
7: goto 9
8: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
iconst_m1
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
9: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
aload 2
invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/io/ObjectInputStream;
0 11 1 obj Ljava/lang/Object;
3 11 2 rep Ljava/lang/Object;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
java.lang.String readTypeString();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=7, locals=5, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.passHandle:I
istore 1
start local 1 1: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
istore 2
start local 2 2: iload 2
lookupswitch { // 4
112: 3
113: 6
116: 9
124: 9
default: 12
}
3: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
4: aload 0
iload 1
putfield java.io.ObjectInputStream.passHandle:I
5: aload 4
areturn
6: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
checkcast java.lang.String
astore 4
7: aload 0
iload 1
putfield java.io.ObjectInputStream.passHandle:I
8: aload 4
areturn
9: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
astore 4
10: aload 0
iload 1
putfield java.io.ObjectInputStream.passHandle:I
11: aload 4
areturn
12: StackMap locals:
StackMap stack:
new java.io.StreamCorruptedException
dup
13: ldc "invalid type code: %02X"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
14: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
end local 2 15: StackMap locals: java.io.ObjectInputStream int
StackMap stack: java.lang.Throwable
astore 3
16: aload 0
iload 1
putfield java.io.ObjectInputStream.passHandle:I
17: aload 3
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/io/ObjectInputStream;
1 18 1 oldHandle I
2 15 2 tc B
Exception table:
from to target type
1 4 15 any
6 7 15 any
9 10 15 any
12 15 15 any
Exceptions:
throws java.io.IOException
private java.lang.Object readNull();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
bipush 112
if_icmpeq 2
1: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield java.io.ObjectInputStream.passHandle:I
3: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
private java.lang.Object readHandle(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
bipush 113
if_icmpeq 2
1: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
ldc 8257536
isub
putfield java.io.ObjectInputStream.passHandle:I
3: aload 0
getfield java.io.ObjectInputStream.passHandle:I
iflt 4
aload 0
getfield java.io.ObjectInputStream.passHandle:I
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
invokevirtual java.io.ObjectInputStream$HandleTable.size:()I
if_icmplt 9
4: StackMap locals:
StackMap stack:
new java.io.StreamCorruptedException
dup
5: ldc "invalid handle value: %08X"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield java.io.ObjectInputStream.passHandle:I
6: ldc 8257536
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
7: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
8: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
iload 1
ifeq 13
10: new java.io.InvalidObjectException
dup
11: ldc "cannot read back reference as unshared"
12: invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.lookupObject:(I)Ljava/lang/Object;
astore 2
start local 2 14: aload 2
getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
if_acmpne 18
15: new java.io.InvalidObjectException
dup
16: ldc "cannot read back reference to unshared object"
17: invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aconst_null
iconst_m1
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
19: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/io/ObjectInputStream;
0 20 1 unshared Z
14 20 2 obj Ljava/lang/Object;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
unshared
private java.lang.Class<?> readClass(boolean);
descriptor: (Z)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
bipush 118
if_icmpeq 2
1: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
astore 2
start local 2 3: aload 2
invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
astore 3
start local 3 4: aload 0
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 1
ifeq 5
getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
goto 6
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
5: aload 3
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
6: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
putfield java.io.ObjectInputStream.passHandle:I
7: aload 2
invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
astore 4
start local 4 8: aload 4
ifnull 10
9: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
aload 4
invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
10: StackMap locals: java.lang.ClassNotFoundException
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
11: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/io/ObjectInputStream;
0 12 1 unshared Z
3 12 2 desc Ljava/io/ObjectStreamClass;
4 12 3 cl Ljava/lang/Class<*>;
8 12 4 resolveEx Ljava/lang/ClassNotFoundException;
Exceptions:
throws java.io.IOException
Signature: (Z)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
unshared
private java.io.ObjectStreamClass readClassDesc(boolean);
descriptor: (Z)Ljava/io/ObjectStreamClass;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
istore 2
start local 2 1: iload 2
lookupswitch { // 4
112: 2
113: 4
114: 9
125: 7
default: 11
}
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
checkcast java.io.ObjectStreamClass
astore 3
start local 3 3: goto 14
end local 3 4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
checkcast java.io.ObjectStreamClass
astore 3
start local 3 5: aload 3
invokevirtual java.io.ObjectStreamClass.checkInitialized:()V
6: goto 14
end local 3 7: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readProxyDesc:(Z)Ljava/io/ObjectStreamClass;
astore 3
start local 3 8: goto 14
end local 3 9: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readNonProxyDesc:(Z)Ljava/io/ObjectStreamClass;
astore 3
start local 3 10: goto 14
end local 3 11: StackMap locals:
StackMap stack:
new java.io.StreamCorruptedException
dup
12: ldc "invalid type code: %02X"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
13: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
start local 3 14: StackMap locals: java.io.ObjectStreamClass
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/io/ObjectInputStream;
0 15 1 unshared Z
1 15 2 tc B
3 4 3 descriptor Ljava/io/ObjectStreamClass;
5 7 3 descriptor Ljava/io/ObjectStreamClass;
8 9 3 descriptor Ljava/io/ObjectStreamClass;
10 11 3 descriptor Ljava/io/ObjectStreamClass;
14 15 3 descriptor Ljava/io/ObjectStreamClass;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
unshared
private boolean isCustomSubclass();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
1: ldc Ljava/io/ObjectInputStream;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
2: if_acmpeq 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/io/ObjectInputStream;
private java.io.ObjectStreamClass readProxyDesc(boolean);
descriptor: (Z)Ljava/io/ObjectStreamClass;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
bipush 125
if_icmpeq 2
1: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
new java.io.ObjectStreamClass
dup
invokespecial java.io.ObjectStreamClass.<init>:()V
astore 2
start local 2 3: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 1
ifeq 4
getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
goto 5
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
StackMap stack: java.io.ObjectInputStream$HandleTable
4: aload 2
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
istore 3
start local 3 6: aload 0
iconst_m1
putfield java.io.ObjectInputStream.passHandle:I
7: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
istore 4
start local 4 8: iload 4
ldc 65535
if_icmple 12
9: new java.io.InvalidObjectException
dup
new java.lang.StringBuilder
dup
ldc "interface limit exceeded: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: int int
StackMap stack:
iload 4
anewarray java.lang.String
astore 5
start local 5 13: iconst_0
istore 6
start local 6 14: goto 17
15: StackMap locals: java.lang.String[] int
StackMap stack:
aload 5
iload 6
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
aastore
16: iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
iload 4
if_icmplt 15
end local 6 18: aconst_null
astore 6
start local 6 19: aconst_null
astore 7
start local 7 20: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
21: aload 0
aload 5
invokevirtual java.io.ObjectInputStream.resolveProxyClass:([Ljava/lang/String;)Ljava/lang/Class;
dup
astore 6
ifnonnull 24
22: new java.lang.ClassNotFoundException
dup
ldc "null class"
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
astore 7
23: goto 37
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
StackMap stack:
24: aload 6
invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
ifne 26
25: new java.io.InvalidClassException
dup
ldc "Not a proxy"
invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
27: aload 6
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
28: invokestatic sun.reflect.misc.ReflectUtil.checkProxyPackageAccess:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)V
29: aload 6
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 33
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException top int int java.lang.Class[]
StackMap stack:
30: aload 11
iload 9
aaload
astore 8
start local 8 31: aload 0
aload 8
iconst_m1
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
end local 8 32: iinc 9 1
StackMap locals:
StackMap stack:
33: iload 9
iload 10
if_icmplt 30
34: goto 37
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
StackMap stack: java.lang.ClassNotFoundException
35: astore 8
start local 8 36: aload 8
astore 7
end local 8 37: StackMap locals:
StackMap stack:
aload 0
aload 6
iconst_m1
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
38: aload 0
invokevirtual java.io.ObjectInputStream.skipCustomData:()V
39: aload 0
dup
getfield java.io.ObjectInputStream.totalObjectRefs:J
lconst_1
ladd
putfield java.io.ObjectInputStream.totalObjectRefs:J
40: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
ladd
putfield java.io.ObjectInputStream.depth:J
41: aload 2
aload 6
aload 7
aload 0
iconst_0
invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
invokevirtual java.io.ObjectStreamClass.initProxy:(Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
42: goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 8
44: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
45: aload 8
athrow
46: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
47: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 3
invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
48: aload 0
iload 3
putfield java.io.ObjectInputStream.passHandle:I
49: aload 2
areturn
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 50 0 this Ljava/io/ObjectInputStream;
0 50 1 unshared Z
3 50 2 desc Ljava/io/ObjectStreamClass;
6 50 3 descHandle I
8 50 4 numIfaces I
13 50 5 ifaces [Ljava/lang/String;
14 18 6 i I
19 50 6 cl Ljava/lang/Class<*>;
20 50 7 resolveEx Ljava/lang/ClassNotFoundException;
31 32 8 clazz Ljava/lang/Class<*>;
36 37 8 ex Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
21 34 35 Class java.lang.ClassNotFoundException
39 43 43 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
unshared
private java.io.ObjectStreamClass readNonProxyDesc(boolean);
descriptor: (Z)Ljava/io/ObjectStreamClass;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
bipush 114
if_icmpeq 2
1: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
new java.io.ObjectStreamClass
dup
invokespecial java.io.ObjectStreamClass.<init>:()V
astore 2
start local 2 3: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 1
ifeq 4
getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
goto 5
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
StackMap stack: java.io.ObjectInputStream$HandleTable
4: aload 2
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
istore 3
start local 3 6: aload 0
iconst_m1
putfield java.io.ObjectInputStream.passHandle:I
7: aload 0
invokevirtual java.io.ObjectInputStream.readClassDescriptor:()Ljava/io/ObjectStreamClass;
astore 4
start local 4 8: goto 15
end local 4 StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int
StackMap stack: java.lang.ClassNotFoundException
9: astore 5
start local 5 10: new java.io.InvalidClassException
dup
11: ldc "failed to read class descriptor"
12: invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
13: aload 5
invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
14: checkcast java.io.IOException
athrow
end local 5 start local 4 15: StackMap locals: java.io.ObjectStreamClass
StackMap stack:
aconst_null
astore 5
start local 5 16: aconst_null
astore 6
start local 6 17: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
18: aload 0
invokevirtual java.io.ObjectInputStream.isCustomSubclass:()Z
istore 7
start local 7 19: aload 0
aload 4
invokevirtual java.io.ObjectInputStream.resolveClass:(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
dup
astore 5
ifnonnull 22
20: new java.lang.ClassNotFoundException
dup
ldc "null class"
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
astore 6
21: goto 27
StackMap locals: java.lang.Class java.lang.ClassNotFoundException int
StackMap stack:
22: iload 7
ifeq 27
23: aload 5
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
24: goto 27
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
25: astore 8
start local 8 26: aload 8
astore 6
end local 8 27: StackMap locals:
StackMap stack:
aload 0
aload 5
iconst_m1
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
28: aload 0
invokevirtual java.io.ObjectInputStream.skipCustomData:()V
29: aload 0
dup
getfield java.io.ObjectInputStream.totalObjectRefs:J
lconst_1
ladd
putfield java.io.ObjectInputStream.totalObjectRefs:J
30: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
ladd
putfield java.io.ObjectInputStream.depth:J
31: aload 2
aload 4
aload 5
aload 6
aload 0
iconst_0
invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
invokevirtual java.io.ObjectStreamClass.initNonProxy:(Ljava/io/ObjectStreamClass;Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
32: goto 36
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 8
34: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
35: aload 8
athrow
36: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
37: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 3
invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
38: aload 0
iload 3
putfield java.io.ObjectInputStream.passHandle:I
39: aload 2
areturn
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 40 0 this Ljava/io/ObjectInputStream;
0 40 1 unshared Z
3 40 2 desc Ljava/io/ObjectStreamClass;
6 40 3 descHandle I
8 9 4 readDesc Ljava/io/ObjectStreamClass;
15 40 4 readDesc Ljava/io/ObjectStreamClass;
10 15 5 ex Ljava/lang/ClassNotFoundException;
16 40 5 cl Ljava/lang/Class<*>;
17 40 6 resolveEx Ljava/lang/ClassNotFoundException;
19 40 7 checksRequired Z
26 27 8 ex Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
7 8 9 Class java.lang.ClassNotFoundException
19 24 25 Class java.lang.ClassNotFoundException
29 33 33 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
unshared
private java.lang.String readString(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
istore 3
start local 3 1: iload 3
lookupswitch { // 2
116: 2
124: 4
default: 6
}
2: StackMap locals: java.io.ObjectInputStream int top int
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
astore 2
start local 2 3: goto 9
end local 2 4: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongUTF:()Ljava/lang/String;
astore 2
start local 2 5: goto 9
end local 2 6: StackMap locals:
StackMap stack:
new java.io.StreamCorruptedException
dup
7: ldc "invalid type code: %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;
8: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
start local 2 9: StackMap locals: java.io.ObjectInputStream int java.lang.String int
StackMap stack:
aload 0
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 1
ifeq 10
getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
goto 11
StackMap locals: java.io.ObjectInputStream int java.lang.String int
StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
10: aload 2
StackMap locals: java.io.ObjectInputStream int java.lang.String int
StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
11: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
putfield java.io.ObjectInputStream.passHandle:I
12: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
13: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/io/ObjectInputStream;
0 14 1 unshared Z
3 4 2 str Ljava/lang/String;
5 6 2 str Ljava/lang/String;
9 14 2 str Ljava/lang/String;
1 14 3 tc B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
unshared
private java.lang.Object readArray(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
bipush 117
if_icmpeq 2
1: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
astore 2
start local 2 3: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
istore 3
start local 3 4: aload 0
aload 2
invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
iload 3
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
5: aconst_null
astore 4
start local 4 6: aconst_null
astore 6
start local 6 7: aload 2
invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
dup
astore 5
start local 5 8: ifnull 11
9: aload 5
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 6
10: aload 6
iload 3
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 4
11: StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 1
ifeq 12
getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
goto 13
StackMap locals:
StackMap stack: java.io.ObjectInputStream$HandleTable
12: aload 4
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
13: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
istore 7
start local 7 14: aload 2
invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
astore 8
start local 8 15: aload 8
ifnull 17
16: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 7
aload 8
invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
17: StackMap locals: int java.lang.ClassNotFoundException
StackMap stack:
aload 6
ifnonnull 24
18: iconst_0
istore 9
start local 9 19: goto 22
20: StackMap locals: int
StackMap stack:
aload 0
ldc Ljava/lang/Object;
iconst_0
invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
pop
21: iinc 9 1
StackMap locals:
StackMap stack:
22: iload 9
iload 3
if_icmplt 20
end local 9 23: goto 57
StackMap locals:
StackMap stack:
24: aload 6
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 50
25: aload 6
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 28
26: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 4
checkcast int[]
iconst_0
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInts:([III)V
27: goto 57
StackMap locals:
StackMap stack:
28: aload 6
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 31
29: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 4
checkcast byte[]
iconst_0
iload 3
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
30: goto 57
StackMap locals:
StackMap stack:
31: aload 6
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 34
32: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 4
checkcast long[]
iconst_0
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongs:([JII)V
33: goto 57
StackMap locals:
StackMap stack:
34: aload 6
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 37
35: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 4
checkcast float[]
iconst_0
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloats:([FII)V
36: goto 57
StackMap locals:
StackMap stack:
37: aload 6
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 40
38: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 4
checkcast double[]
iconst_0
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDoubles:([DII)V
39: goto 57
StackMap locals:
StackMap stack:
40: aload 6
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 43
41: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 4
checkcast short[]
iconst_0
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShorts:([SII)V
42: goto 57
StackMap locals:
StackMap stack:
43: aload 6
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 46
44: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 4
checkcast char[]
iconst_0
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChars:([CII)V
45: goto 57
StackMap locals:
StackMap stack:
46: aload 6
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 49
47: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 4
checkcast boolean[]
iconst_0
iload 3
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBooleans:([ZII)V
48: goto 57
49: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
50: StackMap locals:
StackMap stack:
aload 4
checkcast java.lang.Object[]
astore 9
start local 9 51: iconst_0
istore 10
start local 10 52: goto 56
53: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 9
iload 10
aload 0
ldc Ljava/lang/Object;
iconst_0
invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
aastore
54: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 7
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
55: iinc 10 1
StackMap locals:
StackMap stack:
56: iload 10
iload 3
if_icmplt 53
end local 10 end local 9 57: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 7
invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
58: aload 0
iload 7
putfield java.io.ObjectInputStream.passHandle:I
59: aload 4
areturn
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 60 0 this Ljava/io/ObjectInputStream;
0 60 1 unshared Z
3 60 2 desc Ljava/io/ObjectStreamClass;
4 60 3 len I
6 60 4 array Ljava/lang/Object;
8 60 5 cl Ljava/lang/Class<*>;
7 60 6 ccl Ljava/lang/Class<*>;
14 60 7 arrayHandle I
15 60 8 resolveEx Ljava/lang/ClassNotFoundException;
19 23 9 i I
51 57 9 oa [Ljava/lang/Object;
52 57 10 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
unshared
private java.lang.Enum<?> readEnum(boolean);
descriptor: (Z)Ljava/lang/Enum;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
bipush 126
if_icmpeq 2
1: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
astore 2
start local 2 3: aload 2
invokevirtual java.io.ObjectStreamClass.isEnum:()Z
ifne 5
4: new java.io.InvalidClassException
dup
new java.lang.StringBuilder
dup
ldc "non-enum class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.io.ObjectStreamClass
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 1
ifeq 6
getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
goto 7
StackMap locals:
StackMap stack: java.io.ObjectInputStream$HandleTable
6: aconst_null
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
7: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
istore 3
start local 3 8: aload 2
invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
astore 4
start local 4 9: aload 4
ifnull 11
10: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 3
aload 4
invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
11: StackMap locals: int java.lang.ClassNotFoundException
StackMap stack:
aload 0
iconst_0
invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
astore 5
start local 5 12: aconst_null
astore 6
start local 6 13: aload 2
invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
astore 7
start local 7 14: aload 7
ifnull 28
15: aload 7
aload 5
invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
astore 8
start local 8 16: aload 8
astore 6
end local 8 17: goto 26
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.ClassNotFoundException java.lang.String java.lang.Enum java.lang.Class
StackMap stack: java.lang.IllegalArgumentException
18: astore 8
start local 8 19: new java.io.InvalidObjectException
dup
20: new java.lang.StringBuilder
dup
ldc "enum constant "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " does not exist in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
22: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
24: aload 8
invokevirtual java.io.InvalidObjectException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
25: checkcast java.io.IOException
athrow
end local 8 26: StackMap locals:
StackMap stack:
iload 1
ifne 28
27: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 3
aload 6
invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
28: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 3
invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
29: aload 0
iload 3
putfield java.io.ObjectInputStream.passHandle:I
30: aload 6
areturn
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 31 0 this Ljava/io/ObjectInputStream;
0 31 1 unshared Z
3 31 2 desc Ljava/io/ObjectStreamClass;
8 31 3 enumHandle I
9 31 4 resolveEx Ljava/lang/ClassNotFoundException;
12 31 5 name Ljava/lang/String;
13 31 6 result Ljava/lang/Enum<*>;
14 31 7 cl Ljava/lang/Class<*>;
16 17 8 en Ljava/lang/Enum<*>;
19 26 8 ex Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
15 17 18 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.IOException
Signature: (Z)Ljava/lang/Enum<*>;
MethodParameters:
Name Flags
unshared
private java.lang.Object readOrdinaryObject(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
bipush 115
if_icmpeq 2
1: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
astore 2
start local 2 3: aload 2
invokevirtual java.io.ObjectStreamClass.checkDeserialize:()V
4: aload 2
invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
astore 3
start local 3 5: aload 3
ldc Ljava/lang/String;
if_acmpeq 7
aload 3
ldc Ljava/lang/Class;
if_acmpeq 7
6: aload 3
ldc Ljava/io/ObjectStreamClass;
if_acmpne 8
7: StackMap locals: java.io.ObjectStreamClass java.lang.Class
StackMap stack:
new java.io.InvalidClassException
dup
ldc "invalid class descriptor"
invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.ObjectStreamClass.isInstantiable:()Z
ifeq 9
aload 2
invokevirtual java.io.ObjectStreamClass.newInstance:()Ljava/lang/Object;
goto 10
StackMap locals:
StackMap stack:
9: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
10: astore 4
start local 4 11: goto 19
end local 4 StackMap locals:
StackMap stack: java.lang.Exception
12: astore 5
start local 5 13: new java.io.InvalidClassException
dup
14: aload 2
invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
15: ldc "unable to create instance"
16: invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
17: aload 5
invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
18: checkcast java.io.IOException
athrow
end local 5 start local 4 19: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 1
ifeq 20
getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
goto 21
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
20: aload 4
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
21: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
putfield java.io.ObjectInputStream.passHandle:I
22: aload 2
invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
astore 5
start local 5 23: aload 5
ifnull 25
24: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
aload 5
invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
25: StackMap locals: java.lang.ClassNotFoundException
StackMap stack:
aload 2
invokevirtual java.io.ObjectStreamClass.isRecord:()Z
istore 6
start local 6 26: iload 6
ifeq 32
27: getstatic java.io.ObjectInputStream.$assertionsDisabled:Z
ifne 28
aload 4
ifnull 28
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: StackMap locals: int
StackMap stack:
aload 0
aload 2
invokevirtual java.io.ObjectInputStream.readRecord:(Ljava/io/ObjectStreamClass;)Ljava/lang/Object;
astore 4
29: iload 1
ifne 36
30: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
aload 4
invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
31: goto 36
StackMap locals:
StackMap stack:
32: aload 2
invokevirtual java.io.ObjectStreamClass.isExternalizable:()Z
ifeq 35
33: aload 0
aload 4
checkcast java.io.Externalizable
aload 2
invokevirtual java.io.ObjectInputStream.readExternalData:(Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
34: goto 36
35: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 2
invokevirtual java.io.ObjectInputStream.readSerialData:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
36: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
37: aload 4
ifnull 50
38: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
ifnonnull 50
39: aload 2
invokevirtual java.io.ObjectStreamClass.hasReadResolveMethod:()Z
ifeq 50
40: aload 2
aload 4
invokevirtual java.io.ObjectStreamClass.invokeReadResolve:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 41: iload 1
ifeq 43
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 43
42: aload 7
invokestatic java.io.ObjectInputStream.cloneArray:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
43: StackMap locals: java.lang.Object
StackMap stack:
aload 7
aload 4
if_acmpeq 50
44: aload 7
ifnull 49
45: aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 48
46: aload 0
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 7
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
47: goto 49
48: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
iconst_m1
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
49: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
aload 7
dup
astore 4
invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
end local 7 50: StackMap locals:
StackMap stack:
aload 4
areturn
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 51 0 this Ljava/io/ObjectInputStream;
0 51 1 unshared Z
3 51 2 desc Ljava/io/ObjectStreamClass;
5 51 3 cl Ljava/lang/Class<*>;
11 12 4 obj Ljava/lang/Object;
19 51 4 obj Ljava/lang/Object;
13 19 5 ex Ljava/lang/Exception;
23 51 5 resolveEx Ljava/lang/ClassNotFoundException;
26 51 6 isRecord Z
41 50 7 rep Ljava/lang/Object;
Exception table:
from to target type
8 11 12 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
unshared
private void readExternalData(java.io.Externalizable, java.io.ObjectStreamClass);
descriptor: (Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
invokevirtual java.io.SerialCallbackContext.check:()V
3: StackMap locals: java.io.SerialCallbackContext
StackMap stack:
aload 0
aconst_null
putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
4: aload 2
invokevirtual java.io.ObjectStreamClass.hasBlockExternalData:()Z
istore 4
start local 4 5: iload 4
ifeq 7
6: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
7: StackMap locals: int
StackMap stack:
aload 1
ifnull 12
8: aload 1
aload 0
invokeinterface java.io.Externalizable.readExternal:(Ljava/io/ObjectInput;)V
9: goto 12
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
10: astore 5
start local 5 11: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
aload 5
invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
end local 5 12: StackMap locals:
StackMap stack:
iload 4
ifeq 20
13: aload 0
invokevirtual java.io.ObjectInputStream.skipCustomData:()V
end local 4 14: goto 20
StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
StackMap stack: java.lang.Throwable
15: astore 6
16: aload 3
ifnull 18
17: aload 3
invokevirtual java.io.SerialCallbackContext.check:()V
18: StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext top top java.lang.Throwable
StackMap stack:
aload 0
aload 3
putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
19: aload 6
athrow
20: StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
StackMap stack:
aload 3
ifnull 22
21: aload 3
invokevirtual java.io.SerialCallbackContext.check:()V
22: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
23: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljava/io/ObjectInputStream;
0 24 1 obj Ljava/io/Externalizable;
0 24 2 desc Ljava/io/ObjectStreamClass;
1 24 3 oldContext Ljava/io/SerialCallbackContext;
5 14 4 blocked Z
11 12 5 ex Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
8 9 10 Class java.lang.ClassNotFoundException
4 15 15 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
desc
private java.lang.Object readRecord(java.io.ObjectStreamClass);
descriptor: (Ljava/io/ObjectStreamClass;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectStreamClass.getClassDataLayout:()[Ljava/io/ObjectStreamClass$ClassDataSlot;
astore 2
start local 2 1: aload 2
arraylength
iconst_1
if_icmpeq 9
2: iconst_0
istore 3
start local 3 3: goto 8
4: StackMap locals: java.io.ObjectStreamClass$ClassDataSlot[] int
StackMap stack:
aload 2
iload 3
aaload
getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
astore 4
start local 4 5: aload 2
iload 3
aaload
getfield java.io.ObjectStreamClass$ClassDataSlot.hasData:Z
ifeq 7
6: aload 0
aconst_null
aload 4
invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
pop
end local 4 7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 2
arraylength
iconst_1
isub
if_icmplt 4
end local 3 9: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 1
invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
astore 3
start local 3 10: aload 1
invokestatic java.io.ObjectStreamClass$RecordSupport.deserializationCtr:(Ljava/io/ObjectStreamClass;)Ljava/lang/invoke/MethodHandle;
astore 4
start local 4 11: aload 4
aload 3
getfield java.io.ObjectInputStream$FieldValues.primValues:[B
aload 3
getfield java.io.ObjectInputStream$FieldValues.objValues:[Ljava/lang/Object;
invokevirtual java.lang.invoke.MethodHandle.invokeExact:([B[Ljava/lang/Object;)Ljava/lang/Object;
12: areturn
13: StackMap locals: java.io.ObjectInputStream java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues java.lang.invoke.MethodHandle
StackMap stack: java.lang.Exception
astore 5
start local 5 14: new java.io.InvalidObjectException
dup
aload 5
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 15: aload 6
aload 5
invokevirtual java.io.InvalidObjectException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
16: aload 6
athrow
end local 6 end local 5 17: StackMap locals:
StackMap stack: java.lang.Error
astore 5
start local 5 18: aload 5
athrow
end local 5 19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 20: new java.io.InvalidObjectException
dup
21: ldc "ReflectiveOperationException during deserialization"
22: invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 23: aload 6
aload 5
invokevirtual java.io.ObjectStreamException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
24: aload 6
athrow
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 25 0 this Ljava/io/ObjectInputStream;
0 25 1 desc Ljava/io/ObjectStreamClass;
1 25 2 slots [Ljava/io/ObjectStreamClass$ClassDataSlot;
3 9 3 i I
5 7 4 slotDesc Ljava/io/ObjectStreamClass;
10 25 3 fieldValues Ljava/io/ObjectInputStream$FieldValues;
11 25 4 ctrMH Ljava/lang/invoke/MethodHandle;
14 17 5 e Ljava/lang/Exception;
15 17 6 ioe Ljava/io/InvalidObjectException;
18 19 5 e Ljava/lang/Error;
20 25 5 t Ljava/lang/Throwable;
23 25 6 ose Ljava/io/ObjectStreamException;
Exception table:
from to target type
11 12 13 Class java.lang.Exception
11 12 17 Class java.lang.Error
11 12 19 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
desc
private void readSerialData(java.lang.Object, java.io.ObjectStreamClass);
descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.io.ObjectStreamClass.getClassDataLayout:()[Ljava/io/ObjectStreamClass$ClassDataSlot;
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iconst_1
istore 6
start local 6 4: goto 11
5: StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int
StackMap stack:
aload 3
iload 6
aaload
getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
astore 7
start local 7 6: aload 7
invokevirtual java.io.ObjectStreamClass.hasReadObjectMethod:()Z
ifne 8
7: aload 7
invokevirtual java.io.ObjectStreamClass.hasReadObjectNoDataMethod:()Z
ifeq 10
8: StackMap locals: java.io.ObjectStreamClass
StackMap stack:
iconst_1
istore 5
9: goto 12
end local 7 10: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
aload 3
arraylength
if_icmplt 5
end local 6 12: StackMap locals:
StackMap stack:
iload 5
ifne 14
13: aload 3
arraylength
anewarray java.io.ObjectInputStream$FieldValues
astore 4
14: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 15: goto 87
16: StackMap locals: int
StackMap stack:
aload 3
iload 6
aaload
getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
astore 7
start local 7 17: aload 3
iload 6
aaload
getfield java.io.ObjectStreamClass$ClassDataSlot.hasData:Z
ifeq 82
18: aload 1
ifnull 19
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
ifnull 21
19: StackMap locals: java.io.ObjectStreamClass
StackMap stack:
aload 0
aconst_null
aload 7
invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
pop
20: goto 77
StackMap locals:
StackMap stack:
21: aload 7
invokevirtual java.io.ObjectStreamClass.hasReadObjectMethod:()Z
ifeq 70
22: aconst_null
astore 8
start local 8 23: iconst_0
istore 9
start local 9 24: aload 0
getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
astore 10
start local 10 25: aload 10
ifnull 27
26: aload 10
invokevirtual java.io.SerialCallbackContext.check:()V
27: StackMap locals: java.lang.ThreadDeath int java.io.SerialCallbackContext
StackMap stack:
aload 0
new java.io.SerialCallbackContext
dup
aload 1
aload 7
invokespecial java.io.SerialCallbackContext.<init>:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
28: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
29: aload 7
aload 1
aload 0
invokevirtual java.io.ObjectStreamClass.invokeReadObject:(Ljava/lang/Object;Ljava/io/ObjectInputStream;)V
30: goto 57
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
31: astore 11
start local 11 32: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
aload 11
invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
end local 11 33: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
invokevirtual java.io.SerialCallbackContext.setUsed:()V
34: aload 10
ifnull 36
35: aload 10
invokevirtual java.io.SerialCallbackContext.check:()V
36: StackMap locals:
StackMap stack:
aload 0
aload 10
putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
37: iconst_1
istore 9
38: goto 41
StackMap locals:
StackMap stack: java.lang.ThreadDeath
39: astore 13
start local 13 40: aload 13
astore 8
end local 13 41: StackMap locals:
StackMap stack:
iload 9
ifeq 33
42: aload 8
ifnull 68
43: aload 8
athrow
44: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
45: StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext top java.lang.Throwable
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
invokevirtual java.io.SerialCallbackContext.setUsed:()V
46: aload 10
ifnull 48
47: aload 10
invokevirtual java.io.SerialCallbackContext.check:()V
48: StackMap locals:
StackMap stack:
aload 0
aload 10
putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
49: iconst_1
istore 9
50: goto 53
StackMap locals:
StackMap stack: java.lang.ThreadDeath
51: astore 13
start local 13 52: aload 13
astore 8
end local 13 53: StackMap locals:
StackMap stack:
iload 9
ifeq 45
54: aload 8
ifnull 56
55: aload 8
athrow
56: StackMap locals:
StackMap stack:
aload 12
athrow
57: StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
invokevirtual java.io.SerialCallbackContext.setUsed:()V
58: aload 10
ifnull 60
59: aload 10
invokevirtual java.io.SerialCallbackContext.check:()V
60: StackMap locals:
StackMap stack:
aload 0
aload 10
putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
61: iconst_1
istore 9
62: goto 65
StackMap locals:
StackMap stack: java.lang.ThreadDeath
63: astore 13
start local 13 64: aload 13
astore 8
end local 13 65: StackMap locals:
StackMap stack:
iload 9
ifeq 57
66: aload 8
ifnull 68
67: aload 8
athrow
68: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.io.ObjectInputStream.defaultDataEnd:Z
end local 10 end local 9 end local 8 69: goto 77
70: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 7
invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
astore 8
start local 8 71: aload 4
ifnull 74
72: aload 4
iload 6
aload 8
aastore
73: goto 77
StackMap locals: java.io.ObjectInputStream$FieldValues
StackMap stack:
74: aload 1
ifnull 77
75: aload 0
aload 1
aload 7
aload 8
invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
76: aload 0
aload 1
aload 7
aload 8
invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
end local 8 77: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
ifeq 80
78: aload 0
invokevirtual java.io.ObjectInputStream.skipCustomData:()V
79: goto 86
80: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_0
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
81: goto 86
82: StackMap locals:
StackMap stack:
aload 1
ifnull 86
83: aload 7
invokevirtual java.io.ObjectStreamClass.hasReadObjectNoDataMethod:()Z
ifeq 86
84: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
ifnonnull 86
85: aload 7
aload 1
invokevirtual java.io.ObjectStreamClass.invokeReadObjectNoData:(Ljava/lang/Object;)V
end local 7 86: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
87: iload 6
aload 3
arraylength
if_icmplt 16
end local 6 88: aload 1
ifnull 101
aload 4
ifnull 101
89: iconst_0
istore 6
start local 6 90: goto 94
91: StackMap locals:
StackMap stack:
aload 4
iload 6
aaload
ifnull 93
92: aload 0
aload 1
aload 3
iload 6
aaload
getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
aload 4
iload 6
aaload
invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
93: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
94: iload 6
aload 3
arraylength
if_icmplt 91
end local 6 95: iconst_0
istore 6
start local 6 96: goto 100
97: StackMap locals:
StackMap stack:
aload 4
iload 6
aaload
ifnull 99
98: aload 0
aload 1
aload 3
iload 6
aaload
getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
aload 4
iload 6
aaload
invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
99: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
100: iload 6
aload 3
arraylength
if_icmplt 97
end local 6 101: StackMap locals:
StackMap stack:
return
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 102 0 this Ljava/io/ObjectInputStream;
0 102 1 obj Ljava/lang/Object;
0 102 2 desc Ljava/io/ObjectStreamClass;
1 102 3 slots [Ljava/io/ObjectStreamClass$ClassDataSlot;
2 102 4 slotValues [Ljava/io/ObjectInputStream$FieldValues;
3 102 5 hasSpecialReadMethod Z
4 12 6 i I
6 10 7 slotDesc Ljava/io/ObjectStreamClass;
15 88 6 i I
17 86 7 slotDesc Ljava/io/ObjectStreamClass;
23 69 8 t Ljava/lang/ThreadDeath;
24 69 9 reset Z
25 69 10 oldContext Ljava/io/SerialCallbackContext;
32 33 11 ex Ljava/lang/ClassNotFoundException;
40 41 13 x Ljava/lang/ThreadDeath;
52 53 13 x Ljava/lang/ThreadDeath;
64 65 13 x Ljava/lang/ThreadDeath;
71 77 8 vals Ljava/io/ObjectInputStream$FieldValues;
90 95 6 i I
96 101 6 i I
Exception table:
from to target type
27 30 31 Class java.lang.ClassNotFoundException
33 38 39 Class java.lang.ThreadDeath
27 33 44 any
45 50 51 Class java.lang.ThreadDeath
57 62 63 Class java.lang.ThreadDeath
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
desc
private void skipCustomData();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.passHandle:I
istore 1
start local 1 1: StackMap locals: int
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
ifeq 4
2: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBlockData:()V
3: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_0
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
4: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
tableswitch { // 119 - 122
119: 5
120: 7
121: 10
122: 5
default: 10
}
5: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
6: goto 1
7: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
pop
8: aload 0
iload 1
putfield java.io.ObjectInputStream.passHandle:I
9: return
10: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Object;
iconst_0
invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
pop
11: goto 1
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/io/ObjectInputStream;
1 12 1 oldHandle I
Exceptions:
throws java.io.IOException
private java.io.ObjectInputStream$FieldValues defaultReadFields(java.lang.Object, java.io.ObjectStreamClass);
descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
astore 3
start local 3 1: aload 3
ifnull 3
aload 1
ifnull 3
aload 3
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 3
2: new java.lang.ClassCastException
dup
invokespecial java.lang.ClassCastException.<init>:()V
athrow
3: StackMap locals: java.lang.Class
StackMap stack:
aconst_null
astore 4
start local 4 4: aload 2
invokevirtual java.io.ObjectStreamClass.getPrimDataSize:()I
istore 5
start local 5 5: iload 5
ifle 8
6: iload 5
newarray 8
astore 4
7: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 4
iconst_0
iload 5
iconst_0
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
8: StackMap locals: byte[] int
StackMap stack:
aconst_null
astore 6
start local 6 9: aload 2
invokevirtual java.io.ObjectStreamClass.getNumObjFields:()I
istore 7
start local 7 10: iload 7
ifle 24
11: aload 0
getfield java.io.ObjectInputStream.passHandle:I
istore 8
start local 8 12: aload 2
iconst_0
invokevirtual java.io.ObjectStreamClass.getFields:(Z)[Ljava/io/ObjectStreamField;
astore 9
start local 9 13: iload 7
anewarray java.lang.Object
astore 6
14: aload 9
arraylength
aload 6
arraylength
isub
istore 10
start local 10 15: iconst_0
istore 11
start local 11 16: goto 22
17: StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.lang.Class byte[] int java.lang.Object[] int int java.io.ObjectStreamField[] int int
StackMap stack:
aload 9
iload 10
iload 11
iadd
aaload
astore 12
start local 12 18: aload 6
iload 11
aload 0
ldc Ljava/lang/Object;
aload 12
invokevirtual java.io.ObjectStreamField.isUnshared:()Z
invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
aastore
19: aload 12
invokevirtual java.io.ObjectStreamField.getField:()Ljava/lang/reflect/Field;
ifnull 21
20: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 8
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
end local 12 21: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
22: iload 11
aload 6
arraylength
if_icmplt 17
end local 11 23: aload 0
iload 8
putfield java.io.ObjectInputStream.passHandle:I
end local 10 end local 9 end local 8 24: StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.lang.Class byte[] int java.lang.Object[] int
StackMap stack:
new java.io.ObjectInputStream$FieldValues
dup
aload 0
aload 4
aload 6
invokespecial java.io.ObjectInputStream$FieldValues.<init>:(Ljava/io/ObjectInputStream;[B[Ljava/lang/Object;)V
areturn
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 25 0 this Ljava/io/ObjectInputStream;
0 25 1 obj Ljava/lang/Object;
0 25 2 desc Ljava/io/ObjectStreamClass;
1 25 3 cl Ljava/lang/Class<*>;
4 25 4 primVals [B
5 25 5 primDataSize I
9 25 6 objVals [Ljava/lang/Object;
10 25 7 numObjFields I
12 24 8 objHandle I
13 24 9 fields [Ljava/io/ObjectStreamField;
15 24 10 numPrimFields I
16 23 11 i I
18 21 12 f Ljava/io/ObjectStreamField;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
desc
private void defaultCheckFieldValues(java.lang.Object, java.io.ObjectStreamClass, java.io.ObjectInputStream$FieldValues);
descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getfield java.io.ObjectInputStream$FieldValues.objValues:[Ljava/lang/Object;
astore 4
start local 4 1: aload 4
ifnull 3
2: aload 2
aload 1
aload 4
invokevirtual java.io.ObjectStreamClass.checkObjFieldValueTypes:(Ljava/lang/Object;[Ljava/lang/Object;)V
3: StackMap locals: java.lang.Object[]
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 4 0 this Ljava/io/ObjectInputStream;
0 4 1 obj Ljava/lang/Object;
0 4 2 desc Ljava/io/ObjectStreamClass;
0 4 3 values Ljava/io/ObjectInputStream$FieldValues;
1 4 4 objectValues [Ljava/lang/Object;
MethodParameters:
Name Flags
obj
desc
values
private void defaultSetFieldValues(java.lang.Object, java.io.ObjectStreamClass, java.io.ObjectInputStream$FieldValues);
descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getfield java.io.ObjectInputStream$FieldValues.primValues:[B
astore 4
start local 4 1: aload 3
getfield java.io.ObjectInputStream$FieldValues.objValues:[Ljava/lang/Object;
astore 5
start local 5 2: aload 4
ifnull 4
3: aload 2
aload 1
aload 4
invokevirtual java.io.ObjectStreamClass.setPrimFieldValues:(Ljava/lang/Object;[B)V
4: StackMap locals: byte[] java.lang.Object[]
StackMap stack:
aload 5
ifnull 6
5: aload 2
aload 1
aload 5
invokevirtual java.io.ObjectStreamClass.setObjFieldValues:(Ljava/lang/Object;[Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
return
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 7 0 this Ljava/io/ObjectInputStream;
0 7 1 obj Ljava/lang/Object;
0 7 2 desc Ljava/io/ObjectStreamClass;
0 7 3 values Ljava/io/ObjectInputStream$FieldValues;
1 7 4 primValues [B
2 7 5 objectValues [Ljava/lang/Object;
MethodParameters:
Name Flags
obj
desc
values
private java.io.IOException readFatalException();
descriptor: ()Ljava/io/IOException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
bipush 123
if_icmpeq 2
1: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.ObjectInputStream.clear:()V
3: aload 0
ldc Ljava/lang/Object;
iconst_0
invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
checkcast java.io.IOException
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException
private void handleReset();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifle 4
1: new java.io.StreamCorruptedException
dup
2: new java.lang.StringBuilder
dup
ldc "unexpected reset; recursion depth: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.io.ObjectInputStream.depth:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.ObjectInputStream.clear:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.StreamCorruptedException
private static java.lang.ClassLoader latestUserDefinedLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.internal.misc.VM.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
areturn
LocalVariableTable:
Start End Slot Name Signature
private void freeze();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic java.io.ObjectInputStream.UNSAFE:Ljdk/internal/misc/Unsafe;
invokevirtual jdk.internal.misc.Unsafe.storeFence:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectInputStream;
private static java.lang.Object cloneArray(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.Object[]
ifeq 2
1: aload 0
checkcast java.lang.Object[]
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof boolean[]
ifeq 4
3: aload 0
checkcast boolean[]
invokevirtual boolean[].clone:()Ljava/lang/Object;
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof byte[]
ifeq 6
5: aload 0
checkcast byte[]
invokevirtual byte[].clone:()Ljava/lang/Object;
areturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof char[]
ifeq 8
7: aload 0
checkcast char[]
invokevirtual char[].clone:()Ljava/lang/Object;
areturn
8: StackMap locals:
StackMap stack:
aload 0
instanceof double[]
ifeq 10
9: aload 0
checkcast double[]
invokevirtual double[].clone:()Ljava/lang/Object;
areturn
10: StackMap locals:
StackMap stack:
aload 0
instanceof float[]
ifeq 12
11: aload 0
checkcast float[]
invokevirtual float[].clone:()Ljava/lang/Object;
areturn
12: StackMap locals:
StackMap stack:
aload 0
instanceof int[]
ifeq 14
13: aload 0
checkcast int[]
invokevirtual int[].clone:()Ljava/lang/Object;
areturn
14: StackMap locals:
StackMap stack:
aload 0
instanceof long[]
ifeq 16
15: aload 0
checkcast long[]
invokevirtual long[].clone:()Ljava/lang/Object;
areturn
16: StackMap locals:
StackMap stack:
aload 0
instanceof short[]
ifeq 18
17: aload 0
checkcast short[]
invokevirtual short[].clone:()Ljava/lang/Object;
areturn
18: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 array Ljava/lang/Object;
MethodParameters:
Name Flags
array
}
SourceFile: "ObjectInputStream.java"
NestMembers:
java.io.ObjectInputStream$1 java.io.ObjectInputStream$BlockDataInputStream java.io.ObjectInputStream$Caches java.io.ObjectInputStream$FieldValues java.io.ObjectInputStream$FilterValues java.io.ObjectInputStream$GetField java.io.ObjectInputStream$GetFieldImpl java.io.ObjectInputStream$HandleTable java.io.ObjectInputStream$HandleTable$HandleList java.io.ObjectInputStream$Logging java.io.ObjectInputStream$PeekInputStream java.io.ObjectInputStream$ValidationList java.io.ObjectInputStream$ValidationList$1 java.io.ObjectInputStream$ValidationList$Callback
InnerClasses:
public final Config = java.io.ObjectInputFilter$Config of java.io.ObjectInputFilter
public abstract FilterInfo = java.io.ObjectInputFilter$FilterInfo of java.io.ObjectInputFilter
public final Status = java.io.ObjectInputFilter$Status of java.io.ObjectInputFilter
java.io.ObjectInputStream$1
private BlockDataInputStream = java.io.ObjectInputStream$BlockDataInputStream of java.io.ObjectInputStream
private Caches = java.io.ObjectInputStream$Caches of java.io.ObjectInputStream
FieldValues = java.io.ObjectInputStream$FieldValues of java.io.ObjectInputStream
FilterValues = java.io.ObjectInputStream$FilterValues of java.io.ObjectInputStream
public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
private GetFieldImpl = java.io.ObjectInputStream$GetFieldImpl of java.io.ObjectInputStream
private HandleTable = java.io.ObjectInputStream$HandleTable of java.io.ObjectInputStream
private Logging = java.io.ObjectInputStream$Logging of java.io.ObjectInputStream
private PeekInputStream = java.io.ObjectInputStream$PeekInputStream of java.io.ObjectInputStream
private ValidationList = java.io.ObjectInputStream$ValidationList of java.io.ObjectInputStream
ClassDataSlot = java.io.ObjectStreamClass$ClassDataSlot of java.io.ObjectStreamClass
final RecordSupport = java.io.ObjectStreamClass$RecordSupport of java.io.ObjectStreamClass
WeakClassKey = java.io.ObjectStreamClass$WeakClassKey of java.io.ObjectStreamClass
public abstract Logger = java.lang.System$Logger of java.lang.System
public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles