final class io.netty.handler.codec.base64.Base64$Decoder implements io.netty.util.ByteProcessor
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.handler.codec.base64.Base64$Decoder
super_class: java.lang.Object
{
private final byte[] b4;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int b4Posn;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private byte sbiCrop;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private byte sbiDecode;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private byte[] decodabet;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int outBuffPosn;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private io.netty.buffer.ByteBuf dest;
descriptor: Lio/netty/buffer/ByteBuf;
flags: (0x0002) ACC_PRIVATE
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_4
newarray 8
putfield io.netty.handler.codec.base64.Base64$Decoder.b4:[B
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/base64/Base64$Decoder;
io.netty.buffer.ByteBuf decode(io.netty.buffer.ByteBuf, int, int, io.netty.buffer.ByteBufAllocator, io.netty.handler.codec.base64.Base64Dialect);
descriptor: (Lio/netty/buffer/ByteBuf;IILio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/base64/Base64Dialect;)Lio/netty/buffer/ByteBuf;
flags: (0x0000)
Code:
stack=4, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 4
iload 3
invokestatic io.netty.handler.codec.base64.Base64.decodedBufferSize:(I)I
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
aload 1
invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
invokevirtual io.netty.buffer.ByteBuf.order:(Ljava/nio/ByteOrder;)Lio/netty/buffer/ByteBuf;
putfield io.netty.handler.codec.base64.Base64$Decoder.dest:Lio/netty/buffer/ByteBuf;
1: aload 0
aload 5
invokestatic io.netty.handler.codec.base64.Base64.decodabet:(Lio/netty/handler/codec/base64/Base64Dialect;)[B
putfield io.netty.handler.codec.base64.Base64$Decoder.decodabet:[B
2: aload 1
iload 2
iload 3
aload 0
invokevirtual io.netty.buffer.ByteBuf.forEachByte:(IILio/netty/util/ByteProcessor;)I
pop
3: aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.dest:Lio/netty/buffer/ByteBuf;
iconst_0
aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.outBuffPosn:I
invokevirtual io.netty.buffer.ByteBuf.slice:(II)Lio/netty/buffer/ByteBuf;
4: areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 6: aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.dest:Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
7: aload 6
invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
8: aconst_null
areturn
end local 6 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 9 0 this Lio/netty/handler/codec/base64/Base64$Decoder;
0 9 1 src Lio/netty/buffer/ByteBuf;
0 9 2 off I
0 9 3 len I
0 9 4 allocator Lio/netty/buffer/ByteBufAllocator;
0 9 5 dialect Lio/netty/handler/codec/base64/Base64Dialect;
6 9 6 cause Ljava/lang/Throwable;
Exception table:
from to target type
2 4 5 Class java.lang.Throwable
MethodParameters:
Name Flags
src
off
len
allocator
dialect
public boolean process(byte);
descriptor: (B)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
bipush 127
iand
i2b
putfield io.netty.handler.codec.base64.Base64$Decoder.sbiCrop:B
1: aload 0
aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.decodabet:[B
aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.sbiCrop:B
baload
putfield io.netty.handler.codec.base64.Base64$Decoder.sbiDecode:B
2: aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.sbiDecode:B
bipush -5
if_icmplt 11
3: aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.sbiDecode:B
iconst_m1
if_icmplt 10
4: aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.b4:[B
aload 0
dup
getfield io.netty.handler.codec.base64.Base64$Decoder.b4Posn:I
dup_x1
iconst_1
iadd
putfield io.netty.handler.codec.base64.Base64$Decoder.b4Posn:I
aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.sbiCrop:B
bastore
5: aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.b4Posn:I
iconst_3
if_icmple 10
6: aload 0
dup
getfield io.netty.handler.codec.base64.Base64$Decoder.outBuffPosn:I
aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.b4:[B
aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.dest:Lio/netty/buffer/ByteBuf;
aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.outBuffPosn:I
aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.decodabet:[B
invokestatic io.netty.handler.codec.base64.Base64$Decoder.decode4to3:([BLio/netty/buffer/ByteBuf;I[B)I
iadd
putfield io.netty.handler.codec.base64.Base64$Decoder.outBuffPosn:I
7: aload 0
iconst_0
putfield io.netty.handler.codec.base64.Base64$Decoder.b4Posn:I
8: aload 0
getfield io.netty.handler.codec.base64.Base64$Decoder.sbiCrop:B
bipush 61
if_icmpne 10
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
11: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
12: new java.lang.StringBuilder
dup
ldc "invalid bad Base64 input character: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
sipush 255
iand
i2s
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (decimal)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/netty/handler/codec/base64/Base64$Decoder;
0 14 1 value B
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
value
private static int decode4to3(byte[], io.netty.buffer.ByteBuf, int, byte[]);
descriptor: ([BLio/netty/buffer/ByteBuf;I[B)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iconst_0
baload
istore 4
start local 4 1: aload 0
iconst_1
baload
istore 5
start local 5 2: aload 0
iconst_2
baload
istore 6
start local 6 3: iload 6
bipush 61
if_icmpne 10
4: aload 3
iload 4
baload
sipush 255
iand
iconst_2
ishl
aload 3
iload 5
baload
sipush 255
iand
iconst_4
iushr
ior
istore 7
start local 7 5: goto 8
end local 7 StackMap locals: byte[] io.netty.buffer.ByteBuf int byte[] int int int
StackMap stack: java.lang.IndexOutOfBoundsException
6: pop
7: new java.lang.IllegalArgumentException
dup
ldc "not encoded in Base64"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 7 8: StackMap locals: int
StackMap stack:
aload 1
iload 2
iload 7
invokevirtual io.netty.buffer.ByteBuf.setByte:(II)Lio/netty/buffer/ByteBuf;
pop
9: iconst_1
ireturn
end local 7 10: StackMap locals:
StackMap stack:
aload 0
iconst_3
baload
istore 8
start local 8 11: iload 8
bipush 61
if_icmpne 28
12: aload 3
iload 5
baload
istore 9
start local 9 13: aload 1
invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 20
14: aload 3
iload 4
baload
bipush 63
iand
iconst_2
ishl
iload 9
sipush 240
iand
iconst_4
ishr
ior
bipush 8
ishl
15: iload 9
bipush 15
iand
iconst_4
ishl
16: ior
17: aload 3
iload 6
baload
sipush 252
iand
iconst_2
iushr
18: ior
istore 7
start local 7 19: goto 26
end local 7 20: StackMap locals: byte[] io.netty.buffer.ByteBuf int byte[] int int int top int int
StackMap stack:
aload 3
iload 4
baload
bipush 63
iand
iconst_2
ishl
iload 9
sipush 240
iand
iconst_4
ishr
ior
21: iload 9
bipush 15
iand
iconst_4
ishl
aload 3
iload 6
baload
sipush 252
iand
iconst_2
iushr
ior
bipush 8
ishl
22: ior
istore 7
start local 7 23: goto 26
end local 7 StackMap locals:
StackMap stack: java.lang.IndexOutOfBoundsException
24: pop
25: new java.lang.IllegalArgumentException
dup
ldc "not encoded in Base64"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 7 26: StackMap locals: byte[] io.netty.buffer.ByteBuf int byte[] int int int int int int
StackMap stack:
aload 1
iload 2
iload 7
invokevirtual io.netty.buffer.ByteBuf.setShort:(II)Lio/netty/buffer/ByteBuf;
pop
27: iconst_2
ireturn
end local 9 end local 7 28: StackMap locals: byte[] io.netty.buffer.ByteBuf int byte[] int int int top int
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 37
29: aload 3
iload 4
baload
bipush 63
iand
bipush 18
ishl
30: aload 3
iload 5
baload
sipush 255
iand
bipush 12
ishl
31: ior
32: aload 3
iload 6
baload
sipush 255
iand
bipush 6
ishl
33: ior
34: aload 3
iload 8
baload
sipush 255
iand
35: ior
istore 7
start local 7 36: goto 53
end local 7 37: StackMap locals:
StackMap stack:
aload 3
iload 5
baload
istore 9
start local 9 38: aload 3
iload 6
baload
istore 10
start local 10 39: aload 3
iload 4
baload
bipush 63
iand
iconst_2
ishl
40: iload 9
bipush 15
iand
bipush 12
ishl
41: ior
42: iload 9
sipush 240
iand
iconst_4
iushr
43: ior
44: iload 10
iconst_3
iand
bipush 22
ishl
45: ior
46: iload 10
sipush 252
iand
bipush 6
ishl
47: ior
48: aload 3
iload 8
baload
sipush 255
iand
bipush 16
ishl
49: ior
istore 7
end local 10 end local 9 start local 7 50: goto 53
end local 7 StackMap locals:
StackMap stack: java.lang.IndexOutOfBoundsException
51: pop
52: new java.lang.IllegalArgumentException
dup
ldc "not encoded in Base64"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 7 53: StackMap locals: byte[] io.netty.buffer.ByteBuf int byte[] int int int int int
StackMap stack:
aload 1
iload 2
iload 7
invokevirtual io.netty.buffer.ByteBuf.setMedium:(II)Lio/netty/buffer/ByteBuf;
pop
54: iconst_3
ireturn
end local 8 end local 7 end local 6 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 55 0 src [B
0 55 1 dest Lio/netty/buffer/ByteBuf;
0 55 2 destOffset I
0 55 3 decodabet [B
1 55 4 src0 B
2 55 5 src1 B
3 55 6 src2 B
5 6 7 decodedValue I
8 10 7 decodedValue I
19 20 7 decodedValue I
23 24 7 decodedValue I
26 28 7 decodedValue I
36 37 7 decodedValue I
50 51 7 decodedValue I
53 55 7 decodedValue I
11 55 8 src3 B
13 28 9 b1 B
38 50 9 b1 B
39 50 10 b2 B
Exception table:
from to target type
4 5 6 Class java.lang.IndexOutOfBoundsException
13 23 24 Class java.lang.IndexOutOfBoundsException
28 50 51 Class java.lang.IndexOutOfBoundsException
MethodParameters:
Name Flags
src
dest
destOffset
decodabet
}
SourceFile: "Base64.java"
NestHost: io.netty.handler.codec.base64.Base64
InnerClasses:
private final Decoder = io.netty.handler.codec.base64.Base64$Decoder of io.netty.handler.codec.base64.Base64