public class com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream extends java.io.FilterInputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream
super_class: java.io.FilterInputStream
{
private byte[] buffer;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int bufsize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int index;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final char[] pem_array;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] pem_convert_array;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private byte[] decode_buffer;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: bipush 64
newarray 5
dup
iconst_0
1: bipush 65
castore
dup
iconst_1
bipush 66
castore
dup
iconst_2
bipush 67
castore
dup
iconst_3
bipush 68
castore
dup
iconst_4
bipush 69
castore
dup
iconst_5
bipush 70
castore
dup
bipush 6
bipush 71
castore
dup
bipush 7
bipush 72
castore
dup
bipush 8
2: bipush 73
castore
dup
bipush 9
bipush 74
castore
dup
bipush 10
bipush 75
castore
dup
bipush 11
bipush 76
castore
dup
bipush 12
bipush 77
castore
dup
bipush 13
bipush 78
castore
dup
bipush 14
bipush 79
castore
dup
bipush 15
bipush 80
castore
dup
bipush 16
3: bipush 81
castore
dup
bipush 17
bipush 82
castore
dup
bipush 18
bipush 83
castore
dup
bipush 19
bipush 84
castore
dup
bipush 20
bipush 85
castore
dup
bipush 21
bipush 86
castore
dup
bipush 22
bipush 87
castore
dup
bipush 23
bipush 88
castore
dup
bipush 24
4: bipush 89
castore
dup
bipush 25
bipush 90
castore
dup
bipush 26
bipush 97
castore
dup
bipush 27
bipush 98
castore
dup
bipush 28
bipush 99
castore
dup
bipush 29
bipush 100
castore
dup
bipush 30
bipush 101
castore
dup
bipush 31
bipush 102
castore
dup
bipush 32
5: bipush 103
castore
dup
bipush 33
bipush 104
castore
dup
bipush 34
bipush 105
castore
dup
bipush 35
bipush 106
castore
dup
bipush 36
bipush 107
castore
dup
bipush 37
bipush 108
castore
dup
bipush 38
bipush 109
castore
dup
bipush 39
bipush 110
castore
dup
bipush 40
6: bipush 111
castore
dup
bipush 41
bipush 112
castore
dup
bipush 42
bipush 113
castore
dup
bipush 43
bipush 114
castore
dup
bipush 44
bipush 115
castore
dup
bipush 45
bipush 116
castore
dup
bipush 46
bipush 117
castore
dup
bipush 47
bipush 118
castore
dup
bipush 48
7: bipush 119
castore
dup
bipush 49
bipush 120
castore
dup
bipush 50
bipush 121
castore
dup
bipush 51
bipush 122
castore
dup
bipush 52
bipush 48
castore
dup
bipush 53
bipush 49
castore
dup
bipush 54
bipush 50
castore
dup
bipush 55
bipush 51
castore
dup
bipush 56
8: bipush 52
castore
dup
bipush 57
bipush 53
castore
dup
bipush 58
bipush 54
castore
dup
bipush 59
bipush 55
castore
dup
bipush 60
bipush 56
castore
dup
bipush 61
bipush 57
castore
dup
bipush 62
bipush 43
castore
dup
bipush 63
bipush 47
castore
9: putstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_array:[C
10: sipush 256
newarray 8
putstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
11: iconst_0
istore 0
start local 0 12: goto 15
13: StackMap locals: int
StackMap stack:
getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
iload 0
iconst_m1
bastore
14: iinc 0 1
StackMap locals:
StackMap stack:
15: iload 0
sipush 255
if_icmplt 13
end local 0 16: iconst_0
istore 0
start local 0 17: goto 20
18: StackMap locals:
StackMap stack:
getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_array:[C
iload 0
caload
iload 0
i2b
bastore
19: iinc 0 1
StackMap locals:
StackMap stack:
20: iload 0
getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_array:[C
arraylength
if_icmplt 18
end local 0 21: return
LocalVariableTable:
Start End Slot Name Signature
12 16 0 i I
17 21 0 i I
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.io.FilterInputStream.<init>:(Ljava/io/InputStream;)V
1: aload 0
iconst_0
putfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.bufsize:I
2: aload 0
iconst_0
putfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.index:I
3: aload 0
iconst_4
newarray 8
putfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.decode_buffer:[B
4: aload 0
iconst_3
newarray 8
putfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.buffer:[B
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64DecoderStream;
0 6 1 in Ljava/io/InputStream;
MethodParameters:
Name Flags
in
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.index:I
aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.bufsize:I
if_icmplt 5
1: aload 0
invokevirtual com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.decode:()V
2: aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.bufsize:I
ifne 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.index:I
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.buffer:[B
aload 0
dup
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.index:I
dup_x1
iconst_1
iadd
putfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.index:I
baload
sipush 255
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64DecoderStream;
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 9
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.read:()I
dup
istore 5
start local 5 3: iconst_m1
if_icmpne 7
4: iload 4
ifne 10
5: iconst_m1
istore 4
6: goto 10
7: StackMap locals: int
StackMap stack:
aload 1
iload 2
iload 4
iadd
iload 5
i2b
bastore
8: iinc 4 1
end local 5 StackMap locals:
StackMap stack:
9: iload 4
iload 3
if_icmplt 2
10: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64DecoderStream;
0 11 1 buf [B
0 11 2 off I
0 11 3 len I
1 11 4 i I
3 9 5 c I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
public boolean markSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64DecoderStream;
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.available:()I
iconst_3
imul
iconst_4
idiv
aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.bufsize:I
aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.index:I
isub
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64DecoderStream;
Exceptions:
throws java.io.IOException
private void decode();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.bufsize:I
1: iconst_0
istore 1
start local 1 2: goto 11
3: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 2
start local 2 4: iload 2
iconst_m1
if_icmpne 8
5: iload 1
ifne 7
6: return
7: StackMap locals: int
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Error in encoded stream, got "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iload 2
iflt 9
iload 2
sipush 256
if_icmpge 9
iload 2
bipush 61
if_icmpeq 10
StackMap locals:
StackMap stack:
9: getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
iload 2
baload
iconst_m1
if_icmpeq 11
10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.decode_buffer:[B
iload 1
iinc 1 1
iload 2
i2b
bastore
end local 2 11: StackMap locals:
StackMap stack:
iload 1
iconst_4
if_icmplt 3
12: getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.decode_buffer:[B
iconst_0
baload
sipush 255
iand
baload
istore 2
start local 2 13: getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.decode_buffer:[B
iconst_1
baload
sipush 255
iand
baload
istore 3
start local 3 14: aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.buffer:[B
aload 0
dup
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.bufsize:I
dup_x1
iconst_1
iadd
putfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.bufsize:I
iload 2
iconst_2
ishl
sipush 252
iand
iload 3
iconst_4
iushr
iconst_3
iand
ior
i2b
bastore
15: aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.decode_buffer:[B
iconst_2
baload
bipush 61
if_icmpne 17
16: return
17: StackMap locals: int int
StackMap stack:
iload 3
istore 2
18: getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.decode_buffer:[B
iconst_2
baload
sipush 255
iand
baload
istore 3
19: aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.buffer:[B
aload 0
dup
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.bufsize:I
dup_x1
iconst_1
iadd
putfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.bufsize:I
iload 2
iconst_4
ishl
sipush 240
iand
iload 3
iconst_2
iushr
bipush 15
iand
ior
i2b
bastore
20: aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.decode_buffer:[B
iconst_3
baload
bipush 61
if_icmpne 22
21: return
22: StackMap locals:
StackMap stack:
iload 3
istore 2
23: getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.decode_buffer:[B
iconst_3
baload
sipush 255
iand
baload
istore 3
24: aload 0
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.buffer:[B
aload 0
dup
getfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.bufsize:I
dup_x1
iconst_1
iadd
putfield com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.bufsize:I
iload 2
bipush 6
ishl
sipush 192
iand
iload 3
bipush 63
iand
ior
i2b
bastore
25: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64DecoderStream;
2 26 1 got I
4 11 2 i I
13 26 2 a B
14 26 3 b B
Exceptions:
throws java.io.IOException
public static byte[] decode(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
arraylength
iconst_4
idiv
iconst_3
imul
istore 1
start local 1 1: iload 1
ifne 3
2: aload 0
areturn
3: StackMap locals: int
StackMap stack:
aload 0
aload 0
arraylength
iconst_1
isub
baload
bipush 61
if_icmpne 7
4: iinc 1 -1
5: aload 0
aload 0
arraylength
iconst_2
isub
baload
bipush 61
if_icmpne 7
6: iinc 1 -1
7: StackMap locals:
StackMap stack:
iload 1
newarray 8
astore 2
start local 2 8: iconst_0
istore 3
start local 3 9: iconst_0
istore 4
start local 4 10: aload 0
arraylength
istore 1
11: goto 26
12: StackMap locals: byte[] int int
StackMap stack:
getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
aload 0
iload 3
iinc 3 1
baload
sipush 255
iand
baload
istore 5
start local 5 13: getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
aload 0
iload 3
iinc 3 1
baload
sipush 255
iand
baload
istore 6
start local 6 14: aload 2
iload 4
iinc 4 1
iload 5
iconst_2
ishl
sipush 252
iand
iload 6
iconst_4
iushr
iconst_3
iand
ior
i2b
bastore
15: aload 0
iload 3
baload
bipush 61
if_icmpne 17
16: aload 2
areturn
17: StackMap locals: int int
StackMap stack:
iload 6
istore 5
18: getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
aload 0
iload 3
iinc 3 1
baload
sipush 255
iand
baload
istore 6
19: aload 2
iload 4
iinc 4 1
iload 5
iconst_4
ishl
sipush 240
iand
iload 6
iconst_2
iushr
bipush 15
iand
ior
i2b
bastore
20: aload 0
iload 3
baload
bipush 61
if_icmpne 22
21: aload 2
areturn
22: StackMap locals:
StackMap stack:
iload 6
istore 5
23: getstatic com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream.pem_convert_array:[B
aload 0
iload 3
iinc 3 1
baload
sipush 255
iand
baload
istore 6
24: aload 2
iload 4
iinc 4 1
iload 5
bipush 6
ishl
sipush 192
iand
iload 6
bipush 63
iand
ior
i2b
bastore
25: iinc 1 -4
end local 6 end local 5 26: StackMap locals:
StackMap stack:
iload 1
ifgt 12
27: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 inbuf [B
1 28 1 size I
8 28 2 outbuf [B
9 28 3 inpos I
10 28 4 outpos I
13 26 5 a B
14 26 6 b B
MethodParameters:
Name Flags
inbuf
}
SourceFile: "BASE64DecoderStream.java"