final class com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream extends java.io.FilterInputStream
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.xml.internal.org.jvnet.mimepull.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 byte[] input_buffer;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int input_pos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int input_len;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean ignoreErrors;
descriptor: Z
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
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.org.jvnet.mimepull.BASE64DecoderStream.pem_array:[C
10: sipush 256
newarray 8
putstatic com.sun.xml.internal.org.jvnet.mimepull.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.org.jvnet.mimepull.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.org.jvnet.mimepull.BASE64DecoderStream.pem_convert_array:[B
getstatic com.sun.xml.internal.org.jvnet.mimepull.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.org.jvnet.mimepull.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=3, 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_3
newarray 8
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.buffer:[B
2: aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.bufsize:I
3: aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.index:I
4: aload 0
sipush 8190
newarray 8
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_buffer:[B
5: aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_pos:I
6: aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_len:I
7: aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.ignoreErrors:Z
8: aload 0
9: ldc "mail.mime.base64.ignoreerrors"
iconst_0
10: invokestatic com.sun.xml.internal.org.jvnet.mimepull.PropUtil.getBooleanSystemProperty:(Ljava/lang/String;Z)Z
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.ignoreErrors:Z
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/xml/internal/org/jvnet/mimepull/BASE64DecoderStream;
0 12 1 in Ljava/io/InputStream;
MethodParameters:
Name Flags
in
public void <init>(java.io.InputStream, boolean);
descriptor: (Ljava/io/InputStream;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial java.io.FilterInputStream.<init>:(Ljava/io/InputStream;)V
1: aload 0
iconst_3
newarray 8
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.buffer:[B
2: aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.bufsize:I
3: aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.index:I
4: aload 0
sipush 8190
newarray 8
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_buffer:[B
5: aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_pos:I
6: aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_len:I
7: aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.ignoreErrors:Z
8: aload 0
iload 2
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.ignoreErrors:Z
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/xml/internal/org/jvnet/mimepull/BASE64DecoderStream;
0 10 1 in Ljava/io/InputStream;
0 10 2 ignoreErrors Z
MethodParameters:
Name Flags
in
ignoreErrors
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.org.jvnet.mimepull.BASE64DecoderStream.index:I
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.bufsize:I
if_icmplt 5
1: aload 0
aload 0
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.buffer:[B
iconst_0
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.buffer:[B
arraylength
invokevirtual com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.decode:([BII)I
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.bufsize:I
2: aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.bufsize:I
ifgt 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.index:I
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.buffer:[B
aload 0
dup
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.index:I
dup_x1
iconst_1
iadd
putfield com.sun.xml.internal.org.jvnet.mimepull.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/org/jvnet/mimepull/BASE64DecoderStream;
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
istore 4
start local 4 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
iinc 2 1
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.buffer:[B
aload 0
dup
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.index:I
dup_x1
iconst_1
iadd
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.index:I
baload
bastore
3: iinc 3 -1
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.index:I
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.bufsize:I
if_icmpge 5
iload 3
ifgt 2
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.index:I
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.bufsize:I
if_icmplt 7
6: aload 0
aload 0
iconst_0
dup_x1
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.index:I
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.bufsize:I
7: StackMap locals:
StackMap stack:
iload 3
iconst_3
idiv
iconst_3
imul
istore 5
start local 5 8: iload 5
ifle 21
9: aload 0
aload 1
iload 2
iload 5
invokevirtual com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.decode:([BII)I
istore 6
start local 6 10: iload 2
iload 6
iadd
istore 2
11: iload 3
iload 6
isub
istore 3
12: iload 6
iload 5
if_icmpeq 21
13: iload 2
iload 4
if_icmpne 15
14: iconst_m1
ireturn
15: StackMap locals: int int
StackMap stack:
iload 2
iload 4
isub
ireturn
end local 6 16: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.read:()I
istore 6
start local 6 17: iload 6
iconst_m1
if_icmpne 19
18: goto 22
19: StackMap locals: int
StackMap stack:
aload 1
iload 2
iinc 2 1
iload 6
i2b
bastore
end local 6 20: iinc 3 -1
StackMap locals:
StackMap stack:
21: iload 3
ifgt 16
22: StackMap locals:
StackMap stack:
iload 2
iload 4
if_icmpne 24
23: iconst_m1
ireturn
24: StackMap locals:
StackMap stack:
iload 2
iload 4
isub
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/xml/internal/org/jvnet/mimepull/BASE64DecoderStream;
0 25 1 buf [B
0 25 2 off I
0 25 3 len I
1 25 4 off0 I
8 25 5 bsize I
10 16 6 size I
17 20 6 c I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
public long skip(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: lconst_0
lstore 3
start local 3 1: goto 3
2: StackMap locals: long
StackMap stack:
lload 3
lconst_1
ladd
lstore 3
3: StackMap locals:
StackMap stack:
lload 1
dup2
lconst_1
lsub
lstore 1
lconst_0
lcmp
ifle 4
aload 0
invokevirtual com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.read:()I
ifge 2
4: StackMap locals:
StackMap stack:
lload 3
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/xml/internal/org/jvnet/mimepull/BASE64DecoderStream;
0 5 1 n J
1 5 3 skipped J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
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/org/jvnet/mimepull/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.org.jvnet.mimepull.BASE64DecoderStream.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.available:()I
iconst_3
imul
iconst_4
idiv
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.bufsize:I
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.index:I
isub
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/xml/internal/org/jvnet/mimepull/BASE64DecoderStream;
Exceptions:
throws java.io.IOException
private int decode(byte[], int, int);
descriptor: ([BII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
istore 4
start local 4 1: goto 73
2: StackMap locals: int
StackMap stack:
iconst_0
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 65
5: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.getByte:()I
istore 7
start local 7 6: iload 7
iconst_m1
if_icmpeq 7
iload 7
bipush -2
if_icmpne 62
7: StackMap locals: int
StackMap stack:
iload 7
iconst_m1
if_icmpne 19
8: iload 5
ifne 10
9: iload 2
iload 4
isub
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.ignoreErrors:Z
ifne 17
11: new com.sun.xml.internal.org.jvnet.mimepull.DecodingException
dup
12: new java.lang.StringBuilder
dup
ldc "BASE64Decoder: Error in encoded stream: needed 4 valid base64 characters but only got "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " before EOF"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: aload 0
invokevirtual com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.recentChars:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial com.sun.xml.internal.org.jvnet.mimepull.DecodingException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
iconst_1
istore 8
start local 8 18: goto 30
end local 8 19: StackMap locals:
StackMap stack:
iload 5
iconst_2
if_icmpge 27
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.ignoreErrors:Z
ifne 27
20: new com.sun.xml.internal.org.jvnet.mimepull.DecodingException
dup
21: new java.lang.StringBuilder
dup
ldc "BASE64Decoder: Error in encoded stream: needed at least 2 valid base64 characters, but only got "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
23: ldc " before padding character (=)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: aload 0
invokevirtual com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.recentChars:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial com.sun.xml.internal.org.jvnet.mimepull.DecodingException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
iload 5
ifne 29
28: iload 2
iload 4
isub
ireturn
29: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 30: StackMap locals: int
StackMap stack:
iload 5
iconst_1
isub
istore 9
start local 9 31: iload 9
ifne 33
32: iconst_1
istore 9
33: StackMap locals: int
StackMap stack:
iinc 5 1
34: iload 6
bipush 6
ishl
istore 6
35: goto 54
36: StackMap locals:
StackMap stack:
iload 8
ifne 52
37: aload 0
invokevirtual com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.getByte:()I
istore 7
38: iload 7
iconst_m1
if_icmpne 45
39: aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.ignoreErrors:Z
ifne 52
40: new com.sun.xml.internal.org.jvnet.mimepull.DecodingException
dup
41: new java.lang.StringBuilder
dup
ldc "BASE64Decoder: Error in encoded stream: hit EOF while looking for padding characters (=)"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
42: aload 0
invokevirtual com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.recentChars:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
43: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokespecial com.sun.xml.internal.org.jvnet.mimepull.DecodingException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals:
StackMap stack:
iload 7
bipush -2
if_icmpeq 52
46: aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.ignoreErrors:Z
ifne 52
47: new com.sun.xml.internal.org.jvnet.mimepull.DecodingException
dup
48: new java.lang.StringBuilder
dup
ldc "BASE64Decoder: Error in encoded stream: found valid base64 character after a padding character (=)"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
49: aload 0
invokevirtual com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.recentChars:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
50: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
51: invokespecial com.sun.xml.internal.org.jvnet.mimepull.DecodingException.<init>:(Ljava/lang/String;)V
athrow
52: StackMap locals:
StackMap stack:
iload 6
bipush 6
ishl
istore 6
53: iinc 5 1
54: StackMap locals:
StackMap stack:
iload 5
iconst_4
if_icmplt 36
55: iload 6
bipush 8
ishr
istore 6
56: iload 9
iconst_2
if_icmpne 58
57: aload 1
iload 2
iconst_1
iadd
iload 6
sipush 255
iand
i2b
bastore
58: StackMap locals:
StackMap stack:
iload 6
bipush 8
ishr
istore 6
59: aload 1
iload 2
iload 6
sipush 255
iand
i2b
bastore
60: iload 2
iload 9
iadd
istore 2
61: iload 2
iload 4
isub
ireturn
end local 9 end local 8 62: StackMap locals:
StackMap stack:
iload 6
bipush 6
ishl
istore 6
63: iinc 5 1
64: iload 6
iload 7
ior
istore 6
end local 7 65: StackMap locals:
StackMap stack:
iload 5
iconst_4
if_icmplt 5
66: aload 1
iload 2
iconst_2
iadd
iload 6
sipush 255
iand
i2b
bastore
67: iload 6
bipush 8
ishr
istore 6
68: aload 1
iload 2
iconst_1
iadd
iload 6
sipush 255
iand
i2b
bastore
69: iload 6
bipush 8
ishr
istore 6
70: aload 1
iload 2
iload 6
sipush 255
iand
i2b
bastore
71: iinc 3 -3
72: iinc 2 3
end local 6 end local 5 73: StackMap locals:
StackMap stack:
iload 3
iconst_3
if_icmpge 2
74: iload 2
iload 4
isub
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 75 0 this Lcom/sun/xml/internal/org/jvnet/mimepull/BASE64DecoderStream;
0 75 1 outbuf [B
0 75 2 pos I
0 75 3 len I
1 75 4 pos0 I
3 73 5 got I
4 73 6 val I
6 65 7 i I
18 19 8 atEOF Z
30 62 8 atEOF Z
31 62 9 size I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
outbuf
pos
len
private int getByte();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_pos:I
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_len:I
if_icmplt 8
1: aload 0
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.in:Ljava/io/InputStream;
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_buffer:[B
invokevirtual java.io.InputStream.read:([B)I
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_len:I
2: goto 5
StackMap locals:
StackMap stack: java.io.EOFException
3: pop
4: iconst_m1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_len:I
ifgt 7
6: iconst_m1
ireturn
7: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_pos:I
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_buffer:[B
aload 0
dup
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_pos:I
dup_x1
iconst_1
iadd
putfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_pos:I
baload
sipush 255
iand
istore 1
start local 1 9: iload 1
bipush 61
if_icmpne 11
10: bipush -2
ireturn
11: StackMap locals: int
StackMap stack:
getstatic com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.pem_convert_array:[B
iload 1
baload
istore 1
12: iload 1
iconst_m1
if_icmpeq 0
13: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/xml/internal/org/jvnet/mimepull/BASE64DecoderStream;
9 14 1 c I
Exception table:
from to target type
1 2 3 Class java.io.EOFException
Exceptions:
throws java.io.IOException
private java.lang.String recentChars();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_pos:I
bipush 10
if_icmple 2
bipush 10
goto 3
StackMap locals: java.lang.StringBuilder
StackMap stack:
2: aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_pos:I
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: iload 2
ifle 20
5: aload 1
ldc ", the "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " most recent characters were: \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_pos:I
iload 2
isub
istore 3
start local 3 7: goto 18
8: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_buffer:[B
iload 3
baload
sipush 255
iand
i2c
istore 4
start local 4 9: iload 4
tableswitch { // 9 - 13
9: 12
10: 11
11: 13
12: 13
13: 10
default: 13
}
10: StackMap locals: int
StackMap stack:
aload 1
ldc "\\r"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 17
11: StackMap locals:
StackMap stack:
aload 1
ldc "\\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 17
12: StackMap locals:
StackMap stack:
aload 1
ldc "\\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 17
13: StackMap locals:
StackMap stack:
iload 4
bipush 32
if_icmplt 16
iload 4
bipush 127
if_icmpge 16
14: aload 1
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: goto 17
16: StackMap locals:
StackMap stack:
aload 1
ldc "\\"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
end local 4 17: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
18: iload 3
aload 0
getfield com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.input_pos:I
if_icmplt 8
end local 3 19: aload 1
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/xml/internal/org/jvnet/mimepull/BASE64DecoderStream;
1 21 1 errstr Ljava/lang/StringBuilder;
4 21 2 nc I
7 19 3 k I
9 17 4 c C
public static byte[] decode(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, 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 35
12: StackMap locals: byte[] int int
StackMap stack:
iconst_3
istore 6
start local 6 13: getstatic com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.pem_convert_array:[B
aload 0
iload 3
iinc 3 1
baload
sipush 255
iand
baload
istore 5
start local 5 14: iload 5
bipush 6
ishl
istore 5
15: iload 5
getstatic com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.pem_convert_array:[B
aload 0
iload 3
iinc 3 1
baload
sipush 255
iand
baload
ior
istore 5
16: iload 5
bipush 6
ishl
istore 5
17: aload 0
iload 3
baload
bipush 61
if_icmpeq 20
18: iload 5
getstatic com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.pem_convert_array:[B
aload 0
iload 3
iinc 3 1
baload
sipush 255
iand
baload
ior
istore 5
19: goto 21
20: StackMap locals: int int
StackMap stack:
iinc 6 -1
21: StackMap locals:
StackMap stack:
iload 5
bipush 6
ishl
istore 5
22: aload 0
iload 3
baload
bipush 61
if_icmpeq 25
23: iload 5
getstatic com.sun.xml.internal.org.jvnet.mimepull.BASE64DecoderStream.pem_convert_array:[B
aload 0
iload 3
iinc 3 1
baload
sipush 255
iand
baload
ior
istore 5
24: goto 26
25: StackMap locals:
StackMap stack:
iinc 6 -1
26: StackMap locals:
StackMap stack:
iload 6
iconst_2
if_icmple 28
27: aload 2
iload 4
iconst_2
iadd
iload 5
sipush 255
iand
i2b
bastore
28: StackMap locals:
StackMap stack:
iload 5
bipush 8
ishr
istore 5
29: iload 6
iconst_1
if_icmple 31
30: aload 2
iload 4
iconst_1
iadd
iload 5
sipush 255
iand
i2b
bastore
31: StackMap locals:
StackMap stack:
iload 5
bipush 8
ishr
istore 5
32: aload 2
iload 4
iload 5
sipush 255
iand
i2b
bastore
33: iload 4
iload 6
iadd
istore 4
34: iinc 1 -4
end local 6 end local 5 35: StackMap locals:
StackMap stack:
iload 1
ifgt 12
36: 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 37 0 inbuf [B
1 37 1 size I
8 37 2 outbuf [B
9 37 3 inpos I
10 37 4 outpos I
14 35 5 val I
13 35 6 osize I
MethodParameters:
Name Flags
inbuf
}
SourceFile: "BASE64DecoderStream.java"