public class java.io.ObjectOutputStream extends java.io.OutputStream implements java.io.ObjectOutput, java.io.ObjectStreamConstants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.io.ObjectOutputStream
super_class: java.io.OutputStream
{
private final java.io.ObjectOutputStream$BlockDataOutputStream bout;
descriptor: Ljava/io/ObjectOutputStream$BlockDataOutputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.ObjectOutputStream$HandleTable handles;
descriptor: Ljava/io/ObjectOutputStream$HandleTable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.ObjectOutputStream$ReplaceTable subs;
descriptor: Ljava/io/ObjectOutputStream$ReplaceTable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int protocol;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int depth;
descriptor: I
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 enableReplace;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.io.SerialCallbackContext curContext;
descriptor: Ljava/io/SerialCallbackContext;
flags: (0x0002) ACC_PRIVATE
private java.io.ObjectOutputStream$PutFieldImpl curPut;
descriptor: Ljava/io/ObjectOutputStream$PutFieldImpl;
flags: (0x0002) ACC_PRIVATE
private final java.io.ObjectOutputStream$DebugTraceInfoStack debugInfoStack;
descriptor: Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final boolean extendedDebugInfo;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.security.action.GetBooleanAction
dup
1: ldc "sun.io.serialization.extendedDebugInfo"
2: invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
4: invokevirtual java.lang.Boolean.booleanValue:()Z
5: putstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)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.OutputStream.<init>:()V
1: aload 0
iconst_2
putfield java.io.ObjectOutputStream.protocol:I
2: aload 0
invokevirtual java.io.ObjectOutputStream.verifySubclass:()V
3: aload 0
new java.io.ObjectOutputStream$BlockDataOutputStream
dup
aload 1
invokespecial java.io.ObjectOutputStream$BlockDataOutputStream.<init>:(Ljava/io/OutputStream;)V
putfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
4: aload 0
new java.io.ObjectOutputStream$HandleTable
dup
bipush 10
ldc 3.0
invokespecial java.io.ObjectOutputStream$HandleTable.<init>:(IF)V
putfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
5: aload 0
new java.io.ObjectOutputStream$ReplaceTable
dup
bipush 10
ldc 3.0
invokespecial java.io.ObjectOutputStream$ReplaceTable.<init>:(IF)V
putfield java.io.ObjectOutputStream.subs:Ljava/io/ObjectOutputStream$ReplaceTable;
6: aload 0
iconst_0
putfield java.io.ObjectOutputStream.enableOverride:Z
7: aload 0
invokevirtual java.io.ObjectOutputStream.writeStreamHeader:()V
8: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
9: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 12
10: aload 0
new java.io.ObjectOutputStream$DebugTraceInfoStack
dup
invokespecial java.io.ObjectOutputStream$DebugTraceInfoStack.<init>:()V
putfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
11: goto 13
12: StackMap locals: java.io.ObjectOutputStream java.io.OutputStream
StackMap stack:
aload 0
aconst_null
putfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/io/ObjectOutputStream;
0 14 1 out Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
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.OutputStream.<init>:()V
1: aload 0
iconst_2
putfield java.io.ObjectOutputStream.protocol:I
2: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 3: aload 1
ifnull 5
4: aload 1
getstatic java.io.ObjectOutputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
5: StackMap locals: java.io.ObjectOutputStream java.lang.SecurityManager
StackMap stack:
aload 0
aconst_null
putfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
6: aload 0
aconst_null
putfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
7: aload 0
aconst_null
putfield java.io.ObjectOutputStream.subs:Ljava/io/ObjectOutputStream$ReplaceTable;
8: aload 0
iconst_1
putfield java.io.ObjectOutputStream.enableOverride:Z
9: aload 0
aconst_null
putfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/io/ObjectOutputStream;
3 11 1 sm Ljava/lang/SecurityManager;
Exceptions:
throws java.io.IOException, java.lang.SecurityException
public void useProtocolVersion(int);
descriptor: (I)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.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
invokevirtual java.io.ObjectOutputStream$HandleTable.size:()I
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "stream non-empty"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
tableswitch { // 1 - 2
1: 3
2: 3
default: 5
}
3: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield java.io.ObjectOutputStream.protocol:I
4: goto 8
5: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
6: new java.lang.StringBuilder
dup
ldc "unknown version: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/io/ObjectOutputStream;
0 9 1 version I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
version
public final void writeObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.enableOverride:Z
ifeq 3
1: aload 0
aload 1
invokevirtual java.io.ObjectOutputStream.writeObjectOverride:(Ljava/lang/Object;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokevirtual java.io.ObjectOutputStream.writeObject0:(Ljava/lang/Object;Z)V
4: goto 9
StackMap locals:
StackMap stack: java.io.IOException
5: astore 2
start local 2 6: aload 0
getfield java.io.ObjectOutputStream.depth:I
ifne 8
7: aload 0
aload 2
invokevirtual java.io.ObjectOutputStream.writeFatalException:(Ljava/io/IOException;)V
8: StackMap locals: java.io.IOException
StackMap stack:
aload 2
athrow
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/io/ObjectOutputStream;
0 10 1 obj Ljava/lang/Object;
6 9 2 ex Ljava/io/IOException;
Exception table:
from to target type
3 4 5 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
protected void writeObjectOverride(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectOutputStream;
0 1 1 obj Ljava/lang/Object;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
public void writeUnshared(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual java.io.ObjectOutputStream.writeObject0:(Ljava/lang/Object;Z)V
1: goto 6
StackMap locals:
StackMap stack: java.io.IOException
2: astore 2
start local 2 3: aload 0
getfield java.io.ObjectOutputStream.depth:I
ifne 5
4: aload 0
aload 2
invokevirtual java.io.ObjectOutputStream.writeFatalException:(Ljava/io/IOException;)V
5: StackMap locals: java.io.IOException
StackMap stack:
aload 2
athrow
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/io/ObjectOutputStream;
0 7 1 obj Ljava/lang/Object;
3 6 2 ex Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
public void defaultWriteObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectOutputStream.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 writeObject"
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.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_0
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
6: aload 0
aload 2
aload 3
invokevirtual java.io.ObjectOutputStream.defaultWriteFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
7: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/io/ObjectOutputStream;
1 9 1 ctx Ljava/io/SerialCallbackContext;
4 9 2 curObj Ljava/lang/Object;
5 9 3 curDesc Ljava/io/ObjectStreamClass;
Exceptions:
throws java.io.IOException
public java.io.ObjectOutputStream$PutField putFields();
descriptor: ()Ljava/io/ObjectOutputStream$PutField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectOutputStream.curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
ifnonnull 7
1: aload 0
getfield java.io.ObjectOutputStream.curContext:Ljava/io/SerialCallbackContext;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: new java.io.NotActiveException
dup
ldc "not in call to writeObject"
invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.io.SerialCallbackContext
StackMap stack:
aload 1
invokevirtual java.io.SerialCallbackContext.checkAndSetUsed:()V
5: aload 1
invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
astore 2
start local 2 6: aload 0
new java.io.ObjectOutputStream$PutFieldImpl
dup
aload 0
aload 2
invokespecial java.io.ObjectOutputStream$PutFieldImpl.<init>:(Ljava/io/ObjectOutputStream;Ljava/io/ObjectStreamClass;)V
putfield java.io.ObjectOutputStream.curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
end local 2 end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectOutputStream.curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/io/ObjectOutputStream;
2 7 1 ctx Ljava/io/SerialCallbackContext;
6 7 2 curDesc Ljava/io/ObjectStreamClass;
Exceptions:
throws java.io.IOException
public void writeFields();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectOutputStream.curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
ifnonnull 2
1: new java.io.NotActiveException
dup
ldc "no current PutField object"
invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_0
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
3: aload 0
getfield java.io.ObjectOutputStream.curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
invokevirtual java.io.ObjectOutputStream$PutFieldImpl.writeFields:()V
4: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/io/ObjectOutputStream;
Exceptions:
throws java.io.IOException
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectOutputStream.depth:I
ifeq 2
1: new java.io.IOException
dup
ldc "stream active"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_0
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
3: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 121
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
4: aload 0
invokevirtual java.io.ObjectOutputStream.clear:()V
5: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/io/ObjectOutputStream;
Exceptions:
throws java.io.IOException
protected void annotateClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectOutputStream;
0 1 1 cl Ljava/lang/Class<*>;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
cl
protected void annotateProxyClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectOutputStream;
0 1 1 cl Ljava/lang/Class<*>;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
cl
protected java.lang.Object replaceObject(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/ObjectOutputStream;
0 1 1 obj Ljava/lang/Object;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
protected boolean enableReplaceObject(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.ObjectOutputStream.enableReplace: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.ObjectOutputStream.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.ObjectOutputStream.enableReplace:Z
7: aload 0
getfield java.io.ObjectOutputStream.enableReplace: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/ObjectOutputStream;
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=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
sipush -21267
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeShort:(I)V
1: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_5
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeShort:(I)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/io/ObjectOutputStream;
Exceptions:
throws java.io.IOException
protected void writeClassDescriptor(java.io.ObjectStreamClass);
descriptor: (Ljava/io/ObjectStreamClass;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual java.io.ObjectStreamClass.writeNonProxy:(Ljava/io/ObjectOutputStream;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 desc Ljava/io/ObjectStreamClass;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
desc
public void write(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.write:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 val I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
val
public void write(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.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 1
iconst_0
aload 1
arraylength
iconst_0
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.write:([BIIZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 buf [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
public void write(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: 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.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 1
iload 2
iload 3
iconst_0
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.write:([BIIZ)V
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/io/ObjectOutputStream;
0 7 1 buf [B
0 7 2 off I
0 7 3 len I
3 7 4 endoff I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.flush:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
Exceptions:
throws java.io.IOException
protected void drain();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.drain:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.io.ObjectOutputStream.flush:()V
1: aload 0
invokevirtual java.io.ObjectOutputStream.clear:()V
2: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.close:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/io/ObjectOutputStream;
Exceptions:
throws java.io.IOException
public void writeBoolean(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeBoolean:(Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 val Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
val
public void writeByte(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 val I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
val
public void writeShort(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeShort:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 val I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
val
public void writeChar(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeChar:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 val I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
val
public void writeInt(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 val I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
val
public void writeLong(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
lload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeLong:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 val J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
val
public void writeFloat(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
fload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeFloat:(F)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 val F
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
val
public void writeDouble(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
dload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeDouble:(D)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 val D
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
val
public void writeBytes(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeBytes:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 str Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
str
public void writeChars(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeChars:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 str Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
str
public void writeUTF(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
0 2 1 str Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
str
int getProtocolVersion();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectOutputStream.protocol:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/ObjectOutputStream;
void writeTypeString(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
invokevirtual java.io.ObjectOutputStream.writeNull:()V
2: goto 8
StackMap locals:
StackMap stack:
3: aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
aload 1
invokevirtual java.io.ObjectOutputStream$HandleTable.lookup:(Ljava/lang/Object;)I
dup
istore 2
start local 2 4: iconst_m1
if_icmpeq 7
5: aload 0
iload 2
invokevirtual java.io.ObjectOutputStream.writeHandle:(I)V
6: goto 8
7: StackMap locals: int
StackMap stack:
aload 0
aload 1
iconst_0
invokevirtual java.io.ObjectOutputStream.writeString:(Ljava/lang/String;Z)V
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/io/ObjectOutputStream;
0 9 1 str Ljava/lang/String;
4 8 2 handle I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
str
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/ObjectOutputStream;
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.ObjectOutputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
getstatic java.io.ObjectOutputStream$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.ObjectOutputStream$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.ObjectOutputStream$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.ObjectOutputStream.auditSubclass:(Ljava/lang/Class;)Ljava/lang/Boolean;
astore 4
11: getstatic java.io.ObjectOutputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
aload 3
aload 4
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals: java.io.ObjectStreamClass$WeakClassKey java.lang.Boolean
StackMap stack:
aload 4
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 14
13: aload 2
getstatic java.io.ObjectOutputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
14: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/io/ObjectOutputStream;
1 15 1 cl Ljava/lang/Class<*>;
4 15 2 sm Ljava/lang/SecurityManager;
8 15 3 key Ljava/io/ObjectStreamClass$WeakClassKey;
9 15 4 result Ljava/lang/Boolean;
private static java.lang.Boolean auditSubclass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Boolean;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.io.ObjectOutputStream$1
dup
aload 0
invokespecial java.io.ObjectOutputStream$1.<init>:(Ljava/lang/Class;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 subcl Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Boolean;
MethodParameters:
Name Flags
subcl
private void clear();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectOutputStream.subs:Ljava/io/ObjectOutputStream$ReplaceTable;
invokevirtual java.io.ObjectOutputStream$ReplaceTable.clear:()V
1: aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
invokevirtual java.io.ObjectOutputStream$HandleTable.clear:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/io/ObjectOutputStream;
private void writeObject0(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_0
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
istore 3
start local 3 1: aload 0
dup
getfield java.io.ObjectOutputStream.depth:I
iconst_1
iadd
putfield java.io.ObjectOutputStream.depth:I
2: aload 0
getfield java.io.ObjectOutputStream.subs:Ljava/io/ObjectOutputStream$ReplaceTable;
aload 1
invokevirtual java.io.ObjectOutputStream$ReplaceTable.lookup:(Ljava/lang/Object;)Ljava/lang/Object;
dup
astore 1
ifnonnull 7
3: aload 0
invokevirtual java.io.ObjectOutputStream.writeNull:()V
4: aload 0
dup
getfield java.io.ObjectOutputStream.depth:I
iconst_1
isub
putfield java.io.ObjectOutputStream.depth:I
5: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
6: return
7: StackMap locals: int
StackMap stack:
iload 2
ifne 13
aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
aload 1
invokevirtual java.io.ObjectOutputStream$HandleTable.lookup:(Ljava/lang/Object;)I
dup
istore 4
start local 4 8: iconst_m1
if_icmpeq 13
9: aload 0
iload 4
invokevirtual java.io.ObjectOutputStream.writeHandle:(I)V
10: aload 0
dup
getfield java.io.ObjectOutputStream.depth:I
iconst_1
isub
putfield java.io.ObjectOutputStream.depth:I
11: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
12: return
end local 4 13: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Class
ifeq 18
14: aload 0
aload 1
checkcast java.lang.Class
iload 2
invokevirtual java.io.ObjectOutputStream.writeClass:(Ljava/lang/Class;Z)V
15: aload 0
dup
getfield java.io.ObjectOutputStream.depth:I
iconst_1
isub
putfield java.io.ObjectOutputStream.depth:I
16: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
17: return
18: StackMap locals:
StackMap stack:
aload 1
instanceof java.io.ObjectStreamClass
ifeq 23
19: aload 0
aload 1
checkcast java.io.ObjectStreamClass
iload 2
invokevirtual java.io.ObjectOutputStream.writeClassDesc:(Ljava/io/ObjectStreamClass;Z)V
20: aload 0
dup
getfield java.io.ObjectOutputStream.depth:I
iconst_1
isub
putfield java.io.ObjectOutputStream.depth:I
21: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
22: return
23: StackMap locals:
StackMap stack:
aload 1
astore 5
start local 5 24: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 6
start local 6 25: StackMap locals: java.io.ObjectOutputStream java.lang.Object int int top java.lang.Object java.lang.Class
StackMap stack:
aload 6
iconst_1
invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
astore 7
start local 7 26: aload 7
invokevirtual java.io.ObjectStreamClass.hasWriteReplaceMethod:()Z
ifeq 33
27: aload 7
aload 1
invokevirtual java.io.ObjectStreamClass.invokeWriteReplace:(Ljava/lang/Object;)Ljava/lang/Object;
dup
astore 1
ifnull 33
28: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
dup
astore 8
start local 8 29: aload 6
if_acmpne 31
end local 8 30: goto 33
start local 8 31: StackMap locals: java.io.ObjectStreamClass java.lang.Class
StackMap stack:
aload 8
astore 6
end local 8 end local 7 32: goto 25
start local 7 33: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectOutputStream.enableReplace:Z
ifeq 39
34: aload 0
aload 1
invokevirtual java.io.ObjectOutputStream.replaceObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 8
start local 8 35: aload 8
aload 1
if_acmpeq 38
aload 8
ifnull 38
36: aload 8
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 6
37: aload 6
iconst_1
invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
astore 7
38: StackMap locals: java.lang.Object
StackMap stack:
aload 8
astore 1
end local 8 39: StackMap locals:
StackMap stack:
aload 1
aload 5
if_acmpeq 62
40: aload 0
getfield java.io.ObjectOutputStream.subs:Ljava/io/ObjectOutputStream$ReplaceTable;
aload 5
aload 1
invokevirtual java.io.ObjectOutputStream$ReplaceTable.assign:(Ljava/lang/Object;Ljava/lang/Object;)V
41: aload 1
ifnonnull 46
42: aload 0
invokevirtual java.io.ObjectOutputStream.writeNull:()V
43: aload 0
dup
getfield java.io.ObjectOutputStream.depth:I
iconst_1
isub
putfield java.io.ObjectOutputStream.depth:I
44: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
45: return
46: StackMap locals:
StackMap stack:
iload 2
ifne 52
aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
aload 1
invokevirtual java.io.ObjectOutputStream$HandleTable.lookup:(Ljava/lang/Object;)I
dup
istore 4
start local 4 47: iconst_m1
if_icmpeq 52
48: aload 0
iload 4
invokevirtual java.io.ObjectOutputStream.writeHandle:(I)V
49: aload 0
dup
getfield java.io.ObjectOutputStream.depth:I
iconst_1
isub
putfield java.io.ObjectOutputStream.depth:I
50: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
51: return
end local 4 52: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Class
ifeq 57
53: aload 0
aload 1
checkcast java.lang.Class
iload 2
invokevirtual java.io.ObjectOutputStream.writeClass:(Ljava/lang/Class;Z)V
54: aload 0
dup
getfield java.io.ObjectOutputStream.depth:I
iconst_1
isub
putfield java.io.ObjectOutputStream.depth:I
55: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
56: return
57: StackMap locals:
StackMap stack:
aload 1
instanceof java.io.ObjectStreamClass
ifeq 62
58: aload 0
aload 1
checkcast java.io.ObjectStreamClass
iload 2
invokevirtual java.io.ObjectOutputStream.writeClassDesc:(Ljava/io/ObjectStreamClass;Z)V
59: aload 0
dup
getfield java.io.ObjectOutputStream.depth:I
iconst_1
isub
putfield java.io.ObjectOutputStream.depth:I
60: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
61: return
62: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.String
ifeq 65
63: aload 0
aload 1
checkcast java.lang.String
iload 2
invokevirtual java.io.ObjectOutputStream.writeString:(Ljava/lang/String;Z)V
64: goto 83
StackMap locals:
StackMap stack:
65: aload 6
invokevirtual java.lang.Class.isArray:()Z
ifeq 68
66: aload 0
aload 1
aload 7
iload 2
invokevirtual java.io.ObjectOutputStream.writeArray:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Z)V
67: goto 83
StackMap locals:
StackMap stack:
68: aload 1
instanceof java.lang.Enum
ifeq 71
69: aload 0
aload 1
checkcast java.lang.Enum
aload 7
iload 2
invokevirtual java.io.ObjectOutputStream.writeEnum:(Ljava/lang/Enum;Ljava/io/ObjectStreamClass;Z)V
70: goto 83
StackMap locals:
StackMap stack:
71: aload 1
instanceof java.io.Serializable
ifeq 74
72: aload 0
aload 1
aload 7
iload 2
invokevirtual java.io.ObjectOutputStream.writeOrdinaryObject:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Z)V
73: goto 83
74: StackMap locals:
StackMap stack:
getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 78
75: new java.io.NotSerializableException
dup
76: new java.lang.StringBuilder
dup
aload 6
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
77: invokespecial java.io.NotSerializableException.<init>:(Ljava/lang/String;)V
athrow
78: StackMap locals:
StackMap stack:
new java.io.NotSerializableException
dup
aload 6
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokespecial java.io.NotSerializableException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 end local 5 79: StackMap locals: java.io.ObjectOutputStream java.lang.Object int int
StackMap stack: java.lang.Throwable
astore 9
80: aload 0
dup
getfield java.io.ObjectOutputStream.depth:I
iconst_1
isub
putfield java.io.ObjectOutputStream.depth:I
81: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
82: aload 9
athrow
83: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.io.ObjectOutputStream.depth:I
iconst_1
isub
putfield java.io.ObjectOutputStream.depth:I
84: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
85: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 86 0 this Ljava/io/ObjectOutputStream;
0 86 1 obj Ljava/lang/Object;
0 86 2 unshared Z
1 86 3 oldMode Z
8 13 4 h I
47 52 4 h I
24 79 5 orig Ljava/lang/Object;
25 79 6 cl Ljava/lang/Class<*>;
26 32 7 desc Ljava/io/ObjectStreamClass;
33 79 7 desc Ljava/io/ObjectStreamClass;
29 30 8 repCl Ljava/lang/Class<*>;
31 32 8 repCl Ljava/lang/Class<*>;
35 39 8 rep Ljava/lang/Object;
Exception table:
from to target type
2 4 79 any
7 10 79 any
13 15 79 any
18 20 79 any
23 43 79 any
46 49 79 any
52 54 79 any
57 59 79 any
62 79 79 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
unshared
private void writeNull();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 112
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/ObjectOutputStream;
Exceptions:
throws java.io.IOException
private void writeHandle(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 113
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
1: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
ldc 8257536
iload 1
iadd
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/io/ObjectOutputStream;
0 3 1 handle I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
handle
private void writeClass(java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 118
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
1: aload 0
aload 1
iconst_1
invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
iconst_0
invokevirtual java.io.ObjectOutputStream.writeClassDesc:(Ljava/io/ObjectStreamClass;Z)V
2: aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
iload 2
ifeq 3
aconst_null
goto 4
StackMap locals:
StackMap stack: java.io.ObjectOutputStream$HandleTable
3: aload 1
StackMap locals: java.io.ObjectOutputStream java.lang.Class int
StackMap stack: java.io.ObjectOutputStream$HandleTable java.lang.Class
4: invokevirtual java.io.ObjectOutputStream$HandleTable.assign:(Ljava/lang/Object;)I
pop
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/io/ObjectOutputStream;
0 6 1 cl Ljava/lang/Class<*>;
0 6 2 unshared Z
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/Class<*>;Z)V
MethodParameters:
Name Flags
cl
unshared
private void writeClassDesc(java.io.ObjectStreamClass, boolean);
descriptor: (Ljava/io/ObjectStreamClass;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 3
1: aload 0
invokevirtual java.io.ObjectOutputStream.writeNull:()V
2: goto 11
StackMap locals:
StackMap stack:
3: iload 2
ifne 7
aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
aload 1
invokevirtual java.io.ObjectOutputStream$HandleTable.lookup:(Ljava/lang/Object;)I
dup
istore 3
start local 3 4: iconst_m1
if_icmpeq 7
5: aload 0
iload 3
invokevirtual java.io.ObjectOutputStream.writeHandle:(I)V
6: goto 11
end local 3 StackMap locals:
StackMap stack:
7: aload 1
invokevirtual java.io.ObjectStreamClass.isProxy:()Z
ifeq 10
8: aload 0
aload 1
iload 2
invokevirtual java.io.ObjectOutputStream.writeProxyDesc:(Ljava/io/ObjectStreamClass;Z)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual java.io.ObjectOutputStream.writeNonProxyDesc:(Ljava/io/ObjectStreamClass;Z)V
11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/io/ObjectOutputStream;
0 12 1 desc Ljava/io/ObjectStreamClass;
0 12 2 unshared Z
4 7 3 handle I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
desc
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/ObjectOutputStream;
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/ObjectOutputStream;
private void writeProxyDesc(java.io.ObjectStreamClass, boolean);
descriptor: (Ljava/io/ObjectStreamClass;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 125
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
1: aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
iload 2
ifeq 2
aconst_null
goto 3
StackMap locals:
StackMap stack: java.io.ObjectOutputStream$HandleTable
2: aload 1
StackMap locals: java.io.ObjectOutputStream java.io.ObjectStreamClass int
StackMap stack: java.io.ObjectOutputStream$HandleTable java.io.ObjectStreamClass
3: invokevirtual java.io.ObjectOutputStream$HandleTable.assign:(Ljava/lang/Object;)I
pop
4: aload 1
invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
astore 3
start local 3 5: aload 3
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 4
start local 4 6: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 4
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
7: iconst_0
istore 5
start local 5 8: goto 11
9: StackMap locals: java.lang.Class java.lang.Class[] int
StackMap stack:
aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 4
iload 5
aaload
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF:(Ljava/lang/String;)V
10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 4
arraylength
if_icmplt 9
end local 5 12: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
13: aload 3
ifnull 15
aload 0
invokevirtual java.io.ObjectOutputStream.isCustomSubclass:()Z
ifeq 15
14: aload 3
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
15: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual java.io.ObjectOutputStream.annotateProxyClass:(Ljava/lang/Class;)V
16: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_0
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
17: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 120
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
18: aload 0
aload 1
invokevirtual java.io.ObjectStreamClass.getSuperDesc:()Ljava/io/ObjectStreamClass;
iconst_0
invokevirtual java.io.ObjectOutputStream.writeClassDesc:(Ljava/io/ObjectStreamClass;Z)V
19: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/io/ObjectOutputStream;
0 20 1 desc Ljava/io/ObjectStreamClass;
0 20 2 unshared Z
5 20 3 cl Ljava/lang/Class<*>;
6 20 4 ifaces [Ljava/lang/Class;
8 12 5 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
desc
unshared
private void writeNonProxyDesc(java.io.ObjectStreamClass, boolean);
descriptor: (Ljava/io/ObjectStreamClass;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 114
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
1: aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
iload 2
ifeq 2
aconst_null
goto 3
StackMap locals:
StackMap stack: java.io.ObjectOutputStream$HandleTable
2: aload 1
StackMap locals: java.io.ObjectOutputStream java.io.ObjectStreamClass int
StackMap stack: java.io.ObjectOutputStream$HandleTable java.io.ObjectStreamClass
3: invokevirtual java.io.ObjectOutputStream$HandleTable.assign:(Ljava/lang/Object;)I
pop
4: aload 0
getfield java.io.ObjectOutputStream.protocol:I
iconst_1
if_icmpne 7
5: aload 1
aload 0
invokevirtual java.io.ObjectStreamClass.writeNonProxy:(Ljava/io/ObjectOutputStream;)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.io.ObjectOutputStream.writeClassDescriptor:(Ljava/io/ObjectStreamClass;)V
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
astore 3
start local 3 9: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
10: aload 3
ifnull 12
aload 0
invokevirtual java.io.ObjectOutputStream.isCustomSubclass:()Z
ifeq 12
11: aload 3
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
12: StackMap locals: java.lang.Class
StackMap stack:
aload 0
aload 3
invokevirtual java.io.ObjectOutputStream.annotateClass:(Ljava/lang/Class;)V
13: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_0
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
14: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 120
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
15: aload 0
aload 1
invokevirtual java.io.ObjectStreamClass.getSuperDesc:()Ljava/io/ObjectStreamClass;
iconst_0
invokevirtual java.io.ObjectOutputStream.writeClassDesc:(Ljava/io/ObjectStreamClass;Z)V
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/io/ObjectOutputStream;
0 17 1 desc Ljava/io/ObjectStreamClass;
0 17 2 unshared Z
9 17 3 cl Ljava/lang/Class<*>;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
desc
unshared
private void writeString(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
iload 2
ifeq 1
aconst_null
goto 2
StackMap locals:
StackMap stack: java.io.ObjectOutputStream$HandleTable
1: aload 1
StackMap locals: java.io.ObjectOutputStream java.lang.String int
StackMap stack: java.io.ObjectOutputStream$HandleTable java.lang.String
2: invokevirtual java.io.ObjectOutputStream$HandleTable.assign:(Ljava/lang/Object;)I
pop
3: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.getUTFLength:(Ljava/lang/String;)J
lstore 3
start local 3 4: lload 3
ldc 65535
lcmp
ifgt 8
5: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 116
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
6: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 1
lload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF:(Ljava/lang/String;J)V
7: goto 10
8: StackMap locals: long
StackMap stack:
aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 124
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
9: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 1
lload 3
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeLongUTF:(Ljava/lang/String;J)V
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/io/ObjectOutputStream;
0 11 1 str Ljava/lang/String;
0 11 2 unshared Z
4 11 3 utflen J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
str
unshared
private void writeArray(java.lang.Object, java.io.ObjectStreamClass, boolean);
descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 117
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
1: aload 0
aload 2
iconst_0
invokevirtual java.io.ObjectOutputStream.writeClassDesc:(Ljava/io/ObjectStreamClass;Z)V
2: aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
iload 3
ifeq 3
aconst_null
goto 4
StackMap locals:
StackMap stack: java.io.ObjectOutputStream$HandleTable
3: aload 1
StackMap locals: java.io.ObjectOutputStream java.lang.Object java.io.ObjectStreamClass int
StackMap stack: java.io.ObjectOutputStream$HandleTable java.lang.Object
4: invokevirtual java.io.ObjectOutputStream$HandleTable.assign:(Ljava/lang/Object;)I
pop
5: aload 2
invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 4
start local 4 6: aload 4
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 48
7: aload 4
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 12
8: aload 1
checkcast int[]
astore 5
start local 5 9: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
10: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
iconst_0
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInts:([III)V
end local 5 11: goto 80
StackMap locals: java.lang.Class
StackMap stack:
12: aload 4
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 17
13: aload 1
checkcast byte[]
astore 5
start local 5 14: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
15: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
iconst_0
aload 5
arraylength
iconst_1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.write:([BIIZ)V
end local 5 16: goto 80
StackMap locals:
StackMap stack:
17: aload 4
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 22
18: aload 1
checkcast long[]
astore 5
start local 5 19: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
20: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
iconst_0
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeLongs:([JII)V
end local 5 21: goto 80
StackMap locals:
StackMap stack:
22: aload 4
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 27
23: aload 1
checkcast float[]
astore 5
start local 5 24: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
25: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
iconst_0
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeFloats:([FII)V
end local 5 26: goto 80
StackMap locals:
StackMap stack:
27: aload 4
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 32
28: aload 1
checkcast double[]
astore 5
start local 5 29: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
30: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
iconst_0
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeDoubles:([DII)V
end local 5 31: goto 80
StackMap locals:
StackMap stack:
32: aload 4
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 37
33: aload 1
checkcast short[]
astore 5
start local 5 34: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
35: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
iconst_0
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeShorts:([SII)V
end local 5 36: goto 80
StackMap locals:
StackMap stack:
37: aload 4
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 42
38: aload 1
checkcast char[]
astore 5
start local 5 39: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
40: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
iconst_0
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeChars:([CII)V
end local 5 41: goto 80
StackMap locals:
StackMap stack:
42: aload 4
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 47
43: aload 1
checkcast boolean[]
astore 5
start local 5 44: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
45: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
aload 5
iconst_0
aload 5
arraylength
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeBooleans:([ZII)V
end local 5 46: goto 80
47: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
48: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Object[]
astore 5
start local 5 49: aload 5
arraylength
istore 6
start local 6 50: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iload 6
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeInt:(I)V
51: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 57
52: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
53: new java.lang.StringBuilder
dup
ldc "array (class \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
54: ldc "\", size: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
55: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
56: invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.push:(Ljava/lang/String;)V
57: StackMap locals: java.lang.Object[] int
StackMap stack:
iconst_0
istore 7
start local 7 58: goto 72
59: StackMap locals: int
StackMap stack:
getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 63
60: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
61: new java.lang.StringBuilder
dup
ldc "element of array (index: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
62: invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.push:(Ljava/lang/String;)V
63: StackMap locals:
StackMap stack:
aload 0
aload 5
iload 7
aaload
iconst_0
invokevirtual java.io.ObjectOutputStream.writeObject0:(Ljava/lang/Object;Z)V
64: goto 69
StackMap locals:
StackMap stack: java.lang.Throwable
65: astore 8
66: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 68
67: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.pop:()V
68: StackMap locals: java.lang.Throwable
StackMap stack:
aload 8
athrow
69: StackMap locals:
StackMap stack:
getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 71
70: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.pop:()V
71: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
72: iload 7
iload 6
if_icmplt 59
end local 7 73: goto 78
StackMap locals: java.io.ObjectOutputStream java.lang.Object java.io.ObjectStreamClass int java.lang.Class java.lang.Object[] int
StackMap stack: java.lang.Throwable
74: astore 9
75: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 77
76: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.pop:()V
77: StackMap locals: java.io.ObjectOutputStream java.lang.Object java.io.ObjectStreamClass int java.lang.Class java.lang.Object[] int top top java.lang.Throwable
StackMap stack:
aload 9
athrow
78: StackMap locals: java.io.ObjectOutputStream java.lang.Object java.io.ObjectStreamClass int java.lang.Class java.lang.Object[] int
StackMap stack:
getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 80
79: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.pop:()V
end local 6 end local 5 80: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 81 0 this Ljava/io/ObjectOutputStream;
0 81 1 array Ljava/lang/Object;
0 81 2 desc Ljava/io/ObjectStreamClass;
0 81 3 unshared Z
6 81 4 ccl Ljava/lang/Class<*>;
9 11 5 ia [I
14 16 5 ba [B
19 21 5 ja [J
24 26 5 fa [F
29 31 5 da [D
34 36 5 sa [S
39 41 5 ca [C
44 46 5 za [Z
49 80 5 objs [Ljava/lang/Object;
50 80 6 len I
58 73 7 i I
Exception table:
from to target type
63 65 65 any
57 74 74 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
array
desc
unshared
private void writeEnum(java.lang.Enum<?>, java.io.ObjectStreamClass, );
descriptor: (Ljava/lang/Enum;Ljava/io/ObjectStreamClass;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 126
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
1: aload 2
invokevirtual java.io.ObjectStreamClass.getSuperDesc:()Ljava/io/ObjectStreamClass;
astore 4
start local 4 2: aload 0
aload 4
invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
ldc Ljava/lang/Enum;
if_acmpne 3
aload 2
goto 4
StackMap locals: java.io.ObjectOutputStream java.lang.Enum java.io.ObjectStreamClass int java.io.ObjectStreamClass
StackMap stack: java.io.ObjectOutputStream
3: aload 4
StackMap locals: java.io.ObjectOutputStream java.lang.Enum java.io.ObjectStreamClass int java.io.ObjectStreamClass
StackMap stack: java.io.ObjectOutputStream java.io.ObjectStreamClass
4: iconst_0
invokevirtual java.io.ObjectOutputStream.writeClassDesc:(Ljava/io/ObjectStreamClass;Z)V
5: aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
iload 3
ifeq 6
aconst_null
goto 7
StackMap locals:
StackMap stack: java.io.ObjectOutputStream$HandleTable
6: aload 1
StackMap locals: java.io.ObjectOutputStream java.lang.Enum java.io.ObjectStreamClass int java.io.ObjectStreamClass
StackMap stack: java.io.ObjectOutputStream$HandleTable java.lang.Enum
7: invokevirtual java.io.ObjectOutputStream$HandleTable.assign:(Ljava/lang/Object;)I
pop
8: aload 0
aload 1
invokevirtual java.lang.Enum.name:()Ljava/lang/String;
iconst_0
invokevirtual java.io.ObjectOutputStream.writeString:(Ljava/lang/String;Z)V
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/io/ObjectOutputStream;
0 10 1 en Ljava/lang/Enum<*>;
0 10 2 desc Ljava/io/ObjectStreamClass;
0 10 3 unshared Z
2 10 4 sdesc Ljava/io/ObjectStreamClass;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/Enum<*>;Ljava/io/ObjectStreamClass;Z)V
MethodParameters:
Name Flags
en
desc
unshared
private void writeOrdinaryObject(java.lang.Object, java.io.ObjectStreamClass, boolean);
descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 8
1: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
2: new java.lang.StringBuilder
dup
aload 0
getfield java.io.ObjectOutputStream.depth:I
iconst_1
if_icmpne 3
ldc "root "
goto 4
StackMap locals: java.io.ObjectOutputStream java.lang.Object java.io.ObjectStreamClass int
StackMap stack: java.io.ObjectOutputStream$DebugTraceInfoStack new 2 new 2
3: ldc ""
StackMap locals: java.io.ObjectOutputStream java.lang.Object java.io.ObjectStreamClass int
StackMap stack: java.io.ObjectOutputStream$DebugTraceInfoStack new 2 new 2 java.lang.String
4: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "object (class \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.push:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.ObjectStreamClass.checkSerialize:()V
9: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 115
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
10: aload 0
aload 2
iconst_0
invokevirtual java.io.ObjectOutputStream.writeClassDesc:(Ljava/io/ObjectStreamClass;Z)V
11: aload 0
getfield java.io.ObjectOutputStream.handles:Ljava/io/ObjectOutputStream$HandleTable;
iload 3
ifeq 12
aconst_null
goto 13
StackMap locals:
StackMap stack: java.io.ObjectOutputStream$HandleTable
12: aload 1
StackMap locals: java.io.ObjectOutputStream java.lang.Object java.io.ObjectStreamClass int
StackMap stack: java.io.ObjectOutputStream$HandleTable java.lang.Object
13: invokevirtual java.io.ObjectOutputStream$HandleTable.assign:(Ljava/lang/Object;)I
pop
14: aload 2
invokevirtual java.io.ObjectStreamClass.isExternalizable:()Z
ifeq 17
aload 2
invokevirtual java.io.ObjectStreamClass.isProxy:()Z
ifne 17
15: aload 0
aload 1
checkcast java.io.Externalizable
invokevirtual java.io.ObjectOutputStream.writeExternalData:(Ljava/io/Externalizable;)V
16: goto 23
17: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual java.io.ObjectOutputStream.writeSerialData:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
18: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 4
20: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 22
21: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.pop:()V
22: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
athrow
23: StackMap locals:
StackMap stack:
getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 25
24: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.pop:()V
25: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/io/ObjectOutputStream;
0 26 1 obj Ljava/lang/Object;
0 26 2 desc Ljava/io/ObjectStreamClass;
0 26 3 unshared Z
Exception table:
from to target type
8 19 19 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
desc
unshared
private void writeExternalData(java.io.Externalizable);
descriptor: (Ljava/io/Externalizable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.ObjectOutputStream.curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
astore 2
start local 2 1: aload 0
aconst_null
putfield java.io.ObjectOutputStream.curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
2: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 4
3: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
ldc "writeExternal data"
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.push:(Ljava/lang/String;)V
4: StackMap locals: java.io.ObjectOutputStream$PutFieldImpl
StackMap stack:
aload 0
getfield java.io.ObjectOutputStream.curContext:Ljava/io/SerialCallbackContext;
astore 3
start local 3 5: aload 0
aconst_null
putfield java.io.ObjectOutputStream.curContext:Ljava/io/SerialCallbackContext;
6: aload 0
getfield java.io.ObjectOutputStream.protocol:I
iconst_1
if_icmpne 9
7: aload 1
aload 0
invokeinterface java.io.Externalizable.writeExternal:(Ljava/io/ObjectOutput;)V
8: goto 19
9: StackMap locals: java.io.SerialCallbackContext
StackMap stack:
aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
10: aload 1
aload 0
invokeinterface java.io.Externalizable.writeExternal:(Ljava/io/ObjectOutput;)V
11: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_0
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
12: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 120
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
13: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 4
15: aload 0
aload 3
putfield java.io.ObjectOutputStream.curContext:Ljava/io/SerialCallbackContext;
16: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 18
17: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.pop:()V
18: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
athrow
19: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield java.io.ObjectOutputStream.curContext:Ljava/io/SerialCallbackContext;
20: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 22
21: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.pop:()V
22: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield java.io.ObjectOutputStream.curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
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/ObjectOutputStream;
0 24 1 obj Ljava/io/Externalizable;
1 24 2 oldPut Ljava/io/ObjectOutputStream$PutFieldImpl;
5 24 3 oldContext Ljava/io/SerialCallbackContext;
Exception table:
from to target type
5 14 14 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
private void writeSerialData(java.lang.Object, java.io.ObjectStreamClass);
descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, 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 34
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 5
invokevirtual java.io.ObjectStreamClass.hasWriteObjectMethod:()Z
ifeq 32
5: aload 0
getfield java.io.ObjectOutputStream.curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
astore 6
start local 6 6: aload 0
aconst_null
putfield java.io.ObjectOutputStream.curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
7: aload 0
getfield java.io.ObjectOutputStream.curContext:Ljava/io/SerialCallbackContext;
astore 7
start local 7 8: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 14
9: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
10: new java.lang.StringBuilder
dup
ldc "custom writeObject data (class \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 5
invokevirtual java.io.ObjectStreamClass.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.push:(Ljava/lang/String;)V
14: StackMap locals: java.io.ObjectStreamClass java.io.ObjectOutputStream$PutFieldImpl 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.ObjectOutputStream.curContext:Ljava/io/SerialCallbackContext;
15: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_1
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
16: aload 5
aload 1
aload 0
invokevirtual java.io.ObjectStreamClass.invokeWriteObject:(Ljava/lang/Object;Ljava/io/ObjectOutputStream;)V
17: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
iconst_0
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode:(Z)Z
pop
18: aload 0
getfield java.io.ObjectOutputStream.bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
bipush 120
invokevirtual java.io.ObjectOutputStream$BlockDataOutputStream.writeByte:(I)V
19: goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 8
21: aload 0
getfield java.io.ObjectOutputStream.curContext:Ljava/io/SerialCallbackContext;
invokevirtual java.io.SerialCallbackContext.setUsed:()V
22: aload 0
aload 7
putfield java.io.ObjectOutputStream.curContext:Ljava/io/SerialCallbackContext;
23: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 25
24: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.pop:()V
25: StackMap locals: java.lang.Throwable
StackMap stack:
aload 8
athrow
26: StackMap locals:
StackMap stack:
aload 0
getfield java.io.ObjectOutputStream.curContext:Ljava/io/SerialCallbackContext;
invokevirtual java.io.SerialCallbackContext.setUsed:()V
27: aload 0
aload 7
putfield java.io.ObjectOutputStream.curContext:Ljava/io/SerialCallbackContext;
28: getstatic java.io.ObjectOutputStream.extendedDebugInfo:Z
ifeq 30
29: aload 0
getfield java.io.ObjectOutputStream.debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
invokevirtual java.io.ObjectOutputStream$DebugTraceInfoStack.pop:()V
30: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield java.io.ObjectOutputStream.curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
end local 7 end local 6 31: goto 33
32: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 5
invokevirtual java.io.ObjectOutputStream.defaultWriteFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
end local 5 33: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
34: iload 4
aload 3
arraylength
if_icmplt 3
end local 4 35: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Ljava/io/ObjectOutputStream;
0 36 1 obj Ljava/lang/Object;
0 36 2 desc Ljava/io/ObjectStreamClass;
1 36 3 slots [Ljava/io/ObjectStreamClass$ClassDataSlot;
2 35 4 i I
4 33 5 slotDesc Ljava/io/ObjectStreamClass;
6 31 6 oldPut Ljava/io/ObjectOutputStream$PutFieldImpl;
8