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.HashMap<java.lang.String, java.lang.Class<?>> primClasses;
descriptor: Ljava/util/HashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<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 byte[] primVals;
descriptor: [B
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 sun.misc.ObjectInputFilter serialFilter;
descriptor: Lsun/misc/ObjectInputFilter;
flags: (0x0002) ACC_PRIVATE
private volatile sun.misc.ObjectStreamClassValidator validator;
descriptor: Lsun/misc/ObjectStreamClassValidator;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
1: new java.util.HashMap
dup
bipush 8
fconst_1
invokespecial java.util.HashMap.<init>:(IF)V
2: putstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
3: getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
ldc "boolean"
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
ldc "byte"
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
ldc "char"
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
ldc "short"
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
ldc "int"
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
ldc "long"
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
ldc "float"
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
ldc "double"
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
ldc "void"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: new java.io.ObjectInputStream$1
dup
invokespecial java.io.ObjectInputStream$1.<init>:()V
astore 0
start local 0 13: aload 0
invokestatic sun.misc.SharedSecrets.setJavaOISAccess:(Lsun/misc/JavaOISAccess;)V
end local 0 14: new java.io.ObjectInputStream$2
dup
invokespecial java.io.ObjectInputStream$2.<init>:()V
invokestatic sun.misc.SharedSecrets.setJavaObjectInputStreamAccess:(Lsun/misc/JavaObjectInputStreamAccess;)V
15: return
LocalVariableTable:
Start End Slot Name Signature
13 14 0 javaOISAccess Lsun/misc/JavaOISAccess;
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 sun.misc.ObjectInputFilter$Config.getSerialFilter:()Lsun/misc/ObjectInputFilter;
putfield java.io.ObjectInputStream.serialFilter:Lsun/misc/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 sun.misc.ObjectInputFilter$Config.getSerialFilter:()Lsun/misc/ObjectInputFilter;
putfield java.io.ObjectInputStream.serialFilter:Lsun/misc/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=4, locals=6, args_size=1
start local 0 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 0
getfield java.io.ObjectInputStream.passHandle:I
istore 1
start local 1 3: aload 0
iconst_0
invokevirtual java.io.ObjectInputStream.readObject0:(Z)Ljava/lang/Object;
astore 2
start local 2 4: 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
5: 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 6: aload 3
ifnull 8
7: aload 3
athrow
8: StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 10
9: aload 0
getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
10: StackMap locals:
StackMap stack:
aload 2
astore 5
11: aload 0
iload 1
putfield java.io.ObjectInputStream.passHandle:I
12: aload 0
getfield java.io.ObjectInputStream.closed:Z
ifeq 14
aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 14
13: aload 0
invokevirtual java.io.ObjectInputStream.clear:()V
14: 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 15: StackMap locals: java.io.ObjectInputStream int
StackMap stack: java.lang.Throwable
astore 4
16: aload 0
iload 1
putfield java.io.ObjectInputStream.passHandle:I
17: aload 0
getfield java.io.ObjectInputStream.closed:Z
ifeq 19
aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 19
18: aload 0
invokevirtual java.io.ObjectInputStream.clear:()V
19: 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 20 0 this Ljava/io/ObjectInputStream;
3 20 1 outerHandle I
4 15 2 obj Ljava/lang/Object;
6 15 3 ex Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
3 11 15 any
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
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
iconst_1
invokevirtual java.io.ObjectInputStream.readObject0:(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 8
7: aload 0
getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
8: StackMap locals:
StackMap stack:
aload 2
astore 5
9: aload 0
iload 1
putfield java.io.ObjectInputStream.passHandle:I
10: aload 0
getfield java.io.ObjectInputStream.closed:Z
ifeq 12
aload 0
getfield java.io.ObjectInputStream.depth:J
lconst_0
lcmp
ifne 12
11: aload 0
invokevirtual java.io.ObjectInputStream.clear:()V
12: 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 13: StackMap locals: java.io.ObjectInputStream int
StackMap stack: java.lang.Throwable
astore 4
14: aload 0
iload 1
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 int top top java.lang.Throwable
StackMap stack:
aload 4
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/io/ObjectInputStream;
1 18 1 outerHandle I
2 13 2 obj Ljava/lang/Object;
4 13 3 ex Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
1 9 13 any
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
public void defaultReadObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, 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;)V
7: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
8: aload 3
invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
ifne 10
9: aload 0
iconst_1
putfield java.io.ObjectInputStream.defaultDataEnd:Z
10: StackMap locals: java.lang.Object java.io.ObjectStreamClass
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 4
start local 4 11: aload 4
ifnull 13
12: aload 4
athrow
13: StackMap locals: java.lang.ClassNotFoundException
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 14 0 this Ljava/io/ObjectInputStream;
1 14 1 ctx Ljava/io/SerialCallbackContext;
4 14 2 curObj Ljava/lang/Object;
5 14 3 curDesc Ljava/io/ObjectStreamClass;
11 14 4 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.getObj:()Ljava/lang/Object;
pop
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/HashMap;
aload 2
invokevirtual java.util.HashMap.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;
22: areturn
23: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 6
start local 6 24: 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 25 0 this Ljava/io/ObjectInputStream;
0 25 1 interfaces [Ljava/lang/String;
1 25 2 latestLoader Ljava/lang/ClassLoader;
2 25 3 nonPublicLoader Ljava/lang/ClassLoader;
3 25 4 hasNonPublicInterface Z
4 25 5 classObjs [Ljava/lang/Class;
5 18 6 i I
7 16 7 cl Ljava/lang/Class;
24 25 6 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
18 22 23 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()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
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
private final sun.misc.ObjectInputFilter getInternalObjectInputFilter();
descriptor: ()Lsun/misc/ObjectInputFilter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectInputStream;
private final void setInternalObjectInputFilter(sun.misc.ObjectInputFilter);
descriptor: (Lsun/misc/ObjectInputFilter;)V
flags: (0x0012) ACC_PRIVATE, 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
new java.io.SerializablePermission
dup
ldc "serialFilter"
invokespecial java.io.SerializablePermission.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
ifnull 6
4: aload 0
getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
invokestatic sun.misc.ObjectInputFilter$Config.getSerialFilter:()Lsun/misc/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
aload 1
putfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
7: return
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 filter Lsun/misc/ObjectInputFilter;
1 8 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=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
ifnull 26
1: aconst_null
astore 3
start local 3 2: aload 0
getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
new java.io.ObjectInputStream$FilterValues
dup
aload 1
iload 2
i2l
3: aload 0
getfield java.io.ObjectInputStream.totalObjectRefs:J
aload 0
getfield java.io.ObjectInputStream.depth:J
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBytesRead:()J
invokespecial java.io.ObjectInputStream$FilterValues.<init>:(Ljava/lang/Class;JJJJ)V
4: invokeinterface sun.misc.ObjectInputFilter.checkInput:(Lsun/misc/ObjectInputFilter$FilterInfo;)Lsun/misc/ObjectInputFilter$Status;
astore 4
start local 4 5: goto 9
end local 4 StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException
StackMap stack: java.lang.RuntimeException
6: astore 5
start local 5 7: getstatic sun.misc.ObjectInputFilter$Status.REJECTED:Lsun/misc/ObjectInputFilter$Status;
astore 4
start local 4 8: aload 5
astore 3
end local 5 9: StackMap locals: sun.misc.ObjectInputFilter$Status
StackMap stack:
aload 4
ifnull 11
10: aload 4
getstatic sun.misc.ObjectInputFilter$Status.REJECTED:Lsun/misc/ObjectInputFilter$Status;
if_acmpne 20
11: StackMap locals:
StackMap stack:
getstatic java.io.ObjectInputStream$Logging.infoLogger:Ljava/util/logging/Logger;
ifnull 17
12: getstatic java.io.ObjectInputStream$Logging.infoLogger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
13: ldc "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}"
14: bipush 7
anewarray java.lang.Object
dup
iconst_0
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
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBytesRead:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
bipush 6
15: aload 3
ldc "n/a"
invokestatic java.io.ObjectInputStream.objectsToString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
aastore
16: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
17: 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 5
start local 5 18: aload 5
aload 3
invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
19: aload 5
athrow
end local 5 20: StackMap locals:
StackMap stack:
getstatic java.io.ObjectInputStream$Logging.traceLogger:Ljava/util/logging/Logger;
ifnull 26
21: getstatic java.io.ObjectInputStream$Logging.traceLogger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
22: ldc "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}"
23: bipush 7
anewarray java.lang.Object
dup
iconst_0
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
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBytesRead:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
bipush 6
24: aload 3
ldc "n/a"
invokestatic java.io.ObjectInputStream.objectsToString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
aastore
25: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
end local 4 end local 3 26: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljava/io/ObjectInputStream;
0 27 1 clazz Ljava/lang/Class<*>;
0 27 2 arrayLength I
2 26 3 ex Ljava/lang/RuntimeException;
5 6 4 status Lsun/misc/ObjectInputFilter$Status;
8 26 4 status Lsun/misc/ObjectInputFilter$Status;
7 9 5 e Ljava/lang/RuntimeException;
18 20 5 ice Ljava/io/InvalidClassException;
Exception table:
from to target type
2 5 6 Class java.lang.RuntimeException
Exceptions:
throws java.io.InvalidClassException
Signature: (Ljava/lang/Class<*>;I)V
MethodParameters:
Name Flags
clazz
arrayLength
private static java.lang.String objectsToString(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 o Ljava/lang/Object;
0 3 1 nullDefault Ljava/lang/String;
MethodParameters:
Name Flags
o
nullDefault
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
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isArray:()Z
ifne 4
3: new java.lang.IllegalArgumentException
dup
ldc "not an array type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
ifge 6
5: new java.lang.NegativeArraySizeException
dup
invokespecial java.lang.NegativeArraySizeException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
7: return
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 arrayType Ljava/lang/Class<*>;
0 8 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;)Z
invokestatic java.lang.Boolean.valueOf:(Z)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
ifeq 14
13: return
14: StackMap locals:
StackMap stack:
aload 2
getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/io/ObjectInputStream;
1 16 1 cl Ljava/lang/Class;
4 16 2 sm Ljava/lang/SecurityManager;
8 16 3 key Ljava/io/ObjectStreamClass$WeakClassKey;
9 16 4 result Ljava/lang/Boolean;
private static boolean auditSubclass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.io.ObjectInputStream$3
dup
aload 0
invokespecial java.io.ObjectInputStream$3.<init>:(Ljava/lang/Class;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 1
start local 1 2: aload 1
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 subcl Ljava/lang/Class<*>;
2 3 1 result Ljava/lang/Boolean;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
subcl final
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 java.lang.Object readObject0(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, 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.getBlockDataMode:()Z
istore 2
start local 2 1: iload 2
ifeq 11
2: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
istore 3
start local 3 3: iload 3
ifle 5
4: new java.io.OptionalDataException
dup
iload 3
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 3 8: goto 11
start local 3 9: StackMap locals: java.io.ObjectInputStream 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 3 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 3
start local 3 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 3
tableswitch { // 112 - 126
112: 16
113: 20
114: 28
115: 44
116: 32
117: 36
118: 24
119: 50
120: 59
121: 64
122: 50
123: 48
124: 32
125: 28
126: 40
default: 64
}
16: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
astore 6
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 2
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
19: aload 6
areturn
20: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
astore 6
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 2
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
23: aload 6
areturn
24: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readClass:(Z)Ljava/lang/Class;
astore 6
25: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
26: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 2
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
27: aload 6
areturn
28: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
astore 6
29: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
30: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 2
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
31: aload 6
areturn
32: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
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 2
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
35: aload 6
areturn
36: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readArray:(Z)Ljava/lang/Object;
invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
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 2
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
39: aload 6
areturn
40: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readEnum:(Z)Ljava/lang/Enum;
invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
41: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
42: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 2
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
43: aload 6
areturn
44: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readOrdinaryObject:(Z)Ljava/lang/Object;
invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
45: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
46: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 2
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
47: aload 6
areturn
48: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.ObjectInputStream.readFatalException:()Ljava/io/IOException;
astore 4
start local 4 49: new java.io.WriteAbortedException
dup
ldc "writing aborted"
aload 4
invokespecial java.io.WriteAbortedException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 4 50: StackMap locals:
StackMap stack:
iload 2
ifeq 56
51: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
52: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peek:()I
pop
53: new java.io.OptionalDataException
dup
54: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
55: invokespecial java.io.OptionalDataException.<init>:(I)V
athrow
56: StackMap locals:
StackMap stack:
new java.io.StreamCorruptedException
dup
57: ldc "unexpected block data"
58: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
59: StackMap locals:
StackMap stack:
iload 2
ifeq 61
60: new java.io.OptionalDataException
dup
iconst_1
invokespecial java.io.OptionalDataException.<init>:(Z)V
athrow
61: StackMap locals:
StackMap stack:
new java.io.StreamCorruptedException
dup
62: ldc "unexpected end of block data"
63: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
64: StackMap locals:
StackMap stack:
new java.io.StreamCorruptedException
dup
65: 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;
66: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
67: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
68: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
69: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iload 2
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
70: aload 5
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 this Ljava/io/ObjectInputStream;
0 71 1 unshared Z
1 71 2 oldMode Z
3 8 3 remain I
9 11 3 tc B
12 71 3 tc B
49 50 4 ex Ljava/io/IOException;
Exception table:
from to target type
15 17 67 any
20 21 67 any
24 25 67 any
28 29 67 any
32 33 67 any
36 37 67 any
40 41 67 any
44 45 67 any
48 67 67 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
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
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: 8
125: 6
default: 10
}
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 13
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: goto 13
end local 3 6: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readProxyDesc:(Z)Ljava/io/ObjectStreamClass;
astore 3
start local 3 7: goto 13
end local 3 8: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.io.ObjectInputStream.readNonProxyDesc:(Z)Ljava/io/ObjectStreamClass;
astore 3
start local 3 9: goto 13
end local 3 10: StackMap locals:
StackMap stack:
new java.io.StreamCorruptedException
dup
11: 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;
12: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
start local 3 13: StackMap locals: java.io.ObjectStreamClass
StackMap stack:
aload 3
ifnull 15
14: aload 0
aload 3
invokevirtual java.io.ObjectInputStream.validateDescriptor:(Ljava/io/ObjectStreamClass;)V
15: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/io/ObjectInputStream;
0 16 1 unshared Z
1 16 2 tc B
3 4 3 descriptor Ljava/io/ObjectStreamClass;
5 6 3 descriptor Ljava/io/ObjectStreamClass;
7 8 3 descriptor Ljava/io/ObjectStreamClass;
9 10 3 descriptor Ljava/io/ObjectStreamClass;
13 16 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: aconst_null
astore 4
start local 4 8: aload 0
invokevirtual java.io.ObjectInputStream.readClassDescriptor:()Ljava/io/ObjectStreamClass;
astore 4
9: goto 16
StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.io.ObjectStreamClass
StackMap stack: java.lang.ClassNotFoundException
10: astore 5
start local 5 11: new java.io.InvalidClassException
dup
12: ldc "failed to read class descriptor"
13: invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
14: aload 5
invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
15: checkcast java.io.IOException
athrow
end local 5 16: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 17: aconst_null
astore 6
start local 6 18: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
19: aload 0
invokevirtual java.io.ObjectInputStream.isCustomSubclass:()Z
istore 7
start local 7 20: aload 0
aload 4
invokevirtual java.io.ObjectInputStream.resolveClass:(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
dup
astore 5
ifnonnull 23
21: new java.lang.ClassNotFoundException
dup
ldc "null class"
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
astore 6
22: goto 28
StackMap locals: java.lang.Class java.lang.ClassNotFoundException int
StackMap stack:
23: iload 7
ifeq 28
24: aload 5
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
25: goto 28
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
26: astore 8
start local 8 27: aload 8
astore 6
end local 8 28: StackMap locals:
StackMap stack:
aload 0
aload 5
iconst_m1
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
29: aload 0
invokevirtual java.io.ObjectInputStream.skipCustomData:()V
30: aload 0
dup
getfield java.io.ObjectInputStream.totalObjectRefs:J
lconst_1
ladd
putfield java.io.ObjectInputStream.totalObjectRefs:J
31: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
ladd
putfield java.io.ObjectInputStream.depth:J
32: 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
33: goto 37
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 8
35: aload 0
dup
getfield java.io.ObjectInputStream.depth:J
lconst_1
lsub
putfield java.io.ObjectInputStream.depth:J
36: aload 8
athrow
37: StackMap locals:
StackMap stack:
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.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 3
invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
39: aload 0
iload 3
putfield java.io.ObjectInputStream.passHandle:I
40: 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 41 0 this Ljava/io/ObjectInputStream;
0 41 1 unshared Z
3 41 2 desc Ljava/io/ObjectStreamClass;
6 41 3 descHandle I
8 41 4 readDesc Ljava/io/ObjectStreamClass;
11 16 5 ex Ljava/lang/ClassNotFoundException;
17 41 5 cl Ljava/lang/Class;
18 41 6 resolveEx Ljava/lang/ClassNotFoundException;
20 41 7 checksRequired Z
27 28 8 ex Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
8 9 10 Class java.lang.ClassNotFoundException
20 25 26 Class java.lang.ClassNotFoundException
30 34 34 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
iconst_0
invokevirtual java.io.ObjectInputStream.readObject0:(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
iconst_0
invokevirtual java.io.ObjectInputStream.readObject0:(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 27
15: aload 7
aload 5
invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
astore 6
16: goto 25
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
17: astore 8
start local 8 18: new java.io.InvalidObjectException
dup
19: 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;
20: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
21: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
23: aload 8
invokevirtual java.io.InvalidObjectException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
24: checkcast java.io.IOException
athrow
end local 8 25: StackMap locals:
StackMap stack:
iload 1
ifne 27
26: 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
27: 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
28: aload 0
iload 3
putfield java.io.ObjectInputStream.passHandle:I
29: 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 30 0 this Ljava/io/ObjectInputStream;
0 30 1 unshared Z
3 30 2 desc Ljava/io/ObjectStreamClass;
8 30 3 enumHandle I
9 30 4 resolveEx Ljava/lang/ClassNotFoundException;
12 30 5 name Ljava/lang/String;
13 30 6 en Ljava/lang/Enum;
14 30 7 cl Ljava/lang/Class;
18 25 8 ex Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
15 16 17 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
unshared
private java.lang.Object readOrdinaryObject(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, 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.isExternalizable:()Z
ifeq 28
26: aload 0
aload 4
checkcast java.io.Externalizable
aload 2
invokevirtual java.io.ObjectInputStream.readExternalData:(Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
27: goto 29
28: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 2
invokevirtual java.io.ObjectInputStream.readSerialData:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
29: 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
30: aload 4
ifnull 43
31: 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 43
32: aload 2
invokevirtual java.io.ObjectStreamClass.hasReadResolveMethod:()Z
ifeq 43
33: aload 2
aload 4
invokevirtual java.io.ObjectStreamClass.invokeReadResolve:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 34: iload 1
ifeq 36
aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 36
35: aload 6
invokestatic java.io.ObjectInputStream.cloneArray:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
36: StackMap locals: java.lang.Object
StackMap stack:
aload 6
aload 4
if_acmpeq 43
37: aload 6
ifnull 42
38: aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 41
39: aload 0
aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 6
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
40: goto 42
41: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
iconst_m1
invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
42: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
aload 6
dup
astore 4
invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
end local 6 43: StackMap locals:
StackMap stack:
aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Ljava/io/ObjectInputStream;
0 44 1 unshared Z
3 44 2 desc Ljava/io/ObjectStreamClass;
5 44 3 cl Ljava/lang/Class<*>;
11 12 4 obj Ljava/lang/Object;
19 44 4 obj Ljava/lang/Object;
13 19 5 ex Ljava/lang/Exception;
23 44 5 resolveEx Ljava/lang/ClassNotFoundException;
34 43 6 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 void readSerialData(java.lang.Object, java.io.ObjectStreamClass);
descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, 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: iconst_0
istore 4
start local 4 2: goto 68
3: StackMap locals: java.io.ObjectStreamClass$ClassDataSlot[] int
StackMap stack:
aload 3
iload 4
aaload
getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
astore 5
start local 5 4: aload 3
iload 4
aaload
getfield java.io.ObjectStreamClass$ClassDataSlot.hasData:Z
ifeq 63
5: aload 1
ifnull 6
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 8
6: StackMap locals: java.io.ObjectStreamClass
StackMap stack:
aload 0
aconst_null
aload 5
invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
7: goto 58
StackMap locals:
StackMap stack:
8: aload 5
invokevirtual java.io.ObjectStreamClass.hasReadObjectMethod:()Z
ifeq 57
9: aconst_null
astore 6
start local 6 10: iconst_0
istore 7
start local 7 11: aload 0
getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
astore 8
start local 8 12: aload 8
ifnull 14
13: aload 8
invokevirtual java.io.SerialCallbackContext.check:()V
14: StackMap locals: java.lang.ThreadDeath int java.io.SerialCallbackContext
StackMap stack:
aload 0
new java.io.SerialCallbackContext
dup
aload 1
aload 5
invokespecial java.io.SerialCallbackContext.<init>:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
15: aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
iconst_1
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
pop
16: aload 5
aload 1
aload 0
invokevirtual java.io.ObjectStreamClass.invokeReadObject:(Ljava/lang/Object;Ljava/io/ObjectInputStream;)V
17: goto 44
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
18: astore 9
start local 9 19: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
aload 0
getfield java.io.ObjectInputStream.passHandle:I
aload 9
invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
end local 9 20: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
invokevirtual java.io.SerialCallbackContext.setUsed:()V
21: aload 8
ifnull 23
22: aload 8
invokevirtual java.io.SerialCallbackContext.check:()V
23: StackMap locals:
StackMap stack:
aload 0
aload 8
putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
24: iconst_1
istore 7
25: goto 28
StackMap locals:
StackMap stack: java.lang.ThreadDeath
26: astore 11
start local 11 27: aload 11
astore 6
end local 11 28: StackMap locals:
StackMap stack:
iload 7
ifeq 20
29: aload 6
ifnull 55
30: aload 6
athrow
31: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
32: StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] 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
33: aload 8
ifnull 35
34: aload 8
invokevirtual java.io.SerialCallbackContext.check:()V
35: StackMap locals:
StackMap stack:
aload 0
aload 8
putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
36: iconst_1
istore 7
37: goto 40
StackMap locals:
StackMap stack: java.lang.ThreadDeath
38: astore 11
start local 11 39: aload 11
astore 6
end local 11 40: StackMap locals:
StackMap stack:
iload 7
ifeq 32
41: aload 6
ifnull 43
42: aload 6
athrow
43: StackMap locals:
StackMap stack:
aload 10
athrow
44: StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] 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
45: aload 8
ifnull 47
46: aload 8
invokevirtual java.io.SerialCallbackContext.check:()V
47: StackMap locals:
StackMap stack:
aload 0
aload 8
putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
48: iconst_1
istore 7
49: goto 52
StackMap locals:
StackMap stack: java.lang.ThreadDeath
50: astore 11
start local 11 51: aload 11
astore 6
end local 11 52: StackMap locals:
StackMap stack:
iload 7
ifeq 44
53: aload 6
ifnull 55
54: aload 6
athrow
55: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.io.ObjectInputStream.defaultDataEnd:Z
end local 8 end local 7 end local 6 56: goto 58
57: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 5
invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
58: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
ifeq 61
59: aload 0
invokevirtual java.io.ObjectInputStream.skipCustomData:()V
60: goto 67
61: 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
62: goto 67
63: StackMap locals:
StackMap stack:
aload 1
ifnull 67
64: aload 5
invokevirtual java.io.ObjectStreamClass.hasReadObjectNoDataMethod:()Z
ifeq 67
65: 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 67
66: aload 5
aload 1
invokevirtual java.io.ObjectStreamClass.invokeReadObjectNoData:(Ljava/lang/Object;)V
end local 5 67: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
68: iload 4
aload 3
arraylength
if_icmplt 3
end local 4 69: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 70 0 this Ljava/io/ObjectInputStream;
0 70 1 obj Ljava/lang/Object;
0 70 2 desc Ljava/io/ObjectStreamClass;
1 70 3 slots [Ljava/io/ObjectStreamClass$ClassDataSlot;
2 69 4 i I
4 67 5 slotDesc Ljava/io/ObjectStreamClass;
10 56 6 t Ljava/lang/ThreadDeath;
11 56 7 reset Z
12 56 8 oldContext Ljava/io/SerialCallbackContext;
19 20 9 ex Ljava/lang/ClassNotFoundException;
27 28 11 x Ljava/lang/ThreadDeath;
39 40 11 x Ljava/lang/ThreadDeath;
51 52 11 x Ljava/lang/ThreadDeath;
Exception table:
from to target type
14 17 18 Class java.lang.ClassNotFoundException
20 25 26 Class java.lang.ThreadDeath
14 20 31 any
32 37 38 Class java.lang.ThreadDeath
44 49 50 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=2, 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
iconst_0
invokevirtual java.io.ObjectInputStream.readObject0:(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 void defaultReadFields(java.lang.Object, java.io.ObjectStreamClass);
descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, 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:
aload 2
invokevirtual java.io.ObjectStreamClass.getPrimDataSize:()I
istore 4
start local 4 4: aload 0
getfield java.io.ObjectInputStream.primVals:[B
ifnull 5
aload 0
getfield java.io.ObjectInputStream.primVals:[B
arraylength
iload 4
if_icmpge 6
5: StackMap locals: int
StackMap stack:
aload 0
iload 4
newarray 8
putfield java.io.ObjectInputStream.primVals:[B
6: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
aload 0
getfield java.io.ObjectInputStream.primVals:[B
iconst_0
iload 4
iconst_0
invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
7: aload 1
ifnull 9
8: aload 2
aload 1
aload 0
getfield java.io.ObjectInputStream.primVals:[B
invokevirtual java.io.ObjectStreamClass.setPrimFieldValues:(Ljava/lang/Object;[B)V
9: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectInputStream.passHandle:I
istore 5
start local 5 10: aload 2
iconst_0
invokevirtual java.io.ObjectStreamClass.getFields:(Z)[Ljava/io/ObjectStreamField;
astore 6
start local 6 11: aload 2
invokevirtual java.io.ObjectStreamClass.getNumObjFields:()I
anewarray java.lang.Object
astore 7
start local 7 12: aload 6
arraylength
aload 7
arraylength
isub
istore 8
start local 8 13: iconst_0
istore 9
start local 9 14: goto 20
15: StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.lang.Class int int java.io.ObjectStreamField[] java.lang.Object[] int int
StackMap stack:
aload 6
iload 8
iload 9
iadd
aaload
astore 10
start local 10 16: aload 7
iload 9
aload 0
aload 10
invokevirtual java.io.ObjectStreamField.isUnshared:()Z
invokevirtual java.io.ObjectInputStream.readObject0:(Z)Ljava/lang/Object;
aastore
17: aload 10
invokevirtual java.io.ObjectStreamField.getField:()Ljava/lang/reflect/Field;
ifnull 19
18: aload 0
getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
iload 5
aload 0
getfield java.io.ObjectInputStream.passHandle:I
invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
end local 10 19: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
20: iload 9
aload 7
arraylength
if_icmplt 15
end local 9 21: aload 1
ifnull 23
22: aload 2
aload 1
aload 7
invokevirtual java.io.ObjectStreamClass.setObjFieldValues:(Ljava/lang/Object;[Ljava/lang/Object;)V
23: StackMap locals:
StackMap stack:
aload 0
iload 5
putfield java.io.ObjectInputStream.passHandle:I
24: return
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 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 primDataSize I
10 25 5 objHandle I
11 25 6 fields [Ljava/io/ObjectStreamField;
12 25 7 objVals [Ljava/lang/Object;
13 25 8 numPrimFields I
14 21 9 i I
16 19 10 f Ljava/io/ObjectStreamField;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
desc
private java.io.IOException readFatalException();
descriptor: ()Ljava/io/IOException;
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 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
iconst_0
invokevirtual java.io.ObjectInputStream.readObject0:(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 native void bytesToFloats(byte[], int, float[], int, int);
descriptor: ([BI[FII)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
src
srcpos
dst
dstpos
nfloats
private static native void bytesToDoubles(byte[], int, double[], int, int);
descriptor: ([BI[DII)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
src
srcpos
dst
dstpos
ndoubles
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 sun.misc.VM.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
areturn
LocalVariableTable:
Start End Slot Name Signature
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 double[]
ifeq 18
17: aload 0
checkcast double[]
invokevirtual double[].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
private void validateDescriptor(java.io.ObjectStreamClass);
descriptor: (Ljava/io/ObjectStreamClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectInputStream.validator:Lsun/misc/ObjectStreamClassValidator;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
aload 1
invokeinterface sun.misc.ObjectStreamClassValidator.validateDescriptor:(Ljava/io/ObjectStreamClass;)V
3: StackMap locals: sun.misc.ObjectStreamClassValidator
StackMap stack:
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 descriptor Ljava/io/ObjectStreamClass;
1 4 2 validating Lsun/misc/ObjectStreamClassValidator;
MethodParameters:
Name Flags
descriptor
private static void setValidator(java.io.ObjectInputStream, sun.misc.ObjectStreamClassValidator);
descriptor: (Ljava/io/ObjectInputStream;Lsun/misc/ObjectStreamClassValidator;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.io.ObjectInputStream.validator:Lsun/misc/ObjectStreamClassValidator;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 ois Ljava/io/ObjectInputStream;
0 2 1 validator Lsun/misc/ObjectStreamClassValidator;
MethodParameters:
Name Flags
ois
validator
}
SourceFile: "ObjectInputStream.java"
NestMembers:
java.io.ObjectInputStream$1 java.io.ObjectInputStream$2 java.io.ObjectInputStream$3 java.io.ObjectInputStream$BlockDataInputStream java.io.ObjectInputStream$Caches 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:
java.io.ObjectInputStream$1
java.io.ObjectInputStream$2
java.io.ObjectInputStream$3
private BlockDataInputStream = java.io.ObjectInputStream$BlockDataInputStream of java.io.ObjectInputStream
private Caches = java.io.ObjectInputStream$Caches 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
WeakClassKey = java.io.ObjectStreamClass$WeakClassKey of java.io.ObjectStreamClass
public final Config = sun.misc.ObjectInputFilter$Config of sun.misc.ObjectInputFilter
public abstract FilterInfo = sun.misc.ObjectInputFilter$FilterInfo of sun.misc.ObjectInputFilter
public final Status = sun.misc.ObjectInputFilter$Status of sun.misc.ObjectInputFilter