public class javax.sql.rowset.serial.SerialJavaObject implements java.io.Serializable, java.lang.Cloneable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.sql.rowset.serial.SerialJavaObject
super_class: java.lang.Object
{
private java.lang.Object obj;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private transient java.lang.reflect.Field[] fields;
descriptor: [Ljava/lang/reflect/Field;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
static final long serialVersionUID;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -1465795139032831023
java.util.Vector<javax.sql.rowset.RowSetWarning> chain;
descriptor: Ljava/util/Vector;
flags: (0x0000)
Signature: Ljava/util/Vector<Ljavax/sql/rowset/RowSetWarning;>;
public void <init>(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 2
start local 2 2: aload 1
instanceof java.io.Serializable
ifne 4
3: aload 0
new javax.sql.rowset.RowSetWarning
dup
ldc "Warning, the object passed to the constructor does not implement Serializable"
invokespecial javax.sql.rowset.RowSetWarning.<init>:(Ljava/lang/String;)V
invokevirtual javax.sql.rowset.serial.SerialJavaObject.setWarning:(Ljavax/sql/rowset/RowSetWarning;)V
4: StackMap locals: javax.sql.rowset.serial.SerialJavaObject java.lang.Object java.lang.Class
StackMap stack:
aload 0
aload 2
invokevirtual java.lang.Class.getFields:()[Ljava/lang/reflect/Field;
putfield javax.sql.rowset.serial.SerialJavaObject.fields:[Ljava/lang/reflect/Field;
5: aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.fields:[Ljava/lang/reflect/Field;
invokestatic javax.sql.rowset.serial.SerialJavaObject.hasStaticFields:([Ljava/lang/reflect/Field;)Z
ifeq 7
6: new javax.sql.rowset.serial.SerialException
dup
ldc "Located static fields in object instance. Cannot serialize"
invokespecial javax.sql.rowset.serial.SerialException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield javax.sql.rowset.serial.SerialJavaObject.obj:Ljava/lang/Object;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavax/sql/rowset/serial/SerialJavaObject;
0 9 1 obj Ljava/lang/Object;
2 9 2 c Ljava/lang/Class<*>;
Exceptions:
throws javax.sql.rowset.serial.SerialException
MethodParameters:
Name Flags
obj
public java.lang.Object getObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.obj:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/sql/rowset/serial/SerialJavaObject;
Exceptions:
throws javax.sql.rowset.serial.SerialException
public java.lang.reflect.Field[] getFields();
descriptor: ()[Ljava/lang/reflect/Field;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.fields:[Ljava/lang/reflect/Field;
ifnull 11
1: aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 1
start local 1 2: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 3: aload 2
ifnull 10
4: invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
astore 3
start local 3 5: aload 3
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
6: aload 1
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
7: invokestatic sun.reflect.misc.ReflectUtil.needsPackageAccessCheck:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
8: ifeq 10
9: aload 1
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
end local 3 10: StackMap locals: java.lang.Class java.lang.SecurityManager
StackMap stack:
aload 1
invokevirtual java.lang.Class.getFields:()[Ljava/lang/reflect/Field;
areturn
end local 2 end local 1 11: StackMap locals:
StackMap stack:
new javax.sql.rowset.serial.SerialException
dup
ldc "SerialJavaObject does not contain a serialized object instance"
invokespecial javax.sql.rowset.serial.SerialException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljavax/sql/rowset/serial/SerialJavaObject;
2 11 1 c Ljava/lang/Class<*>;
3 11 2 sm Ljava/lang/SecurityManager;
5 10 3 caller Ljava/lang/Class<*>;
Exceptions:
throws javax.sql.rowset.serial.SerialException
RuntimeVisibleAnnotations:
jdk.internal.reflect.CallerSensitive()
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof javax.sql.rowset.serial.SerialJavaObject
ifeq 5
3: aload 1
checkcast javax.sql.rowset.serial.SerialJavaObject
astore 2
start local 2 4: aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.obj:Ljava/lang/Object;
aload 2
getfield javax.sql.rowset.serial.SerialJavaObject.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/sql/rowset/serial/SerialJavaObject;
0 6 1 o Ljava/lang/Object;
4 5 2 sjo Ljavax/sql/rowset/serial/SerialJavaObject;
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush 31
aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.hashCode:()I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/sql/rowset/serial/SerialJavaObject;
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.clone:()Ljava/lang/Object;
checkcast javax.sql.rowset.serial.SerialJavaObject
astore 1
start local 1 1: aload 1
aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.fields:[Ljava/lang/reflect/Field;
aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.fields:[Ljava/lang/reflect/Field;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast java.lang.reflect.Field[]
putfield javax.sql.rowset.serial.SerialJavaObject.fields:[Ljava/lang/reflect/Field;
2: aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.chain:Ljava/util/Vector;
ifnull 4
3: aload 1
new java.util.Vector
dup
aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.chain:Ljava/util/Vector;
invokespecial java.util.Vector.<init>:(Ljava/util/Collection;)V
putfield javax.sql.rowset.serial.SerialJavaObject.chain:Ljava/util/Vector;
4: StackMap locals: javax.sql.rowset.serial.SerialJavaObject
StackMap stack:
aload 1
5: areturn
end local 1 6: StackMap locals: javax.sql.rowset.serial.SerialJavaObject
StackMap stack: java.lang.CloneNotSupportedException
pop
7: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavax/sql/rowset/serial/SerialJavaObject;
1 6 1 sjo Ljavax/sql/rowset/serial/SerialJavaObject;
Exception table:
from to target type
0 5 6 Class java.lang.CloneNotSupportedException
private void setWarning(javax.sql.rowset.RowSetWarning);
descriptor: (Ljavax/sql/rowset/RowSetWarning;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.chain:Ljava/util/Vector;
ifnonnull 2
1: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield javax.sql.rowset.serial.SerialJavaObject.chain:Ljava/util/Vector;
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.chain:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/sql/rowset/serial/SerialJavaObject;
0 4 1 e Ljavax/sql/rowset/RowSetWarning;
MethodParameters:
Name Flags
e
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.readFields:()Ljava/io/ObjectInputStream$GetField;
astore 2
start local 2 1: aload 2
ldc "chain"
aconst_null
invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Vector
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 0
new java.util.Vector
dup
aload 3
invokespecial java.util.Vector.<init>:(Ljava/util/Collection;)V
putfield javax.sql.rowset.serial.SerialJavaObject.chain:Ljava/util/Vector;
4: StackMap locals: java.io.ObjectInputStream$GetField java.util.Vector
StackMap stack:
aload 0
aload 2
ldc "obj"
aconst_null
invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
putfield javax.sql.rowset.serial.SerialJavaObject.obj:Ljava/lang/Object;
5: aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.obj:Ljava/lang/Object;
ifnull 9
6: aload 0
aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getFields:()[Ljava/lang/reflect/Field;
putfield javax.sql.rowset.serial.SerialJavaObject.fields:[Ljava/lang/reflect/Field;
7: aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.fields:[Ljava/lang/reflect/Field;
invokestatic javax.sql.rowset.serial.SerialJavaObject.hasStaticFields:([Ljava/lang/reflect/Field;)Z
ifeq 10
8: new java.io.IOException
dup
ldc "Located static fields in object instance. Cannot serialize"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Object cannot be null!"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
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 Ljavax/sql/rowset/serial/SerialJavaObject;
0 11 1 s Ljava/io/ObjectInputStream;
1 11 2 fields1 Ljava/io/ObjectInputStream$GetField;
2 11 3 tmp Ljava/util/Vector<Ljavax/sql/rowset/RowSetWarning;>;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
s
private void writeObject(java.io.ObjectOutputStream);
descriptor: (Ljava/io/ObjectOutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectOutputStream.putFields:()Ljava/io/ObjectOutputStream$PutField;
astore 2
start local 2 1: aload 2
ldc "obj"
aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.obj:Ljava/lang/Object;
invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;Ljava/lang/Object;)V
2: aload 2
ldc "chain"
aload 0
getfield javax.sql.rowset.serial.SerialJavaObject.chain:Ljava/util/Vector;
invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 1
invokevirtual java.io.ObjectOutputStream.writeFields:()V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/sql/rowset/serial/SerialJavaObject;
0 5 1 s Ljava/io/ObjectOutputStream;
1 5 2 fields Ljava/io/ObjectOutputStream$PutField;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
private static boolean hasStaticFields(java.lang.reflect.Field[]);
descriptor: ([Ljava/lang/reflect/Field;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokevirtual java.lang.reflect.Field.getModifiers:()I
bipush 8
if_icmpne 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 fields [Ljava/lang/reflect/Field;
2 4 1 field Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
fields
}
SourceFile: "SerialJavaObject.java"
InnerClasses:
public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
public abstract PutField = java.io.ObjectOutputStream$PutField of java.io.ObjectOutputStream