public class com.sun.org.apache.xml.internal.security.c14n.implementations.UtfHelpper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.org.apache.xml.internal.security.c14n.implementations.UtfHelpper
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.org.apache.xml.internal.security.c14n.implementations.UtfHelpper this
0: .line 29
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.sun.org.apache.xml.internal.security.c14n.implementations.UtfHelpper this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/org/apache/xml/internal/security/c14n/implementations/UtfHelpper;
static final void writeByte(java.lang.String, java.io.OutputStream, java.util.Map<java.lang.String, byte[]>);
descriptor: (Ljava/lang/String;Ljava/io/OutputStream;Ljava/util/Map;)V
flags: (0x0018) ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=3
start local 0 // java.lang.String str
start local 1 // java.io.OutputStream out
start local 2 // java.util.Map cache
0: .line 36
aload 2 /* cache */
aload 0 /* str */
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 3 /* result */
start local 3 // byte[] result
1: .line 37
aload 3 /* result */
ifnonnull 4
2: .line 38
aload 0 /* str */
invokestatic com.sun.org.apache.xml.internal.security.c14n.implementations.UtfHelpper.getStringInUtf8:(Ljava/lang/String;)[B
astore 3 /* result */
3: .line 39
aload 2 /* cache */
aload 0 /* str */
aload 3 /* result */
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: .line 42
StackMap locals: byte[]
StackMap stack:
aload 1 /* out */
aload 3 /* result */
invokevirtual java.io.OutputStream.write:([B)V
5: .line 43
return
end local 3 // byte[] result
end local 2 // java.util.Map cache
end local 1 // java.io.OutputStream out
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 6 0 str Ljava/lang/String;
0 6 1 out Ljava/io/OutputStream;
0 6 2 cache Ljava/util/Map<Ljava/lang/String;[B>;
1 6 3 result [B
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;Ljava/io/OutputStream;Ljava/util/Map<Ljava/lang/String;[B>;)V
MethodParameters:
Name Flags
str final
out final
cache
static final void writeCharToUtf8(char, java.io.OutputStream);
descriptor: (CLjava/io/OutputStream;)V
flags: (0x0018) ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=2
start local 0 // char c
start local 1 // java.io.OutputStream out
0: .line 46
iload 0 /* c */
sipush 128
if_icmpge 3
1: .line 47
aload 1 /* out */
iload 0 /* c */
invokevirtual java.io.OutputStream.write:(I)V
2: .line 48
return
3: .line 50
StackMap locals:
StackMap stack:
iload 0 /* c */
ldc 55296
if_icmplt 4
iload 0 /* c */
ldc 56319
if_icmple 5
StackMap locals:
StackMap stack:
4: iload 0 /* c */
ldc 56320
if_icmplt 7
iload 0 /* c */
ldc 57343
if_icmpgt 7
5: .line 52
StackMap locals:
StackMap stack:
aload 1 /* out */
bipush 63
invokevirtual java.io.OutputStream.write:(I)V
6: .line 53
return
7: .line 58
StackMap locals:
StackMap stack:
iload 0 /* c */
sipush 2047
if_icmple 16
8: .line 59
iload 0 /* c */
bipush 12
iushr
i2c
istore 4 /* ch */
start local 4 // char ch
9: .line 60
sipush 224
istore 3 /* write */
start local 3 // int write
10: .line 61
iload 4 /* ch */
ifle 12
11: .line 62
iload 3 /* write */
iload 4 /* ch */
bipush 15
iand
ior
istore 3 /* write */
12: .line 64
StackMap locals: int java.io.OutputStream top int int
StackMap stack:
aload 1 /* out */
iload 3 /* write */
invokevirtual java.io.OutputStream.write:(I)V
13: .line 65
sipush 128
istore 3 /* write */
14: .line 66
bipush 63
istore 2 /* bias */
start local 2 // int bias
15: .line 67
goto 18
end local 4 // char ch
end local 3 // int write
end local 2 // int bias
16: .line 68
StackMap locals: int java.io.OutputStream
StackMap stack:
sipush 192
istore 3 /* write */
start local 3 // int write
17: .line 69
bipush 31
istore 2 /* bias */
start local 2 // int bias
18: .line 71
StackMap locals: int int
StackMap stack:
iload 0 /* c */
bipush 6
iushr
i2c
istore 4 /* ch */
start local 4 // char ch
19: .line 72
iload 4 /* ch */
ifle 21
20: .line 73
iload 3 /* write */
iload 4 /* ch */
iload 2 /* bias */
iand
ior
istore 3 /* write */
21: .line 75
StackMap locals: int
StackMap stack:
aload 1 /* out */
iload 3 /* write */
invokevirtual java.io.OutputStream.write:(I)V
22: .line 76
aload 1 /* out */
sipush 128
iload 0 /* c */
bipush 63
iand
ior
invokevirtual java.io.OutputStream.write:(I)V
23: .line 78
return
end local 4 // char ch
end local 3 // int write
end local 2 // int bias
end local 1 // java.io.OutputStream out
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 24 0 c C
0 24 1 out Ljava/io/OutputStream;
15 16 2 bias I
18 24 2 bias I
10 16 3 write I
17 24 3 write I
9 16 4 ch C
19 24 4 ch C
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
c final
out final
static final void writeStringToUtf8(java.lang.String, java.io.OutputStream);
descriptor: (Ljava/lang/String;Ljava/io/OutputStream;)V
flags: (0x0018) ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=8, args_size=2
start local 0 // java.lang.String str
start local 1 // java.io.OutputStream out
0: .line 84
aload 0 /* str */
invokevirtual java.lang.String.length:()I
istore 2 /* length */
start local 2 // int length
1: .line 85
iconst_0
istore 3 /* i */
start local 3 // int i
2: .line 87
goto 27
3: .line 88
StackMap locals: int int
StackMap stack:
aload 0 /* str */
iload 3 /* i */
iinc 3 /* i */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 4 /* c */
start local 4 // char c
4: .line 89
iload 4 /* c */
sipush 128
if_icmpge 7
5: .line 90
aload 1 /* out */
iload 4 /* c */
invokevirtual java.io.OutputStream.write:(I)V
6: .line 91
goto 27
7: .line 93
StackMap locals: int
StackMap stack:
iload 4 /* c */
ldc 55296
if_icmplt 8
iload 4 /* c */
ldc 56319
if_icmple 9
StackMap locals:
StackMap stack:
8: iload 4 /* c */
ldc 56320
if_icmplt 11
iload 4 /* c */
ldc 57343
if_icmpgt 11
9: .line 95
StackMap locals:
StackMap stack:
aload 1 /* out */
bipush 63
invokevirtual java.io.OutputStream.write:(I)V
10: .line 96
goto 27
11: .line 101
StackMap locals:
StackMap stack:
iload 4 /* c */
sipush 2047
if_icmple 20
12: .line 102
iload 4 /* c */
bipush 12
iushr
i2c
istore 5 /* ch */
start local 5 // char ch
13: .line 103
sipush 224
istore 7 /* write */
start local 7 // int write
14: .line 104
iload 5 /* ch */
ifle 16
15: .line 105
iload 7 /* write */
iload 5 /* ch */
bipush 15
iand
ior
istore 7 /* write */
16: .line 107
StackMap locals: java.lang.String java.io.OutputStream int int int int top int
StackMap stack:
aload 1 /* out */
iload 7 /* write */
invokevirtual java.io.OutputStream.write:(I)V
17: .line 108
sipush 128
istore 7 /* write */
18: .line 109
bipush 63
istore 6 /* bias */
start local 6 // int bias
19: .line 110
goto 22
end local 7 // int write
end local 6 // int bias
end local 5 // char ch
20: .line 111
StackMap locals: java.lang.String java.io.OutputStream int int int
StackMap stack:
sipush 192
istore 7 /* write */
start local 7 // int write
21: .line 112
bipush 31
istore 6 /* bias */
start local 6 // int bias
22: .line 114
StackMap locals: java.lang.String java.io.OutputStream int int int top int int
StackMap stack:
iload 4 /* c */
bipush 6
iushr
i2c
istore 5 /* ch */
start local 5 // char ch
23: .line 115
iload 5 /* ch */
ifle 25
24: .line 116
iload 7 /* write */
iload 5 /* ch */
iload 6 /* bias */
iand
ior
istore 7 /* write */
25: .line 118
StackMap locals: java.lang.String java.io.OutputStream int int int int int int
StackMap stack:
aload 1 /* out */
iload 7 /* write */
invokevirtual java.io.OutputStream.write:(I)V
26: .line 119
aload 1 /* out */
sipush 128
iload 4 /* c */
bipush 63
iand
ior
invokevirtual java.io.OutputStream.write:(I)V
end local 7 // int write
end local 6 // int bias
end local 5 // char ch
end local 4 // char c
27: .line 87
StackMap locals: java.lang.String java.io.OutputStream int int
StackMap stack:
iload 3 /* i */
iload 2 /* length */
if_icmplt 3
28: .line 123
return
end local 3 // int i
end local 2 // int length
end local 1 // java.io.OutputStream out
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 29 0 str Ljava/lang/String;
0 29 1 out Ljava/io/OutputStream;
1 29 2 length I
2 29 3 i I
4 27 4 c C
13 20 5 ch C
23 27 5 ch C
19 20 6 bias I
22 27 6 bias I
14 20 7 write I
21 27 7 write I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
str final
out final
public static final byte[] getStringInUtf8(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=10, args_size=1
start local 0 // java.lang.String str
0: .line 126
aload 0 /* str */
invokevirtual java.lang.String.length:()I
istore 1 /* length */
start local 1 // int length
1: .line 127
iconst_0
istore 2 /* expanded */
start local 2 // boolean expanded
2: .line 128
iload 1 /* length */
newarray 8
astore 3 /* result */
start local 3 // byte[] result
3: .line 129
iconst_0
istore 4 /* i */
start local 4 // int i
4: .line 130
iconst_0
istore 5 /* out */
start local 5 // int out
5: .line 132
goto 35
6: .line 133
StackMap locals: java.lang.String int int byte[] int int
StackMap stack:
aload 0 /* str */
iload 4 /* i */
iinc 4 /* i */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 6 /* c */
start local 6 // char c
7: .line 134
iload 6 /* c */
sipush 128
if_icmpge 10
8: .line 135
aload 3 /* result */
iload 5 /* out */
iinc 5 /* out */ 1
iload 6 /* c */
i2b
bastore
9: .line 136
goto 35
10: .line 138
StackMap locals: int
StackMap stack:
iload 6 /* c */
ldc 55296
if_icmplt 11
iload 6 /* c */
ldc 56319
if_icmple 12
StackMap locals:
StackMap stack:
11: iload 6 /* c */
ldc 56320
if_icmplt 14
iload 6 /* c */
ldc 57343
if_icmpgt 14
12: .line 140
StackMap locals:
StackMap stack:
aload 3 /* result */
iload 5 /* out */
iinc 5 /* out */ 1
bipush 63
bastore
13: .line 141
goto 35
14: .line 143
StackMap locals:
StackMap stack:
iload 2 /* expanded */
ifne 19
15: .line 144
iconst_3
iload 1 /* length */
imul
newarray 8
astore 7 /* newResult */
start local 7 // byte[] newResult
16: .line 145
aload 3 /* result */
iconst_0
aload 7 /* newResult */
iconst_0
iload 5 /* out */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: .line 146
aload 7 /* newResult */
astore 3 /* result */
18: .line 147
iconst_1
istore 2 /* expanded */
end local 7 // byte[] newResult
19: .line 152
StackMap locals:
StackMap stack:
iload 6 /* c */
sipush 2047
if_icmple 28
20: .line 153
iload 6 /* c */
bipush 12
iushr
i2c
istore 7 /* ch */
start local 7 // char ch
21: .line 154
bipush -32
istore 9 /* write */
start local 9 // byte write
22: .line 155
iload 7 /* ch */
ifle 24
23: .line 156
iload 9 /* write */
iload 7 /* ch */
bipush 15
iand
ior
i2b
istore 9 /* write */
24: .line 158
StackMap locals: java.lang.String int int byte[] int int int int top int
StackMap stack:
aload 3 /* result */
iload 5 /* out */
iinc 5 /* out */ 1
iload 9 /* write */
bastore
25: .line 159
bipush -128
istore 9 /* write */
26: .line 160
bipush 63
istore 8 /* bias */
start local 8 // int bias
27: .line 161
goto 30
end local 9 // byte write
end local 8 // int bias
end local 7 // char ch
28: .line 162
StackMap locals: java.lang.String int int byte[] int int int
StackMap stack:
bipush -64
istore 9 /* write */
start local 9 // byte write
29: .line 163
bipush 31
istore 8 /* bias */
start local 8 // int bias
30: .line 165
StackMap locals: java.lang.String int int byte[] int int int top int int
StackMap stack:
iload 6 /* c */
bipush 6
iushr
i2c
istore 7 /* ch */
start local 7 // char ch
31: .line 166
iload 7 /* ch */
ifle 33
32: .line 167
iload 9 /* write */
iload 7 /* ch */
iload 8 /* bias */
iand
ior
i2b
istore 9 /* write */
33: .line 169
StackMap locals: java.lang.String int int byte[] int int int int int int
StackMap stack:
aload 3 /* result */
iload 5 /* out */
iinc 5 /* out */ 1
iload 9 /* write */
bastore
34: .line 170
aload 3 /* result */
iload 5 /* out */
iinc 5 /* out */ 1
sipush 128
iload 6 /* c */
bipush 63
iand
ior
i2b
bastore
end local 9 // byte write
end local 8 // int bias
end local 7 // char ch
end local 6 // char c
35: .line 132
StackMap locals: java.lang.String int int byte[] int int
StackMap stack:
iload 4 /* i */
iload 1 /* length */
if_icmplt 6
36: .line 172
iload 2 /* expanded */
ifeq 40
37: .line 173
iload 5 /* out */
newarray 8
astore 7 /* newResult */
start local 7 // byte[] newResult
38: .line 174
aload 3 /* result */
iconst_0
aload 7 /* newResult */
iconst_0
iload 5 /* out */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
39: .line 175
aload 7 /* newResult */
astore 3 /* result */
end local 7 // byte[] newResult
40: .line 177
StackMap locals:
StackMap stack:
aload 3 /* result */
areturn
end local 5 // int out
end local 4 // int i
end local 3 // byte[] result
end local 2 // boolean expanded
end local 1 // int length
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 41 0 str Ljava/lang/String;
1 41 1 length I
2 41 2 expanded Z
3 41 3 result [B
4 41 4 i I
5 41 5 out I
7 35 6 c C
16 19 7 newResult [B
21 28 7 ch C
31 35 7 ch C
27 28 8 bias I
30 35 8 bias I
22 28 9 write B
29 35 9 write B
38 40 7 newResult [B
MethodParameters:
Name Flags
str final
}
SourceFile: "UtfHelpper.java"