public class org.bouncycastle.util.encoders.Base64Encoder implements org.bouncycastle.util.encoders.Encoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.util.encoders.Base64Encoder
super_class: java.lang.Object
{
protected final byte[] encodingTable;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected byte padding;
descriptor: B
flags: (0x0004) ACC_PROTECTED
protected final byte[] decodingTable;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected void initialiseDecodingTable();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 // org.bouncycastle.util.encoders.Base64Encoder this
0: .line 34
iconst_0
istore 1 /* i */
start local 1 // int i
1: goto 4
2: .line 36
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
iload 1 /* i */
baload
iload 1 /* i */
i2b
bastore
3: .line 34
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
4: iload 1 /* i */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
arraylength
if_icmplt 2
end local 1 // int i
5: .line 38
return
end local 0 // org.bouncycastle.util.encoders.Base64Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/util/encoders/Base64Encoder;
1 5 1 i I
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 // org.bouncycastle.util.encoders.Base64Encoder this
0: .line 40
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 9
aload 0 /* this */
2: .line 10
bipush 64
newarray 8
dup
iconst_0
3: .line 11
bipush 65
bastore
dup
iconst_1
bipush 66
bastore
dup
iconst_2
bipush 67
bastore
dup
iconst_3
bipush 68
bastore
dup
iconst_4
bipush 69
bastore
dup
iconst_5
bipush 70
bastore
dup
bipush 6
bipush 71
bastore
dup
bipush 7
4: .line 12
bipush 72
bastore
dup
bipush 8
bipush 73
bastore
dup
bipush 9
bipush 74
bastore
dup
bipush 10
bipush 75
bastore
dup
bipush 11
bipush 76
bastore
dup
bipush 12
bipush 77
bastore
dup
bipush 13
bipush 78
bastore
dup
bipush 14
5: .line 13
bipush 79
bastore
dup
bipush 15
bipush 80
bastore
dup
bipush 16
bipush 81
bastore
dup
bipush 17
bipush 82
bastore
dup
bipush 18
bipush 83
bastore
dup
bipush 19
bipush 84
bastore
dup
bipush 20
bipush 85
bastore
dup
bipush 21
6: .line 14
bipush 86
bastore
dup
bipush 22
bipush 87
bastore
dup
bipush 23
bipush 88
bastore
dup
bipush 24
bipush 89
bastore
dup
bipush 25
bipush 90
bastore
dup
bipush 26
7: .line 15
bipush 97
bastore
dup
bipush 27
bipush 98
bastore
dup
bipush 28
bipush 99
bastore
dup
bipush 29
bipush 100
bastore
dup
bipush 30
bipush 101
bastore
dup
bipush 31
bipush 102
bastore
dup
bipush 32
bipush 103
bastore
dup
bipush 33
8: .line 16
bipush 104
bastore
dup
bipush 34
bipush 105
bastore
dup
bipush 35
bipush 106
bastore
dup
bipush 36
bipush 107
bastore
dup
bipush 37
bipush 108
bastore
dup
bipush 38
bipush 109
bastore
dup
bipush 39
bipush 110
bastore
dup
bipush 40
9: .line 17
bipush 111
bastore
dup
bipush 41
bipush 112
bastore
dup
bipush 42
bipush 113
bastore
dup
bipush 43
bipush 114
bastore
dup
bipush 44
bipush 115
bastore
dup
bipush 45
bipush 116
bastore
dup
bipush 46
bipush 117
bastore
dup
bipush 47
10: .line 18
bipush 118
bastore
dup
bipush 48
11: .line 19
bipush 119
bastore
dup
bipush 49
bipush 120
bastore
dup
bipush 50
bipush 121
bastore
dup
bipush 51
bipush 122
bastore
dup
bipush 52
12: .line 20
bipush 48
bastore
dup
bipush 53
bipush 49
bastore
dup
bipush 54
bipush 50
bastore
dup
bipush 55
bipush 51
bastore
dup
bipush 56
bipush 52
bastore
dup
bipush 57
bipush 53
bastore
dup
bipush 58
bipush 54
bastore
dup
bipush 59
13: .line 21
bipush 55
bastore
dup
bipush 60
bipush 56
bastore
dup
bipush 61
bipush 57
bastore
dup
bipush 62
14: .line 22
bipush 43
bastore
dup
bipush 63
bipush 47
bastore
putfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
15: .line 25
aload 0 /* this */
bipush 61
putfield org.bouncycastle.util.encoders.Base64Encoder.padding:B
16: .line 30
aload 0 /* this */
sipush 128
newarray 8
putfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
17: .line 42
aload 0 /* this */
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.initialiseDecodingTable:()V
18: .line 43
return
end local 0 // org.bouncycastle.util.encoders.Base64Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/util/encoders/Base64Encoder;
public int encode(byte[], int, int, java.io.OutputStream);
descriptor: ([BIILjava/io/OutputStream;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=15, args_size=5
start local 0 // org.bouncycastle.util.encoders.Base64Encoder this
start local 1 // byte[] data
start local 2 // int off
start local 3 // int length
start local 4 // java.io.OutputStream out
0: .line 57
iload 3 /* length */
iconst_3
irem
istore 5 /* modulus */
start local 5 // int modulus
1: .line 58
iload 3 /* length */
iload 5 /* modulus */
isub
istore 6 /* dataLength */
start local 6 // int dataLength
2: .line 61
iload 2 /* off */
istore 10 /* i */
start local 10 // int i
3: goto 12
4: .line 63
StackMap locals: org.bouncycastle.util.encoders.Base64Encoder byte[] int int java.io.OutputStream int int top top top int
StackMap stack:
aload 1 /* data */
iload 10 /* i */
baload
sipush 255
iand
istore 7 /* a1 */
start local 7 // int a1
5: .line 64
aload 1 /* data */
iload 10 /* i */
iconst_1
iadd
baload
sipush 255
iand
istore 8 /* a2 */
start local 8 // int a2
6: .line 65
aload 1 /* data */
iload 10 /* i */
iconst_2
iadd
baload
sipush 255
iand
istore 9 /* a3 */
start local 9 // int a3
7: .line 67
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
iload 7 /* a1 */
iconst_2
iushr
bipush 63
iand
baload
invokevirtual java.io.OutputStream.write:(I)V
8: .line 68
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
iload 7 /* a1 */
iconst_4
ishl
iload 8 /* a2 */
iconst_4
iushr
ior
bipush 63
iand
baload
invokevirtual java.io.OutputStream.write:(I)V
9: .line 69
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
iload 8 /* a2 */
iconst_2
ishl
iload 9 /* a3 */
bipush 6
iushr
ior
bipush 63
iand
baload
invokevirtual java.io.OutputStream.write:(I)V
10: .line 70
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
iload 9 /* a3 */
bipush 63
iand
baload
invokevirtual java.io.OutputStream.write:(I)V
11: .line 61
iinc 10 /* i */ 3
end local 9 // int a3
end local 8 // int a2
end local 7 // int a1
StackMap locals:
StackMap stack:
12: iload 10 /* i */
iload 2 /* off */
iload 6 /* dataLength */
iadd
if_icmplt 4
end local 10 // int i
13: .line 79
iload 5 /* modulus */
tableswitch { // 0 - 2
0: 14
1: 15
2: 23
default: 32
}
14: .line 82
StackMap locals: org.bouncycastle.util.encoders.Base64Encoder byte[] int int java.io.OutputStream int int
StackMap stack:
goto 32
15: .line 84
StackMap locals:
StackMap stack:
aload 1 /* data */
iload 2 /* off */
iload 6 /* dataLength */
iadd
baload
sipush 255
iand
istore 13 /* d1 */
start local 13 // int d1
16: .line 85
iload 13 /* d1 */
iconst_2
iushr
bipush 63
iand
istore 10 /* b1 */
start local 10 // int b1
17: .line 86
iload 13 /* d1 */
iconst_4
ishl
bipush 63
iand
istore 11 /* b2 */
start local 11 // int b2
18: .line 88
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
iload 10 /* b1 */
baload
invokevirtual java.io.OutputStream.write:(I)V
19: .line 89
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
iload 11 /* b2 */
baload
invokevirtual java.io.OutputStream.write:(I)V
20: .line 90
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.padding:B
invokevirtual java.io.OutputStream.write:(I)V
21: .line 91
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.padding:B
invokevirtual java.io.OutputStream.write:(I)V
22: .line 92
goto 32
end local 13 // int d1
end local 11 // int b2
end local 10 // int b1
23: .line 94
StackMap locals:
StackMap stack:
aload 1 /* data */
iload 2 /* off */
iload 6 /* dataLength */
iadd
baload
sipush 255
iand
istore 13 /* d1 */
start local 13 // int d1
24: .line 95
aload 1 /* data */
iload 2 /* off */
iload 6 /* dataLength */
iadd
iconst_1
iadd
baload
sipush 255
iand
istore 14 /* d2 */
start local 14 // int d2
25: .line 97
iload 13 /* d1 */
iconst_2
iushr
bipush 63
iand
istore 10 /* b1 */
start local 10 // int b1
26: .line 98
iload 13 /* d1 */
iconst_4
ishl
iload 14 /* d2 */
iconst_4
iushr
ior
bipush 63
iand
istore 11 /* b2 */
start local 11 // int b2
27: .line 99
iload 14 /* d2 */
iconst_2
ishl
bipush 63
iand
istore 12 /* b3 */
start local 12 // int b3
28: .line 101
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
iload 10 /* b1 */
baload
invokevirtual java.io.OutputStream.write:(I)V
29: .line 102
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
iload 11 /* b2 */
baload
invokevirtual java.io.OutputStream.write:(I)V
30: .line 103
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.encodingTable:[B
iload 12 /* b3 */
baload
invokevirtual java.io.OutputStream.write:(I)V
31: .line 104
aload 4 /* out */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.padding:B
invokevirtual java.io.OutputStream.write:(I)V
end local 14 // int d2
end local 13 // int d1
end local 12 // int b3
end local 11 // int b2
end local 10 // int b1
32: .line 108
StackMap locals:
StackMap stack:
iload 6 /* dataLength */
iconst_3
idiv
iconst_4
imul
iload 5 /* modulus */
ifne 33
iconst_0
goto 34
StackMap locals:
StackMap stack: int
33: iconst_4
StackMap locals: org.bouncycastle.util.encoders.Base64Encoder byte[] int int java.io.OutputStream int int
StackMap stack: int int
34: iadd
ireturn
end local 6 // int dataLength
end local 5 // int modulus
end local 4 // java.io.OutputStream out
end local 3 // int length
end local 2 // int off
end local 1 // byte[] data
end local 0 // org.bouncycastle.util.encoders.Base64Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/bouncycastle/util/encoders/Base64Encoder;
0 35 1 data [B
0 35 2 off I
0 35 3 length I
0 35 4 out Ljava/io/OutputStream;
1 35 5 modulus I
2 35 6 dataLength I
5 12 7 a1 I
6 12 8 a2 I
7 12 9 a3 I
3 13 10 i I
17 23 10 b1 I
26 32 10 b1 I
18 23 11 b2 I
27 32 11 b2 I
28 32 12 b3 I
16 23 13 d1 I
24 32 13 d1 I
25 32 14 d2 I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
off
length
out
private boolean ignore(char);
descriptor: (C)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 // org.bouncycastle.util.encoders.Base64Encoder this
start local 1 // char c
0: .line 114
iload 1 /* c */
bipush 10
if_icmpeq 1
iload 1 /* c */
bipush 13
if_icmpeq 1
iload 1 /* c */
bipush 9
if_icmpeq 1
iload 1 /* c */
bipush 32
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 // char c
end local 0 // org.bouncycastle.util.encoders.Base64Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/util/encoders/Base64Encoder;
0 2 1 c C
MethodParameters:
Name Flags
c
public int decode(byte[], int, int, java.io.OutputStream);
descriptor: ([BIILjava/io/OutputStream;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=13, args_size=5
start local 0 // org.bouncycastle.util.encoders.Base64Encoder this
start local 1 // byte[] data
start local 2 // int off
start local 3 // int length
start local 4 // java.io.OutputStream out
0: .line 131
iconst_0
istore 9 /* outLen */
start local 9 // int outLen
1: .line 133
iload 2 /* off */
iload 3 /* length */
iadd
istore 10 /* end */
start local 10 // int end
2: .line 135
goto 6
3: .line 137
StackMap locals: org.bouncycastle.util.encoders.Base64Encoder byte[] int int java.io.OutputStream top top top top int int
StackMap stack:
aload 0 /* this */
aload 1 /* data */
iload 10 /* end */
iconst_1
isub
baload
i2c
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.ignore:(C)Z
ifne 5
4: .line 139
goto 7
5: .line 142
StackMap locals:
StackMap stack:
iinc 10 /* end */ -1
6: .line 135
StackMap locals:
StackMap stack:
iload 10 /* end */
iload 2 /* off */
if_icmpgt 3
7: .line 145
StackMap locals:
StackMap stack:
iload 2 /* off */
istore 11 /* i */
start local 11 // int i
8: .line 146
iload 10 /* end */
iconst_4
isub
istore 12 /* finish */
start local 12 // int finish
9: .line 148
aload 0 /* this */
aload 1 /* data */
iload 11 /* i */
iload 12 /* finish */
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.nextI:([BII)I
istore 11 /* i */
10: .line 150
goto 23
11: .line 152
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
aload 1 /* data */
iload 11 /* i */
iinc 11 /* i */ 1
baload
baload
istore 5 /* b1 */
start local 5 // byte b1
12: .line 154
aload 0 /* this */
aload 1 /* data */
iload 11 /* i */
iload 12 /* finish */
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.nextI:([BII)I
istore 11 /* i */
13: .line 156
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
aload 1 /* data */
iload 11 /* i */
iinc 11 /* i */ 1
baload
baload
istore 6 /* b2 */
start local 6 // byte b2
14: .line 158
aload 0 /* this */
aload 1 /* data */
iload 11 /* i */
iload 12 /* finish */
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.nextI:([BII)I
istore 11 /* i */
15: .line 160
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
aload 1 /* data */
iload 11 /* i */
iinc 11 /* i */ 1
baload
baload
istore 7 /* b3 */
start local 7 // byte b3
16: .line 162
aload 0 /* this */
aload 1 /* data */
iload 11 /* i */
iload 12 /* finish */
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.nextI:([BII)I
istore 11 /* i */
17: .line 164
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
aload 1 /* data */
iload 11 /* i */
iinc 11 /* i */ 1
baload
baload
istore 8 /* b4 */
start local 8 // byte b4
18: .line 166
aload 4 /* out */
iload 5 /* b1 */
iconst_2
ishl
iload 6 /* b2 */
iconst_4
ishr
ior
invokevirtual java.io.OutputStream.write:(I)V
19: .line 167
aload 4 /* out */
iload 6 /* b2 */
iconst_4
ishl
iload 7 /* b3 */
iconst_2
ishr
ior
invokevirtual java.io.OutputStream.write:(I)V
20: .line 168
aload 4 /* out */
iload 7 /* b3 */
bipush 6
ishl
iload 8 /* b4 */
ior
invokevirtual java.io.OutputStream.write:(I)V
21: .line 170
iinc 9 /* outLen */ 3
22: .line 172
aload 0 /* this */
aload 1 /* data */
iload 11 /* i */
iload 12 /* finish */
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.nextI:([BII)I
istore 11 /* i */
end local 8 // byte b4
end local 7 // byte b3
end local 6 // byte b2
end local 5 // byte b1
23: .line 150
StackMap locals:
StackMap stack:
iload 11 /* i */
iload 12 /* finish */
if_icmplt 11
24: .line 175
iload 9 /* outLen */
aload 0 /* this */
aload 4 /* out */
aload 1 /* data */
iload 10 /* end */
iconst_4
isub
baload
i2c
aload 1 /* data */
iload 10 /* end */
iconst_3
isub
baload
i2c
aload 1 /* data */
iload 10 /* end */
iconst_2
isub
baload
i2c
aload 1 /* data */
iload 10 /* end */
iconst_1
isub
baload
i2c
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.decodeLastBlock:(Ljava/io/OutputStream;CCCC)I
iadd
istore 9 /* outLen */
25: .line 177
iload 9 /* outLen */
ireturn
end local 12 // int finish
end local 11 // int i
end local 10 // int end
end local 9 // int outLen
end local 4 // java.io.OutputStream out
end local 3 // int length
end local 2 // int off
end local 1 // byte[] data
end local 0 // org.bouncycastle.util.encoders.Base64Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/bouncycastle/util/encoders/Base64Encoder;
0 26 1 data [B
0 26 2 off I
0 26 3 length I
0 26 4 out Ljava/io/OutputStream;
12 23 5 b1 B
14 23 6 b2 B
16 23 7 b3 B
18 23 8 b4 B
1 26 9 outLen I
2 26 10 end I
8 26 11 i I
9 26 12 finish I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
off
length
out
private int nextI(byte[], int, int);
descriptor: ([BII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 // org.bouncycastle.util.encoders.Base64Encoder this
start local 1 // byte[] data
start local 2 // int i
start local 3 // int finish
0: .line 182
goto 2
1: .line 184
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
2: .line 182
StackMap locals:
StackMap stack:
iload 2 /* i */
iload 3 /* finish */
if_icmpge 3
aload 0 /* this */
aload 1 /* data */
iload 2 /* i */
baload
i2c
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.ignore:(C)Z
ifne 1
3: .line 186
StackMap locals:
StackMap stack:
iload 2 /* i */
ireturn
end local 3 // int finish
end local 2 // int i
end local 1 // byte[] data
end local 0 // org.bouncycastle.util.encoders.Base64Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/util/encoders/Base64Encoder;
0 4 1 data [B
0 4 2 i I
0 4 3 finish I
MethodParameters:
Name Flags
data
i
finish
public int decode(java.lang.String, java.io.OutputStream);
descriptor: (Ljava/lang/String;Ljava/io/OutputStream;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=11, args_size=3
start local 0 // org.bouncycastle.util.encoders.Base64Encoder this
start local 1 // java.lang.String data
start local 2 // java.io.OutputStream out
0: .line 201
iconst_0
istore 7 /* length */
start local 7 // int length
1: .line 203
aload 1 /* data */
invokevirtual java.lang.String.length:()I
istore 8 /* end */
start local 8 // int end
2: .line 205
goto 6
3: .line 207
StackMap locals: org.bouncycastle.util.encoders.Base64Encoder java.lang.String java.io.OutputStream top top top top int int
StackMap stack:
aload 0 /* this */
aload 1 /* data */
iload 8 /* end */
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.ignore:(C)Z
ifne 5
4: .line 209
goto 7
5: .line 212
StackMap locals:
StackMap stack:
iinc 8 /* end */ -1
6: .line 205
StackMap locals:
StackMap stack:
iload 8 /* end */
ifgt 3
7: .line 215
StackMap locals:
StackMap stack:
iconst_0
istore 9 /* i */
start local 9 // int i
8: .line 216
iload 8 /* end */
iconst_4
isub
istore 10 /* finish */
start local 10 // int finish
9: .line 218
aload 0 /* this */
aload 1 /* data */
iload 9 /* i */
iload 10 /* finish */
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.nextI:(Ljava/lang/String;II)I
istore 9 /* i */
10: .line 220
goto 23
11: .line 222
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
aload 1 /* data */
iload 9 /* i */
iinc 9 /* i */ 1
invokevirtual java.lang.String.charAt:(I)C
baload
istore 3 /* b1 */
start local 3 // byte b1
12: .line 224
aload 0 /* this */
aload 1 /* data */
iload 9 /* i */
iload 10 /* finish */
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.nextI:(Ljava/lang/String;II)I
istore 9 /* i */
13: .line 226
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
aload 1 /* data */
iload 9 /* i */
iinc 9 /* i */ 1
invokevirtual java.lang.String.charAt:(I)C
baload
istore 4 /* b2 */
start local 4 // byte b2
14: .line 228
aload 0 /* this */
aload 1 /* data */
iload 9 /* i */
iload 10 /* finish */
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.nextI:(Ljava/lang/String;II)I
istore 9 /* i */
15: .line 230
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
aload 1 /* data */
iload 9 /* i */
iinc 9 /* i */ 1
invokevirtual java.lang.String.charAt:(I)C
baload
istore 5 /* b3 */
start local 5 // byte b3
16: .line 232
aload 0 /* this */
aload 1 /* data */
iload 9 /* i */
iload 10 /* finish */
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.nextI:(Ljava/lang/String;II)I
istore 9 /* i */
17: .line 234
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
aload 1 /* data */
iload 9 /* i */
iinc 9 /* i */ 1
invokevirtual java.lang.String.charAt:(I)C
baload
istore 6 /* b4 */
start local 6 // byte b4
18: .line 236
aload 2 /* out */
iload 3 /* b1 */
iconst_2
ishl
iload 4 /* b2 */
iconst_4
ishr
ior
invokevirtual java.io.OutputStream.write:(I)V
19: .line 237
aload 2 /* out */
iload 4 /* b2 */
iconst_4
ishl
iload 5 /* b3 */
iconst_2
ishr
ior
invokevirtual java.io.OutputStream.write:(I)V
20: .line 238
aload 2 /* out */
iload 5 /* b3 */
bipush 6
ishl
iload 6 /* b4 */
ior
invokevirtual java.io.OutputStream.write:(I)V
21: .line 240
iinc 7 /* length */ 3
22: .line 242
aload 0 /* this */
aload 1 /* data */
iload 9 /* i */
iload 10 /* finish */
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.nextI:(Ljava/lang/String;II)I
istore 9 /* i */
end local 6 // byte b4
end local 5 // byte b3
end local 4 // byte b2
end local 3 // byte b1
23: .line 220
StackMap locals:
StackMap stack:
iload 9 /* i */
iload 10 /* finish */
if_icmplt 11
24: .line 245
iload 7 /* length */
aload 0 /* this */
aload 2 /* out */
aload 1 /* data */
iload 8 /* end */
iconst_4
isub
invokevirtual java.lang.String.charAt:(I)C
aload 1 /* data */
iload 8 /* end */
iconst_3
isub
invokevirtual java.lang.String.charAt:(I)C
aload 1 /* data */
iload 8 /* end */
iconst_2
isub
invokevirtual java.lang.String.charAt:(I)C
aload 1 /* data */
iload 8 /* end */
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.decodeLastBlock:(Ljava/io/OutputStream;CCCC)I
iadd
istore 7 /* length */
25: .line 247
iload 7 /* length */
ireturn
end local 10 // int finish
end local 9 // int i
end local 8 // int end
end local 7 // int length
end local 2 // java.io.OutputStream out
end local 1 // java.lang.String data
end local 0 // org.bouncycastle.util.encoders.Base64Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/bouncycastle/util/encoders/Base64Encoder;
0 26 1 data Ljava/lang/String;
0 26 2 out Ljava/io/OutputStream;
12 23 3 b1 B
14 23 4 b2 B
16 23 5 b3 B
18 23 6 b4 B
1 26 7 length I
2 26 8 end I
8 26 9 i I
9 26 10 finish I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
out
private int decodeLastBlock(java.io.OutputStream, char, char, char, char);
descriptor: (Ljava/io/OutputStream;CCCC)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=6
start local 0 // org.bouncycastle.util.encoders.Base64Encoder this
start local 1 // java.io.OutputStream out
start local 2 // char c1
start local 3 // char c2
start local 4 // char c3
start local 5 // char c4
0: .line 255
iload 4 /* c3 */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.padding:B
if_icmpne 5
1: .line 257
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
iload 2 /* c1 */
baload
istore 6 /* b1 */
start local 6 // byte b1
2: .line 258
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
iload 3 /* c2 */
baload
istore 7 /* b2 */
start local 7 // byte b2
3: .line 260
aload 1 /* out */
iload 6 /* b1 */
iconst_2
ishl
iload 7 /* b2 */
iconst_4
ishr
ior
invokevirtual java.io.OutputStream.write:(I)V
4: .line 262
iconst_1
ireturn
end local 7 // byte b2
end local 6 // byte b1
5: .line 264
StackMap locals:
StackMap stack:
iload 5 /* c4 */
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.padding:B
if_icmpne 12
6: .line 266
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
iload 2 /* c1 */
baload
istore 6 /* b1 */
start local 6 // byte b1
7: .line 267
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
iload 3 /* c2 */
baload
istore 7 /* b2 */
start local 7 // byte b2
8: .line 268
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
iload 4 /* c3 */
baload
istore 8 /* b3 */
start local 8 // byte b3
9: .line 270
aload 1 /* out */
iload 6 /* b1 */
iconst_2
ishl
iload 7 /* b2 */
iconst_4
ishr
ior
invokevirtual java.io.OutputStream.write:(I)V
10: .line 271
aload 1 /* out */
iload 7 /* b2 */
iconst_4
ishl
iload 8 /* b3 */
iconst_2
ishr
ior
invokevirtual java.io.OutputStream.write:(I)V
11: .line 273
iconst_2
ireturn
end local 8 // byte b3
end local 7 // byte b2
end local 6 // byte b1
12: .line 277
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
iload 2 /* c1 */
baload
istore 6 /* b1 */
start local 6 // byte b1
13: .line 278
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
iload 3 /* c2 */
baload
istore 7 /* b2 */
start local 7 // byte b2
14: .line 279
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
iload 4 /* c3 */
baload
istore 8 /* b3 */
start local 8 // byte b3
15: .line 280
aload 0 /* this */
getfield org.bouncycastle.util.encoders.Base64Encoder.decodingTable:[B
iload 5 /* c4 */
baload
istore 9 /* b4 */
start local 9 // byte b4
16: .line 282
aload 1 /* out */
iload 6 /* b1 */
iconst_2
ishl
iload 7 /* b2 */
iconst_4
ishr
ior
invokevirtual java.io.OutputStream.write:(I)V
17: .line 283
aload 1 /* out */
iload 7 /* b2 */
iconst_4
ishl
iload 8 /* b3 */
iconst_2
ishr
ior
invokevirtual java.io.OutputStream.write:(I)V
18: .line 284
aload 1 /* out */
iload 8 /* b3 */
bipush 6
ishl
iload 9 /* b4 */
ior
invokevirtual java.io.OutputStream.write:(I)V
19: .line 286
iconst_3
ireturn
end local 9 // byte b4
end local 8 // byte b3
end local 7 // byte b2
end local 6 // byte b1
end local 5 // char c4
end local 4 // char c3
end local 3 // char c2
end local 2 // char c1
end local 1 // java.io.OutputStream out
end local 0 // org.bouncycastle.util.encoders.Base64Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/bouncycastle/util/encoders/Base64Encoder;
0 20 1 out Ljava/io/OutputStream;
0 20 2 c1 C
0 20 3 c2 C
0 20 4 c3 C
0 20 5 c4 C
2 5 6 b1 B
7 12 6 b1 B
13 20 6 b1 B
3 5 7 b2 B
8 12 7 b2 B
14 20 7 b2 B
9 12 8 b3 B
15 20 8 b3 B
16 20 9 b4 B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
c1
c2
c3
c4
private int nextI(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 // org.bouncycastle.util.encoders.Base64Encoder this
start local 1 // java.lang.String data
start local 2 // int i
start local 3 // int finish
0: .line 292
goto 2
1: .line 294
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
2: .line 292
StackMap locals:
StackMap stack:
iload 2 /* i */
iload 3 /* finish */
if_icmpge 3
aload 0 /* this */
aload 1 /* data */
iload 2 /* i */
invokevirtual java.lang.String.charAt:(I)C
invokevirtual org.bouncycastle.util.encoders.Base64Encoder.ignore:(C)Z
ifne 1
3: .line 296
StackMap locals:
StackMap stack:
iload 2 /* i */
ireturn
end local 3 // int finish
end local 2 // int i
end local 1 // java.lang.String data
end local 0 // org.bouncycastle.util.encoders.Base64Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/util/encoders/Base64Encoder;
0 4 1 data Ljava/lang/String;
0 4 2 i I
0 4 3 finish I
MethodParameters:
Name Flags
data
i
finish
}
SourceFile: "Base64Encoder.java"