public final class com.sun.xml.internal.messaging.saaj.util.Base64
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.xml.internal.messaging.saaj.util.Base64
super_class: java.lang.Object
{
private static final int BASELENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 255
private static final int LOOKUPLENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 63
private static final int TWENTYFOURBITGROUP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 24
private static final int EIGHTBIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int SIXTEENBIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int FOURBYTE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final byte PAD;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 61
private static byte[] base64Alphabet;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] lookUpBase64Alphabet;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static final int[] base64;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: .line 53
sipush 255
newarray 8
putstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
1: .line 54
bipush 63
newarray 8
putstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
2: .line 58
iconst_0
istore 0 /* i */
start local 0 // int i
3: goto 6
4: .line 59
StackMap locals: int
StackMap stack:
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
iload 0 /* i */
iconst_m1
bastore
5: .line 58
iinc 0 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 0 /* i */
sipush 255
if_icmplt 4
end local 0 // int i
7: .line 61
bipush 90
istore 0 /* i */
start local 0 // int i
8: goto 11
9: .line 62
StackMap locals:
StackMap stack:
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 65
isub
i2b
bastore
10: .line 61
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
11: iload 0 /* i */
bipush 65
if_icmpge 9
end local 0 // int i
12: .line 64
bipush 122
istore 0 /* i */
start local 0 // int i
13: goto 16
14: .line 65
StackMap locals:
StackMap stack:
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 97
isub
bipush 26
iadd
i2b
bastore
15: .line 64
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
16: iload 0 /* i */
bipush 97
if_icmpge 14
end local 0 // int i
17: .line 68
bipush 57
istore 0 /* i */
start local 0 // int i
18: goto 21
19: .line 69
StackMap locals:
StackMap stack:
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 48
isub
bipush 52
iadd
i2b
bastore
20: .line 68
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
21: iload 0 /* i */
bipush 48
if_icmpge 19
end local 0 // int i
22: .line 72
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
bipush 43
bipush 62
bastore
23: .line 73
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
bipush 47
bipush 63
bastore
24: .line 75
iconst_0
istore 0 /* i */
start local 0 // int i
25: goto 28
26: .line 76
StackMap locals:
StackMap stack:
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 65
iload 0 /* i */
iadd
i2b
bastore
27: .line 75
iinc 0 /* i */ 1
StackMap locals:
StackMap stack:
28: iload 0 /* i */
bipush 25
if_icmple 26
end local 0 // int i
29: .line 78
bipush 26
istore 0 /* i */
start local 0 // int i
30: iconst_0
istore 1 /* j */
start local 1 // int j
31: goto 34
32: .line 79
StackMap locals: int
StackMap stack:
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 97
iload 1 /* j */
iadd
i2b
bastore
33: .line 78
iinc 0 /* i */ 1
iinc 1 /* j */ 1
StackMap locals:
StackMap stack:
34: iload 0 /* i */
bipush 51
if_icmple 32
end local 1 // int j
end local 0 // int i
35: .line 81
bipush 52
istore 0 /* i */
start local 0 // int i
36: iconst_0
istore 1 /* j */
start local 1 // int j
37: goto 40
38: .line 82
StackMap locals:
StackMap stack:
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 48
iload 1 /* j */
iadd
i2b
bastore
39: .line 81
iinc 0 /* i */ 1
iinc 1 /* j */ 1
StackMap locals:
StackMap stack:
40: iload 0 /* i */
bipush 61
if_icmple 38
end local 1 // int j
end local 0 // int i
41: .line 224
sipush 256
newarray 10
dup
iconst_0
42: .line 225
bipush 64
iastore
dup
iconst_1
bipush 64
iastore
dup
iconst_2
bipush 64
iastore
dup
iconst_3
bipush 64
iastore
dup
iconst_4
bipush 64
iastore
dup
iconst_5
bipush 64
iastore
dup
bipush 6
bipush 64
iastore
dup
bipush 7
bipush 64
iastore
dup
bipush 8
bipush 64
iastore
dup
bipush 9
bipush 64
iastore
dup
bipush 10
bipush 64
iastore
dup
bipush 11
bipush 64
iastore
dup
bipush 12
bipush 64
iastore
dup
bipush 13
bipush 64
iastore
dup
bipush 14
bipush 64
iastore
dup
bipush 15
bipush 64
iastore
dup
bipush 16
43: .line 226
bipush 64
iastore
dup
bipush 17
bipush 64
iastore
dup
bipush 18
bipush 64
iastore
dup
bipush 19
bipush 64
iastore
dup
bipush 20
bipush 64
iastore
dup
bipush 21
bipush 64
iastore
dup
bipush 22
bipush 64
iastore
dup
bipush 23
bipush 64
iastore
dup
bipush 24
bipush 64
iastore
dup
bipush 25
bipush 64
iastore
dup
bipush 26
bipush 64
iastore
dup
bipush 27
bipush 64
iastore
dup
bipush 28
bipush 64
iastore
dup
bipush 29
bipush 64
iastore
dup
bipush 30
bipush 64
iastore
dup
bipush 31
bipush 64
iastore
dup
bipush 32
44: .line 227
bipush 64
iastore
dup
bipush 33
bipush 64
iastore
dup
bipush 34
bipush 64
iastore
dup
bipush 35
bipush 64
iastore
dup
bipush 36
bipush 64
iastore
dup
bipush 37
bipush 64
iastore
dup
bipush 38
bipush 64
iastore
dup
bipush 39
bipush 64
iastore
dup
bipush 40
bipush 64
iastore
dup
bipush 41
bipush 64
iastore
dup
bipush 42
bipush 64
iastore
dup
bipush 43
bipush 62
iastore
dup
bipush 44
bipush 64
iastore
dup
bipush 45
bipush 64
iastore
dup
bipush 46
bipush 64
iastore
dup
bipush 47
bipush 63
iastore
dup
bipush 48
45: .line 228
bipush 52
iastore
dup
bipush 49
bipush 53
iastore
dup
bipush 50
bipush 54
iastore
dup
bipush 51
bipush 55
iastore
dup
bipush 52
bipush 56
iastore
dup
bipush 53
bipush 57
iastore
dup
bipush 54
bipush 58
iastore
dup
bipush 55
bipush 59
iastore
dup
bipush 56
bipush 60
iastore
dup
bipush 57
bipush 61
iastore
dup
bipush 58
bipush 64
iastore
dup
bipush 59
bipush 64
iastore
dup
bipush 60
bipush 64
iastore
dup
bipush 61
bipush 64
iastore
dup
bipush 62
bipush 64
iastore
dup
bipush 63
bipush 64
iastore
dup
bipush 64
46: .line 229
bipush 64
iastore
dup
bipush 66
iconst_1
iastore
dup
bipush 67
iconst_2
iastore
dup
bipush 68
iconst_3
iastore
dup
bipush 69
iconst_4
iastore
dup
bipush 70
iconst_5
iastore
dup
bipush 71
bipush 6
iastore
dup
bipush 72
bipush 7
iastore
dup
bipush 73
bipush 8
iastore
dup
bipush 74
bipush 9
iastore
dup
bipush 75
bipush 10
iastore
dup
bipush 76
bipush 11
iastore
dup
bipush 77
bipush 12
iastore
dup
bipush 78
bipush 13
iastore
dup
bipush 79
bipush 14
iastore
dup
bipush 80
47: .line 230
bipush 15
iastore
dup
bipush 81
bipush 16
iastore
dup
bipush 82
bipush 17
iastore
dup
bipush 83
bipush 18
iastore
dup
bipush 84
bipush 19
iastore
dup
bipush 85
bipush 20
iastore
dup
bipush 86
bipush 21
iastore
dup
bipush 87
bipush 22
iastore
dup
bipush 88
bipush 23
iastore
dup
bipush 89
bipush 24
iastore
dup
bipush 90
bipush 25
iastore
dup
bipush 91
bipush 64
iastore
dup
bipush 92
bipush 64
iastore
dup
bipush 93
bipush 64
iastore
dup
bipush 94
bipush 64
iastore
dup
bipush 95
bipush 64
iastore
dup
bipush 96
48: .line 231
bipush 64
iastore
dup
bipush 97
bipush 26
iastore
dup
bipush 98
bipush 27
iastore
dup
bipush 99
bipush 28
iastore
dup
bipush 100
bipush 29
iastore
dup
bipush 101
bipush 30
iastore
dup
bipush 102
bipush 31
iastore
dup
bipush 103
bipush 32
iastore
dup
bipush 104
bipush 33
iastore
dup
bipush 105
bipush 34
iastore
dup
bipush 106
bipush 35
iastore
dup
bipush 107
bipush 36
iastore
dup
bipush 108
bipush 37
iastore
dup
bipush 109
bipush 38
iastore
dup
bipush 110
bipush 39
iastore
dup
bipush 111
bipush 40
iastore
dup
bipush 112
49: .line 232
bipush 41
iastore
dup
bipush 113
bipush 42
iastore
dup
bipush 114
bipush 43
iastore
dup
bipush 115
bipush 44
iastore
dup
bipush 116
bipush 45
iastore
dup
bipush 117
bipush 46
iastore
dup
bipush 118
bipush 47
iastore
dup
bipush 119
bipush 48
iastore
dup
bipush 120
bipush 49
iastore
dup
bipush 121
bipush 50
iastore
dup
bipush 122
bipush 51
iastore
dup
bipush 123
bipush 64
iastore
dup
bipush 124
bipush 64
iastore
dup
bipush 125
bipush 64
iastore
dup
bipush 126
bipush 64
iastore
dup
bipush 127
bipush 64
iastore
dup
sipush 128
50: .line 233
bipush 64
iastore
dup
sipush 129
bipush 64
iastore
dup
sipush 130
bipush 64
iastore
dup
sipush 131
bipush 64
iastore
dup
sipush 132
bipush 64
iastore
dup
sipush 133
bipush 64
iastore
dup
sipush 134
bipush 64
iastore
dup
sipush 135
bipush 64
iastore
dup
sipush 136
bipush 64
iastore
dup
sipush 137
bipush 64
iastore
dup
sipush 138
bipush 64
iastore
dup
sipush 139
bipush 64
iastore
dup
sipush 140
bipush 64
iastore
dup
sipush 141
bipush 64
iastore
dup
sipush 142
bipush 64
iastore
dup
sipush 143
bipush 64
iastore
dup
sipush 144
51: .line 234
bipush 64
iastore
dup
sipush 145
bipush 64
iastore
dup
sipush 146
bipush 64
iastore
dup
sipush 147
bipush 64
iastore
dup
sipush 148
bipush 64
iastore
dup
sipush 149
bipush 64
iastore
dup
sipush 150
bipush 64
iastore
dup
sipush 151
bipush 64
iastore
dup
sipush 152
bipush 64
iastore
dup
sipush 153
bipush 64
iastore
dup
sipush 154
bipush 64
iastore
dup
sipush 155
bipush 64
iastore
dup
sipush 156
bipush 64
iastore
dup
sipush 157
bipush 64
iastore
dup
sipush 158
bipush 64
iastore
dup
sipush 159
bipush 64
iastore
dup
sipush 160
52: .line 235
bipush 64
iastore
dup
sipush 161
bipush 64
iastore
dup
sipush 162
bipush 64
iastore
dup
sipush 163
bipush 64
iastore
dup
sipush 164
bipush 64
iastore
dup
sipush 165
bipush 64
iastore
dup
sipush 166
bipush 64
iastore
dup
sipush 167
bipush 64
iastore
dup
sipush 168
bipush 64
iastore
dup
sipush 169
bipush 64
iastore
dup
sipush 170
bipush 64
iastore
dup
sipush 171
bipush 64
iastore
dup
sipush 172
bipush 64
iastore
dup
sipush 173
bipush 64
iastore
dup
sipush 174
bipush 64
iastore
dup
sipush 175
bipush 64
iastore
dup
sipush 176
53: .line 236
bipush 64
iastore
dup
sipush 177
bipush 64
iastore
dup
sipush 178
bipush 64
iastore
dup
sipush 179
bipush 64
iastore
dup
sipush 180
bipush 64
iastore
dup
sipush 181
bipush 64
iastore
dup
sipush 182
bipush 64
iastore
dup
sipush 183
bipush 64
iastore
dup
sipush 184
bipush 64
iastore
dup
sipush 185
bipush 64
iastore
dup
sipush 186
bipush 64
iastore
dup
sipush 187
bipush 64
iastore
dup
sipush 188
bipush 64
iastore
dup
sipush 189
bipush 64
iastore
dup
sipush 190
bipush 64
iastore
dup
sipush 191
bipush 64
iastore
dup
sipush 192
54: .line 237
bipush 64
iastore
dup
sipush 193
bipush 64
iastore
dup
sipush 194
bipush 64
iastore
dup
sipush 195
bipush 64
iastore
dup
sipush 196
bipush 64
iastore
dup
sipush 197
bipush 64
iastore
dup
sipush 198
bipush 64
iastore
dup
sipush 199
bipush 64
iastore
dup
sipush 200
bipush 64
iastore
dup
sipush 201
bipush 64
iastore
dup
sipush 202
bipush 64
iastore
dup
sipush 203
bipush 64
iastore
dup
sipush 204
bipush 64
iastore
dup
sipush 205
bipush 64
iastore
dup
sipush 206
bipush 64
iastore
dup
sipush 207
bipush 64
iastore
dup
sipush 208
55: .line 238
bipush 64
iastore
dup
sipush 209
bipush 64
iastore
dup
sipush 210
bipush 64
iastore
dup
sipush 211
bipush 64
iastore
dup
sipush 212
bipush 64
iastore
dup
sipush 213
bipush 64
iastore
dup
sipush 214
bipush 64
iastore
dup
sipush 215
bipush 64
iastore
dup
sipush 216
bipush 64
iastore
dup
sipush 217
bipush 64
iastore
dup
sipush 218
bipush 64
iastore
dup
sipush 219
bipush 64
iastore
dup
sipush 220
bipush 64
iastore
dup
sipush 221
bipush 64
iastore
dup
sipush 222
bipush 64
iastore
dup
sipush 223
bipush 64
iastore
dup
sipush 224
56: .line 239
bipush 64
iastore
dup
sipush 225
bipush 64
iastore
dup
sipush 226
bipush 64
iastore
dup
sipush 227
bipush 64
iastore
dup
sipush 228
bipush 64
iastore
dup
sipush 229
bipush 64
iastore
dup
sipush 230
bipush 64
iastore
dup
sipush 231
bipush 64
iastore
dup
sipush 232
bipush 64
iastore
dup
sipush 233
bipush 64
iastore
dup
sipush 234
bipush 64
iastore
dup
sipush 235
bipush 64
iastore
dup
sipush 236
bipush 64
iastore
dup
sipush 237
bipush 64
iastore
dup
sipush 238
bipush 64
iastore
dup
sipush 239
bipush 64
iastore
dup
sipush 240
57: .line 240
bipush 64
iastore
dup
sipush 241
bipush 64
iastore
dup
sipush 242
bipush 64
iastore
dup
sipush 243
bipush 64
iastore
dup
sipush 244
bipush 64
iastore
dup
sipush 245
bipush 64
iastore
dup
sipush 246
bipush 64
iastore
dup
sipush 247
bipush 64
iastore
dup
sipush 248
bipush 64
iastore
dup
sipush 249
bipush 64
iastore
dup
sipush 250
bipush 64
iastore
dup
sipush 251
bipush 64
iastore
dup
sipush 252
bipush 64
iastore
dup
sipush 253
bipush 64
iastore
dup
sipush 254
bipush 64
iastore
dup
sipush 255
bipush 64
iastore
58: .line 224
putstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64:[I
59: .line 241
return
LocalVariableTable:
Start End Slot Name Signature
3 7 0 i I
8 12 0 i I
13 17 0 i I
18 22 0 i I
25 29 0 i I
30 35 0 i I
31 35 1 j I
36 41 0 i I
37 41 1 j I
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.xml.internal.messaging.saaj.util.Base64 this
0: .line 41
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.sun.xml.internal.messaging.saaj.util.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/xml/internal/messaging/saaj/util/Base64;
static boolean isBase64(byte);
descriptor: (B)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte octect
0: .line 89
iload 0 /* octect */
bipush 61
if_icmpeq 1
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
iload 0 /* octect */
baload
iconst_m1
if_icmpne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 // byte octect
LocalVariableTable:
Start End Slot Name Signature
0 2 0 octect B
MethodParameters:
Name Flags
octect
static boolean isArrayByteBase64(byte[]);
descriptor: ([B)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 // byte[] arrayOctect
0: .line 94
aload 0 /* arrayOctect */
arraylength
istore 1 /* length */
start local 1 // int length
1: .line 95
iload 1 /* length */
ifne 3
2: .line 96
iconst_0
ireturn
3: .line 97
StackMap locals: int
StackMap stack:
iconst_0
istore 2 /* i */
start local 2 // int i
4: goto 8
5: .line 98
StackMap locals: int
StackMap stack:
aload 0 /* arrayOctect */
iload 2 /* i */
baload
invokestatic com.sun.xml.internal.messaging.saaj.util.Base64.isBase64:(B)Z
ifne 7
6: .line 99
iconst_0
ireturn
7: .line 97
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 2 /* i */
iload 1 /* length */
if_icmplt 5
end local 2 // int i
9: .line 101
iconst_1
ireturn
end local 1 // int length
end local 0 // byte[] arrayOctect
LocalVariableTable:
Start End Slot Name Signature
0 10 0 arrayOctect [B
1 10 1 length I
4 9 2 i I
MethodParameters:
Name Flags
arrayOctect
public static byte[] encode(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=13, args_size=1
start local 0 // byte[] binaryData
0: .line 111
aload 0 /* binaryData */
arraylength
bipush 8
imul
istore 1 /* lengthDataBits */
start local 1 // int lengthDataBits
1: .line 112
iload 1 /* lengthDataBits */
bipush 24
irem
istore 2 /* fewerThan24bits */
start local 2 // int fewerThan24bits
2: .line 113
iload 1 /* lengthDataBits */
bipush 24
idiv
istore 3 /* numberTriplets */
start local 3 // int numberTriplets
3: .line 114
aconst_null
astore 4 /* encodedData */
start local 4 // byte[] encodedData
4: .line 117
iload 2 /* fewerThan24bits */
ifeq 6
5: .line 118
iload 3 /* numberTriplets */
iconst_1
iadd
iconst_4
imul
newarray 8
astore 4 /* encodedData */
goto 7
6: .line 120
StackMap locals: byte[] int int int byte[]
StackMap stack:
iload 3 /* numberTriplets */
iconst_4
imul
newarray 8
astore 4 /* encodedData */
7: .line 122
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* k */
start local 5 // byte k
8: iconst_0
istore 6 /* l */
start local 6 // byte l
9: iconst_0
istore 7 /* b1 */
start local 7 // byte b1
10: iconst_0
istore 8 /* b2 */
start local 8 // byte b2
11: iconst_0
istore 9 /* b3 */
start local 9 // byte b3
12: .line 124
iconst_0
istore 10 /* encodedIndex */
start local 10 // int encodedIndex
13: .line 125
iconst_0
istore 11 /* dataIndex */
start local 11 // int dataIndex
14: .line 126
iconst_0
istore 12 /* i */
start local 12 // int i
15: .line 127
iconst_0
istore 12 /* i */
goto 32
16: .line 129
StackMap locals: byte[] int int int byte[] int int int int int int int int
StackMap stack:
iload 12 /* i */
iconst_3
imul
istore 11 /* dataIndex */
17: .line 130
aload 0 /* binaryData */
iload 11 /* dataIndex */
baload
istore 7 /* b1 */
18: .line 131
aload 0 /* binaryData */
iload 11 /* dataIndex */
iconst_1
iadd
baload
istore 8 /* b2 */
19: .line 132
aload 0 /* binaryData */
iload 11 /* dataIndex */
iconst_2
iadd
baload
istore 9 /* b3 */
20: .line 134
iload 8 /* b2 */
bipush 15
iand
i2b
istore 6 /* l */
21: .line 135
iload 7 /* b1 */
iconst_3
iand
i2b
istore 5 /* k */
22: .line 137
iload 12 /* i */
iconst_4
imul
istore 10 /* encodedIndex */
23: .line 138
aload 4 /* encodedData */
iload 10 /* encodedIndex */
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 7 /* b1 */
iconst_2
ishr
baload
bastore
24: .line 139
aload 4 /* encodedData */
iload 10 /* encodedIndex */
iconst_1
iadd
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 8 /* b2 */
iconst_4
ishr
25: .line 140
iload 5 /* k */
iconst_4
ishl
ior
baload
26: .line 139
bastore
27: .line 141
aload 4 /* encodedData */
iload 10 /* encodedIndex */
iconst_2
iadd
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 6 /* l */
iconst_2
ishl
28: .line 142
iload 9 /* b3 */
bipush 6
ishr
ior
baload
29: .line 141
bastore
30: .line 143
aload 4 /* encodedData */
iload 10 /* encodedIndex */
iconst_3
iadd
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 9 /* b3 */
bipush 63
iand
baload
bastore
31: .line 127
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
32: iload 12 /* i */
iload 3 /* numberTriplets */
if_icmplt 16
33: .line 147
iload 12 /* i */
iconst_3
imul
istore 11 /* dataIndex */
34: .line 148
iload 12 /* i */
iconst_4
imul
istore 10 /* encodedIndex */
35: .line 149
iload 2 /* fewerThan24bits */
bipush 8
if_icmpne 43
36: .line 150
aload 0 /* binaryData */
iload 11 /* dataIndex */
baload
istore 7 /* b1 */
37: .line 151
iload 7 /* b1 */
iconst_3
iand
i2b
istore 5 /* k */
38: .line 152
aload 4 /* encodedData */
iload 10 /* encodedIndex */
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 7 /* b1 */
iconst_2
ishr
baload
bastore
39: .line 153
aload 4 /* encodedData */
iload 10 /* encodedIndex */
iconst_1
iadd
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 5 /* k */
iconst_4
ishl
baload
bastore
40: .line 154
aload 4 /* encodedData */
iload 10 /* encodedIndex */
iconst_2
iadd
bipush 61
bastore
41: .line 155
aload 4 /* encodedData */
iload 10 /* encodedIndex */
iconst_3
iadd
bipush 61
bastore
42: .line 156
goto 54
StackMap locals:
StackMap stack:
43: iload 2 /* fewerThan24bits */
bipush 16
if_icmpne 54
44: .line 158
aload 0 /* binaryData */
iload 11 /* dataIndex */
baload
istore 7 /* b1 */
45: .line 159
aload 0 /* binaryData */
iload 11 /* dataIndex */
iconst_1
iadd
baload
istore 8 /* b2 */
46: .line 160
iload 8 /* b2 */
bipush 15
iand
i2b
istore 6 /* l */
47: .line 161
iload 7 /* b1 */
iconst_3
iand
i2b
istore 5 /* k */
48: .line 162
aload 4 /* encodedData */
iload 10 /* encodedIndex */
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 7 /* b1 */
iconst_2
ishr
baload
bastore
49: .line 163
aload 4 /* encodedData */
iload 10 /* encodedIndex */
iconst_1
iadd
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 8 /* b2 */
iconst_4
ishr
50: .line 164
iload 5 /* k */
iconst_4
ishl
ior
baload
51: .line 163
bastore
52: .line 165
aload 4 /* encodedData */
iload 10 /* encodedIndex */
iconst_2
iadd
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.lookUpBase64Alphabet:[B
iload 6 /* l */
iconst_2
ishl
baload
bastore
53: .line 166
aload 4 /* encodedData */
iload 10 /* encodedIndex */
iconst_3
iadd
bipush 61
bastore
54: .line 168
StackMap locals:
StackMap stack:
aload 4 /* encodedData */
areturn
end local 12 // int i
end local 11 // int dataIndex
end local 10 // int encodedIndex
end local 9 // byte b3
end local 8 // byte b2
end local 7 // byte b1
end local 6 // byte l
end local 5 // byte k
end local 4 // byte[] encodedData
end local 3 // int numberTriplets
end local 2 // int fewerThan24bits
end local 1 // int lengthDataBits
end local 0 // byte[] binaryData
LocalVariableTable:
Start End Slot Name Signature
0 55 0 binaryData [B
1 55 1 lengthDataBits I
2 55 2 fewerThan24bits I
3 55 3 numberTriplets I
4 55 4 encodedData [B
8 55 5 k B
9 55 6 l B
10 55 7 b1 B
11 55 8 b2 B
12 55 9 b3 B
13 55 10 encodedIndex I
14 55 11 dataIndex I
15 55 12 i I
MethodParameters:
Name Flags
binaryData
public byte[] decode(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=2
start local 0 // com.sun.xml.internal.messaging.saaj.util.Base64 this
start local 1 // byte[] base64Data
0: .line 179
aload 1 /* base64Data */
arraylength
iconst_4
idiv
istore 2 /* numberQuadruple */
start local 2 // int numberQuadruple
1: .line 180
aconst_null
astore 3 /* decodedData */
start local 3 // byte[] decodedData
2: .line 181
iconst_0
istore 4 /* b1 */
start local 4 // byte b1
3: iconst_0
istore 5 /* b2 */
start local 5 // byte b2
4: iconst_0
istore 6 /* b3 */
start local 6 // byte b3
5: iconst_0
istore 7 /* b4 */
start local 7 // byte b4
6: iconst_0
istore 8 /* marker0 */
start local 8 // byte marker0
7: iconst_0
istore 9 /* marker1 */
start local 9 // byte marker1
8: .line 186
iconst_0
istore 10 /* encodedIndex */
start local 10 // int encodedIndex
9: .line 187
iconst_0
istore 11 /* dataIndex */
start local 11 // int dataIndex
10: .line 188
iload 2 /* numberQuadruple */
iconst_3
imul
iconst_1
iadd
newarray 8
astore 3 /* decodedData */
11: .line 190
iconst_0
istore 12 /* i */
start local 12 // int i
12: goto 41
13: .line 191
StackMap locals: com.sun.xml.internal.messaging.saaj.util.Base64 byte[] int byte[] int int int int int int int int int
StackMap stack:
iload 12 /* i */
iconst_4
imul
istore 11 /* dataIndex */
14: .line 192
aload 1 /* base64Data */
iload 11 /* dataIndex */
iconst_2
iadd
baload
istore 8 /* marker0 */
15: .line 193
aload 1 /* base64Data */
iload 11 /* dataIndex */
iconst_3
iadd
baload
istore 9 /* marker1 */
16: .line 195
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
aload 1 /* base64Data */
iload 11 /* dataIndex */
baload
baload
istore 4 /* b1 */
17: .line 196
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
aload 1 /* base64Data */
iload 11 /* dataIndex */
iconst_1
iadd
baload
baload
istore 5 /* b2 */
18: .line 198
iload 8 /* marker0 */
bipush 61
if_icmpeq 27
iload 9 /* marker1 */
bipush 61
if_icmpeq 27
19: .line 199
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
iload 8 /* marker0 */
baload
istore 6 /* b3 */
20: .line 200
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
iload 9 /* marker1 */
baload
istore 7 /* b4 */
21: .line 202
aload 3 /* decodedData */
iload 10 /* encodedIndex */
iload 4 /* b1 */
iconst_2
ishl
iload 5 /* b2 */
iconst_4
ishr
ior
i2b
bastore
22: .line 203
aload 3 /* decodedData */
iload 10 /* encodedIndex */
iconst_1
iadd
iload 5 /* b2 */
bipush 15
iand
iconst_4
ishl
23: .line 204
iload 6 /* b3 */
iconst_2
ishr
bipush 15
24: .line 203
iand
ior
i2b
bastore
25: .line 205
aload 3 /* decodedData */
iload 10 /* encodedIndex */
iconst_2
iadd
iload 6 /* b3 */
bipush 6
ishl
iload 7 /* b4 */
ior
i2b
bastore
26: .line 206
goto 39
StackMap locals:
StackMap stack:
27: iload 8 /* marker0 */
bipush 61
if_icmpne 32
28: .line 207
aload 3 /* decodedData */
iload 10 /* encodedIndex */
iload 4 /* b1 */
iconst_2
ishl
iload 5 /* b2 */
iconst_4
ishr
ior
i2b
bastore
29: .line 208
aload 3 /* decodedData */
iload 10 /* encodedIndex */
iconst_1
iadd
iload 5 /* b2 */
bipush 15
iand
iconst_4
ishl
i2b
bastore
30: .line 209
aload 3 /* decodedData */
iload 10 /* encodedIndex */
iconst_2
iadd
iconst_0
bastore
31: .line 210
goto 39
StackMap locals:
StackMap stack:
32: iload 9 /* marker1 */
bipush 61
if_icmpne 39
33: .line 211
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64Alphabet:[B
iload 8 /* marker0 */
baload
istore 6 /* b3 */
34: .line 213
aload 3 /* decodedData */
iload 10 /* encodedIndex */
iload 4 /* b1 */
iconst_2
ishl
iload 5 /* b2 */
iconst_4
ishr
ior
i2b
bastore
35: .line 214
aload 3 /* decodedData */
iload 10 /* encodedIndex */
iconst_1
iadd
iload 5 /* b2 */
bipush 15
iand
iconst_4
ishl
36: .line 215
iload 6 /* b3 */
iconst_2
ishr
bipush 15
37: .line 214
iand
ior
i2b
bastore
38: .line 216
aload 3 /* decodedData */
iload 10 /* encodedIndex */
iconst_2
iadd
iload 6 /* b3 */
bipush 6
ishl
i2b
bastore
39: .line 218
StackMap locals:
StackMap stack:
iinc 10 /* encodedIndex */ 3
40: .line 190
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
41: iload 12 /* i */
iload 2 /* numberQuadruple */
if_icmplt 13
end local 12 // int i
42: .line 220
aload 3 /* decodedData */
areturn
end local 11 // int dataIndex
end local 10 // int encodedIndex
end local 9 // byte marker1
end local 8 // byte marker0
end local 7 // byte b4
end local 6 // byte b3
end local 5 // byte b2
end local 4 // byte b1
end local 3 // byte[] decodedData
end local 2 // int numberQuadruple
end local 1 // byte[] base64Data
end local 0 // com.sun.xml.internal.messaging.saaj.util.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lcom/sun/xml/internal/messaging/saaj/util/Base64;
0 43 1 base64Data [B
1 43 2 numberQuadruple I
2 43 3 decodedData [B
3 43 4 b1 B
4 43 5 b2 B
5 43 6 b3 B
6 43 7 b4 B
7 43 8 marker0 B
8 43 9 marker1 B
9 43 10 encodedIndex I
10 43 11 dataIndex I
12 42 12 i I
MethodParameters:
Name Flags
base64Data
public static java.lang.String base64Decode(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=1
start local 0 // java.lang.String orig
0: .line 244
aload 0 /* orig */
invokevirtual java.lang.String.toCharArray:()[C
astore 1 /* chars */
start local 1 // char[] chars
1: .line 245
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2 /* sb */
start local 2 // java.lang.StringBuilder sb
2: .line 246
iconst_0
istore 3 /* i */
start local 3 // int i
3: .line 248
iconst_0
istore 4 /* shift */
start local 4 // int shift
4: .line 249
iconst_0
istore 5 /* acc */
start local 5 // int acc
5: .line 251
iconst_0
istore 3 /* i */
goto 17
6: .line 252
StackMap locals: java.lang.String char[] java.lang.StringBuilder int int int
StackMap stack:
getstatic com.sun.xml.internal.messaging.saaj.util.Base64.base64:[I
aload 1 /* chars */
iload 3 /* i */
caload
sipush 255
iand
iaload
istore 6 /* v */
start local 6 // int v
7: .line 254
iload 6 /* v */
bipush 64
if_icmplt 11
8: .line 255
aload 1 /* chars */
iload 3 /* i */
caload
bipush 61
if_icmpeq 16
9: .line 256
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Wrong char in base64: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* chars */
iload 3 /* i */
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: .line 257
goto 16
11: .line 258
StackMap locals: int
StackMap stack:
iload 5 /* acc */
bipush 6
ishl
iload 6 /* v */
ior
istore 5 /* acc */
12: .line 259
iinc 4 /* shift */ 6
13: .line 260
iload 4 /* shift */
bipush 8
if_icmplt 16
14: .line 261
iinc 4 /* shift */ -8
15: .line 262
aload 2 /* sb */
iload 5 /* acc */
iload 4 /* shift */
ishr
sipush 255
iand
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 6 // int v
16: .line 251
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 3 /* i */
aload 1 /* chars */
arraylength
if_icmplt 6
18: .line 266
aload 2 /* sb */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 5 // int acc
end local 4 // int shift
end local 3 // int i
end local 2 // java.lang.StringBuilder sb
end local 1 // char[] chars
end local 0 // java.lang.String orig
LocalVariableTable:
Start End Slot Name Signature
0 19 0 orig Ljava/lang/String;
1 19 1 chars [C
2 19 2 sb Ljava/lang/StringBuilder;
3 19 3 i I
4 19 4 shift I
5 19 5 acc I
7 16 6 v I
MethodParameters:
Name Flags
orig
}
SourceFile: "Base64.java"