class com.caucho.hessian.io.JavaSerializer$FieldSerializer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.caucho.hessian.io.JavaSerializer$FieldSerializer
super_class: java.lang.Object
{
static final com.caucho.hessian.io.JavaSerializer$FieldSerializer SER;
descriptor: Lcom/caucho/hessian/io/JavaSerializer$FieldSerializer;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: .line 338
new com.caucho.hessian.io.JavaSerializer$FieldSerializer
dup
invokespecial com.caucho.hessian.io.JavaSerializer$FieldSerializer.<init>:()V
putstatic com.caucho.hessian.io.JavaSerializer$FieldSerializer.SER:Lcom/caucho/hessian/io/JavaSerializer$FieldSerializer;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // com.caucho.hessian.io.JavaSerializer$FieldSerializer this
0: .line 337
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.caucho.hessian.io.JavaSerializer$FieldSerializer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/caucho/hessian/io/JavaSerializer$FieldSerializer;
void serialize(com.caucho.hessian.io.AbstractHessianOutput, java.lang.Object, java.lang.reflect.Field);
descriptor: (Lcom/caucho/hessian/io/AbstractHessianOutput;Ljava/lang/Object;Ljava/lang/reflect/Field;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=4
start local 0 // com.caucho.hessian.io.JavaSerializer$FieldSerializer this
start local 1 // com.caucho.hessian.io.AbstractHessianOutput out
start local 2 // java.lang.Object obj
start local 3 // java.lang.reflect.Field field
0: .line 343
aconst_null
astore 4 /* value */
start local 4 // java.lang.Object value
1: .line 346
aload 3 /* field */
aload 2 /* obj */
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4 /* value */
2: .line 347
goto 5
StackMap locals: com.caucho.hessian.io.JavaSerializer$FieldSerializer com.caucho.hessian.io.AbstractHessianOutput java.lang.Object java.lang.reflect.Field java.lang.Object
StackMap stack: java.lang.IllegalAccessException
3: astore 5 /* e */
start local 5 // java.lang.IllegalAccessException e
4: .line 348
getstatic com.caucho.hessian.io.JavaSerializer.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
aload 5 /* e */
invokevirtual java.lang.IllegalAccessException.toString:()Ljava/lang/String;
aload 5 /* e */
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 5 // java.lang.IllegalAccessException e
5: .line 352
StackMap locals:
StackMap stack:
aload 1 /* out */
aload 4 /* value */
invokevirtual com.caucho.hessian.io.AbstractHessianOutput.writeObject:(Ljava/lang/Object;)V
6: .line 353
goto 19
StackMap locals:
StackMap stack: java.lang.RuntimeException
7: astore 5 /* e */
start local 5 // java.lang.RuntimeException e
8: .line 354
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
aload 5 /* e */
invokevirtual java.lang.RuntimeException.getMessage:()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 field: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: .line 355
aload 3 /* field */
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: .line 356
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3 /* field */
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: .line 357
aload 5 /* e */
12: .line 354
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 // java.lang.RuntimeException e
13: .line 358
StackMap locals:
StackMap stack: java.io.IOException
astore 5 /* e */
start local 5 // java.io.IOException e
14: .line 359
new com.caucho.hessian.io.IOExceptionWrapper
dup
new java.lang.StringBuilder
dup
aload 5 /* e */
invokevirtual java.io.IOException.getMessage:()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 field: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: .line 360
aload 3 /* field */
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: .line 361
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3 /* field */
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: .line 362
aload 5 /* e */
18: .line 359
invokespecial com.caucho.hessian.io.IOExceptionWrapper.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 // java.io.IOException e
19: .line 364
StackMap locals:
StackMap stack:
return
end local 4 // java.lang.Object value
end local 3 // java.lang.reflect.Field field
end local 2 // java.lang.Object obj
end local 1 // com.caucho.hessian.io.AbstractHessianOutput out
end local 0 // com.caucho.hessian.io.JavaSerializer$FieldSerializer this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/caucho/hessian/io/JavaSerializer$FieldSerializer;
0 20 1 out Lcom/caucho/hessian/io/AbstractHessianOutput;
0 20 2 obj Ljava/lang/Object;
0 20 3 field Ljava/lang/reflect/Field;
1 20 4 value Ljava/lang/Object;
4 5 5 e Ljava/lang/IllegalAccessException;
8 13 5 e Ljava/lang/RuntimeException;
14 19 5 e Ljava/io/IOException;
Exception table:
from to target type
1 2 3 Class java.lang.IllegalAccessException
5 6 7 Class java.lang.RuntimeException
5 6 13 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
obj
field
}
SourceFile: "JavaSerializer.java"
NestHost: com.caucho.hessian.io.JavaSerializer
InnerClasses:
FieldSerializer = com.caucho.hessian.io.JavaSerializer$FieldSerializer of com.caucho.hessian.io.JavaSerializer