class com.caucho.hessian.io.HessianDebugState$StringState extends com.caucho.hessian.io.HessianDebugState$State
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.caucho.hessian.io.HessianDebugState$StringState
super_class: com.caucho.hessian.io.HessianDebugState$State
{
private static final int TOP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int UTF_2_1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int UTF_3_1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int UTF_3_2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
char _typeCode;
descriptor: C
flags: (0x0000)
java.lang.StringBuilder _value;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0000)
int _lengthIndex;
descriptor: I
flags: (0x0000)
int _length;
descriptor: I
flags: (0x0000)
boolean _isLastChunk;
descriptor: Z
flags: (0x0000)
int _utfState;
descriptor: I
flags: (0x0000)
char _ch;
descriptor: C
flags: (0x0000)
final com.caucho.hessian.io.HessianDebugState this$0;
descriptor: Lcom/caucho/hessian/io/HessianDebugState;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.caucho.hessian.io.HessianDebugState, com.caucho.hessian.io.HessianDebugState$State, char, boolean);
descriptor: (Lcom/caucho/hessian/io/HessianDebugState;Lcom/caucho/hessian/io/HessianDebugState$State;CZ)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.caucho.hessian.io.HessianDebugState$StringState.this$0:Lcom/caucho/hessian/io/HessianDebugState;
1: aload 0
aload 1
aload 2
invokespecial com.caucho.hessian.io.HessianDebugState$State.<init>:(Lcom/caucho/hessian/io/HessianDebugState;Lcom/caucho/hessian/io/HessianDebugState$State;)V
2: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
putfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
3: aload 0
iload 3
putfield com.caucho.hessian.io.HessianDebugState$StringState._typeCode:C
4: aload 0
iload 4
putfield com.caucho.hessian.io.HessianDebugState$StringState._isLastChunk:Z
5: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/caucho/hessian/io/HessianDebugState$StringState;
0 6 2 next Lcom/caucho/hessian/io/HessianDebugState$State;
0 6 3 typeCode C
0 6 4 isLastChunk Z
MethodParameters:
Name Flags
this$0 final
next
typeCode
isLastChunk
void <init>(com.caucho.hessian.io.HessianDebugState, com.caucho.hessian.io.HessianDebugState$State, char, int);
descriptor: (Lcom/caucho/hessian/io/HessianDebugState;Lcom/caucho/hessian/io/HessianDebugState$State;CI)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.caucho.hessian.io.HessianDebugState$StringState.this$0:Lcom/caucho/hessian/io/HessianDebugState;
1: aload 0
aload 1
aload 2
invokespecial com.caucho.hessian.io.HessianDebugState$State.<init>:(Lcom/caucho/hessian/io/HessianDebugState;Lcom/caucho/hessian/io/HessianDebugState$State;)V
2: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
putfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
3: aload 0
iload 3
putfield com.caucho.hessian.io.HessianDebugState$StringState._typeCode:C
4: aload 0
iconst_1
putfield com.caucho.hessian.io.HessianDebugState$StringState._isLastChunk:Z
5: aload 0
iload 4
putfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
6: aload 0
iconst_2
putfield com.caucho.hessian.io.HessianDebugState$StringState._lengthIndex:I
7: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/caucho/hessian/io/HessianDebugState$StringState;
0 8 2 next Lcom/caucho/hessian/io/HessianDebugState$State;
0 8 3 typeCode C
0 8 4 length I
MethodParameters:
Name Flags
this$0 final
next
typeCode
length
void <init>(com.caucho.hessian.io.HessianDebugState, com.caucho.hessian.io.HessianDebugState$State, char, int, boolean);
descriptor: (Lcom/caucho/hessian/io/HessianDebugState;Lcom/caucho/hessian/io/HessianDebugState$State;CIZ)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=6
start local 0 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield com.caucho.hessian.io.HessianDebugState$StringState.this$0:Lcom/caucho/hessian/io/HessianDebugState;
1: aload 0
aload 1
aload 2
invokespecial com.caucho.hessian.io.HessianDebugState$State.<init>:(Lcom/caucho/hessian/io/HessianDebugState;Lcom/caucho/hessian/io/HessianDebugState$State;)V
2: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
putfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
3: aload 0
iload 3
putfield com.caucho.hessian.io.HessianDebugState$StringState._typeCode:C
4: aload 0
iload 5
putfield com.caucho.hessian.io.HessianDebugState$StringState._isLastChunk:Z
5: aload 0
iload 4
putfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
6: aload 0
iconst_1
putfield com.caucho.hessian.io.HessianDebugState$StringState._lengthIndex:I
7: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/caucho/hessian/io/HessianDebugState$StringState;
0 8 2 next Lcom/caucho/hessian/io/HessianDebugState$State;
0 8 3 typeCode C
0 8 4 length I
0 8 5 isLastChunk Z
MethodParameters:
Name Flags
this$0 final
next
typeCode
length
isLastChunk
com.caucho.hessian.io.HessianDebugState$State next(int);
descriptor: (I)Lcom/caucho/hessian/io/HessianDebugState$State;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._lengthIndex:I
iconst_2
if_icmpge 8
1: aload 0
sipush 256
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
imul
iload 1
sipush 255
iand
iadd
putfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
2: aload 0
dup
getfield com.caucho.hessian.io.HessianDebugState$StringState._lengthIndex:I
iconst_1
iadd
dup_x1
putfield com.caucho.hessian.io.HessianDebugState$StringState._lengthIndex:I
iconst_2
if_icmpne 7
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
ifne 7
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._isLastChunk:Z
ifeq 7
3: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._next:Lcom/caucho/hessian/io/HessianDebugState$State;
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.caucho.hessian.io.HessianDebugState$State.isShift:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._next:Lcom/caucho/hessian/io/HessianDebugState$State;
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.caucho.hessian.io.HessianDebugState$State.shift:(Ljava/lang/Object;)Lcom/caucho/hessian/io/HessianDebugState$State;
areturn
5: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.caucho.hessian.io.HessianDebugState$StringState.printObject:(Ljava/lang/String;)V
6: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._next:Lcom/caucho/hessian/io/HessianDebugState$State;
areturn
7: StackMap locals:
StackMap stack:
aload 0
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
ifne 34
9: iload 1
bipush 115
if_icmpeq 10
iload 1
bipush 120
if_icmpne 13
10: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.caucho.hessian.io.HessianDebugState$StringState._isLastChunk:Z
11: aload 0
iconst_0
putfield com.caucho.hessian.io.HessianDebugState$StringState._lengthIndex:I
12: aload 0
areturn
13: StackMap locals:
StackMap stack:
iload 1
bipush 83
if_icmpeq 14
iload 1
bipush 88
if_icmpne 17
14: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.caucho.hessian.io.HessianDebugState$StringState._isLastChunk:Z
15: aload 0
iconst_0
putfield com.caucho.hessian.io.HessianDebugState$StringState._lengthIndex:I
16: aload 0
areturn
17: StackMap locals:
StackMap stack:
iload 1
ifne 22
18: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._next:Lcom/caucho/hessian/io/HessianDebugState$State;
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.caucho.hessian.io.HessianDebugState$State.isShift:(Ljava/lang/Object;)Z
ifeq 20
19: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._next:Lcom/caucho/hessian/io/HessianDebugState$State;
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.caucho.hessian.io.HessianDebugState$State.shift:(Ljava/lang/Object;)Lcom/caucho/hessian/io/HessianDebugState$State;
areturn
20: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.caucho.hessian.io.HessianDebugState$StringState.printObject:(Ljava/lang/String;)V
21: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._next:Lcom/caucho/hessian/io/HessianDebugState$State;
areturn
22: StackMap locals:
StackMap stack:
iload 1
iflt 27
iload 1
bipush 32
if_icmpge 27
23: aload 0
iconst_1
putfield com.caucho.hessian.io.HessianDebugState$StringState._isLastChunk:Z
24: aload 0
iconst_2
putfield com.caucho.hessian.io.HessianDebugState$StringState._lengthIndex:I
25: aload 0
iload 1
sipush 255
iand
putfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
26: aload 0
areturn
27: StackMap locals:
StackMap stack:
bipush 48
iload 1
if_icmpgt 32
iload 1
bipush 52
if_icmpge 32
28: aload 0
iconst_1
putfield com.caucho.hessian.io.HessianDebugState$StringState._isLastChunk:Z
29: aload 0
iconst_1
putfield com.caucho.hessian.io.HessianDebugState$StringState._lengthIndex:I
30: aload 0
iload 1
bipush 48
isub
putfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
31: aload 0
areturn
32: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
i2c
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": unexpected character"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.caucho.hessian.io.HessianDebugState$StringState.println:(Ljava/lang/String;)V
33: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._next:Lcom/caucho/hessian/io/HessianDebugState$State;
areturn
34: StackMap locals:
StackMap stack:
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._utfState:I
tableswitch { // 0 - 3
0: 35
1: 46
2: 51
3: 46
default: 53
}
35: StackMap locals:
StackMap stack:
iload 1
sipush 128
if_icmpge 39
36: aload 0
dup
getfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
iconst_1
isub
putfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
37: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
iload 1
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
38: goto 53
39: StackMap locals:
StackMap stack:
iload 1
sipush 224
if_icmpge 43
40: aload 0
iload 1
bipush 31
iand
bipush 6
ishl
i2c
putfield com.caucho.hessian.io.HessianDebugState$StringState._ch:C
41: aload 0
iconst_1
putfield com.caucho.hessian.io.HessianDebugState$StringState._utfState:I
42: goto 53
43: StackMap locals:
StackMap stack:
aload 0
iload 1
bipush 15
iand
bipush 12
ishl
i2c
putfield com.caucho.hessian.io.HessianDebugState$StringState._ch:C
44: aload 0
iconst_2
putfield com.caucho.hessian.io.HessianDebugState$StringState._utfState:I
45: goto 53
46: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.caucho.hessian.io.HessianDebugState$StringState._ch:C
iload 1
bipush 63
iand
iadd
i2c
putfield com.caucho.hessian.io.HessianDebugState$StringState._ch:C
47: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._ch:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
48: aload 0
dup
getfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
iconst_1
isub
putfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
49: aload 0
iconst_0
putfield com.caucho.hessian.io.HessianDebugState$StringState._utfState:I
50: goto 53
51: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.caucho.hessian.io.HessianDebugState$StringState._ch:C
iload 1
bipush 63
iand
bipush 6
ishl
i2c
iadd
i2c
putfield com.caucho.hessian.io.HessianDebugState$StringState._ch:C
52: aload 0
iconst_3
putfield com.caucho.hessian.io.HessianDebugState$StringState._utfState:I
53: StackMap locals:
StackMap stack:
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._length:I
ifne 58
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._isLastChunk:Z
ifeq 58
54: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._next:Lcom/caucho/hessian/io/HessianDebugState$State;
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.caucho.hessian.io.HessianDebugState$State.isShift:(Ljava/lang/Object;)Z
ifeq 56
55: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._next:Lcom/caucho/hessian/io/HessianDebugState$State;
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.caucho.hessian.io.HessianDebugState$State.shift:(Ljava/lang/Object;)Lcom/caucho/hessian/io/HessianDebugState$State;
areturn
56: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._value:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.caucho.hessian.io.HessianDebugState$StringState.printObject:(Ljava/lang/String;)V
57: aload 0
getfield com.caucho.hessian.io.HessianDebugState$StringState._next:Lcom/caucho/hessian/io/HessianDebugState$State;
areturn
58: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 this Lcom/caucho/hessian/io/HessianDebugState$StringState;
0 59 1 ch I
MethodParameters:
Name Flags
ch
}
SourceFile: "HessianDebugState.java"
NestHost: com.caucho.hessian.io.HessianDebugState
InnerClasses:
abstract State = com.caucho.hessian.io.HessianDebugState$State of com.caucho.hessian.io.HessianDebugState
StringState = com.caucho.hessian.io.HessianDebugState$StringState of com.caucho.hessian.io.HessianDebugState