public final class io.undertow.util.FlexBase64$Encoder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.undertow.util.FlexBase64$Encoder
super_class: java.lang.Object
{
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int last;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int count;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final boolean wrap;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int lastPos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final byte[] encodingTable;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>(boolean, boolean);
descriptor: (ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 // io.undertow.util.FlexBase64$Encoder this
start local 1 // boolean wrap
start local 2 // boolean url
0: .line 551
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 552
aload 0 /* this */
iload 1 /* wrap */
putfield io.undertow.util.FlexBase64$Encoder.wrap:Z
2: .line 553
aload 0 /* this */
iload 2 /* url */
ifeq 3
getstatic io.undertow.util.FlexBase64.URL_ENCODING_TABLE:[B
goto 4
StackMap locals: io.undertow.util.FlexBase64$Encoder int int
StackMap stack: io.undertow.util.FlexBase64$Encoder
3: getstatic io.undertow.util.FlexBase64.STANDARD_ENCODING_TABLE:[B
StackMap locals: io.undertow.util.FlexBase64$Encoder int int
StackMap stack: io.undertow.util.FlexBase64$Encoder byte[]
4: putfield io.undertow.util.FlexBase64$Encoder.encodingTable:[B
5: .line 554
return
end local 2 // boolean url
end local 1 // boolean wrap
end local 0 // io.undertow.util.FlexBase64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/undertow/util/FlexBase64$Encoder;
0 6 1 wrap Z
0 6 2 url Z
MethodParameters:
Name Flags
wrap
url
public void encode(java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=3
start local 0 // io.undertow.util.FlexBase64$Encoder this
start local 1 // java.nio.ByteBuffer source
start local 2 // java.nio.ByteBuffer target
0: .line 567
aload 2 /* target */
ifnonnull 2
1: .line 568
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: .line 570
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.last:I
istore 3 /* last */
start local 3 // int last
3: .line 571
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.state:I
istore 4 /* state */
start local 4 // int state
4: .line 572
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.wrap:Z
istore 5 /* wrap */
start local 5 // boolean wrap
5: .line 573
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.count:I
istore 6 /* count */
start local 6 // int count
6: .line 574
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.encodingTable:[B
astore 7 /* ENCODING_TABLE */
start local 7 // byte[] ENCODING_TABLE
7: .line 576
aload 1 /* source */
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 8 /* remaining */
start local 8 // int remaining
8: .line 577
goto 40
9: .line 579
StackMap locals: io.undertow.util.FlexBase64$Encoder java.nio.ByteBuffer java.nio.ByteBuffer int int int int byte[] int
StackMap stack:
iconst_4
iload 4 /* state */
isub
istore 9 /* require */
start local 9 // int require
10: .line 580
iload 5 /* wrap */
ifeq 11
iload 6 /* count */
bipush 72
if_icmplt 11
iload 9 /* require */
iconst_2
iadd
goto 12
StackMap locals: int
StackMap stack:
11: iload 9 /* require */
StackMap locals:
StackMap stack: int
12: istore 9 /* require */
13: .line 581
aload 2 /* target */
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 9 /* require */
if_icmpge 15
14: .line 582
goto 41
15: .line 585
StackMap locals:
StackMap stack:
aload 1 /* source */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 10 /* b */
start local 10 // int b
16: .line 586
iload 4 /* state */
ifne 23
17: .line 587
aload 2 /* target */
aload 7 /* ENCODING_TABLE */
iload 10 /* b */
iconst_2
iushr
baload
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
18: .line 588
iload 10 /* b */
iconst_3
iand
iconst_4
ishl
istore 3 /* last */
19: .line 589
iinc 4 /* state */ 1
20: .line 590
iinc 8 /* remaining */ -1
iload 8 /* remaining */
ifgt 22
21: .line 591
goto 41
22: .line 593
StackMap locals: int
StackMap stack:
aload 1 /* source */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 10 /* b */
23: .line 595
StackMap locals:
StackMap stack:
iload 4 /* state */
iconst_1
if_icmpne 30
24: .line 596
aload 2 /* target */
aload 7 /* ENCODING_TABLE */
iload 3 /* last */
iload 10 /* b */
iconst_4
iushr
ior
baload
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
25: .line 597
iload 10 /* b */
bipush 15
iand
iconst_2
ishl
istore 3 /* last */
26: .line 598
iinc 4 /* state */ 1
27: .line 599
iinc 8 /* remaining */ -1
iload 8 /* remaining */
ifgt 29
28: .line 600
goto 41
29: .line 602
StackMap locals:
StackMap stack:
aload 1 /* source */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 10 /* b */
30: .line 604
StackMap locals:
StackMap stack:
iload 4 /* state */
iconst_2
if_icmpne 35
31: .line 605
aload 2 /* target */
aload 7 /* ENCODING_TABLE */
iload 3 /* last */
iload 10 /* b */
bipush 6
iushr
ior
baload
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
32: .line 606
aload 2 /* target */
aload 7 /* ENCODING_TABLE */
iload 10 /* b */
bipush 63
iand
baload
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
33: .line 607
iconst_0
dup
istore 4 /* state */
istore 3 /* last */
34: .line 608
iinc 8 /* remaining */ -1
35: .line 611
StackMap locals:
StackMap stack:
iload 5 /* wrap */
ifeq 40
36: .line 612
iinc 6 /* count */ 4
37: .line 613
iload 6 /* count */
bipush 76
if_icmplt 40
38: .line 614
iconst_0
istore 6 /* count */
39: .line 615
aload 2 /* target */
sipush 3338
invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
pop
end local 10 // int b
end local 9 // int require
40: .line 577
StackMap locals:
StackMap stack:
iload 8 /* remaining */
ifgt 9
41: .line 619
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 6 /* count */
putfield io.undertow.util.FlexBase64$Encoder.count:I
42: .line 620
aload 0 /* this */
iload 3 /* last */
putfield io.undertow.util.FlexBase64$Encoder.last:I
43: .line 621
aload 0 /* this */
iload 4 /* state */
putfield io.undertow.util.FlexBase64$Encoder.state:I
44: .line 622
aload 0 /* this */
aload 1 /* source */
invokevirtual java.nio.ByteBuffer.position:()I
putfield io.undertow.util.FlexBase64$Encoder.lastPos:I
45: .line 623
return
end local 8 // int remaining
end local 7 // byte[] ENCODING_TABLE
end local 6 // int count
end local 5 // boolean wrap
end local 4 // int state
end local 3 // int last
end local 2 // java.nio.ByteBuffer target
end local 1 // java.nio.ByteBuffer source
end local 0 // io.undertow.util.FlexBase64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lio/undertow/util/FlexBase64$Encoder;
0 46 1 source Ljava/nio/ByteBuffer;
0 46 2 target Ljava/nio/ByteBuffer;
3 46 3 last I
4 46 4 state I
5 46 5 wrap Z
6 46 6 count I
7 46 7 ENCODING_TABLE [B
8 46 8 remaining I
10 40 9 require I
16 40 10 b I
MethodParameters:
Name Flags
source
target
public int encode(byte[], int, int, byte[], int, int);
descriptor: ([BII[BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=14, args_size=7
start local 0 // io.undertow.util.FlexBase64$Encoder this
start local 1 // byte[] source
start local 2 // int pos
start local 3 // int limit
start local 4 // byte[] target
start local 5 // int opos
start local 6 // int olimit
0: .line 654
aload 4 /* target */
ifnonnull 2
1: .line 655
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: .line 657
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.last:I
istore 7 /* last */
start local 7 // int last
3: .line 658
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.state:I
istore 8 /* state */
start local 8 // int state
4: .line 659
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.count:I
istore 9 /* count */
start local 9 // int count
5: .line 660
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.wrap:Z
istore 10 /* wrap */
start local 10 // boolean wrap
6: .line 661
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.encodingTable:[B
astore 11 /* ENCODING_TABLE */
start local 11 // byte[] ENCODING_TABLE
7: .line 664
goto 39
8: .line 666
StackMap locals: io.undertow.util.FlexBase64$Encoder byte[] int int byte[] int int int int int int byte[]
StackMap stack:
iconst_4
iload 8 /* state */
isub
istore 12 /* require */
start local 12 // int require
9: .line 667
iload 10 /* wrap */
ifeq 10
iload 9 /* count */
bipush 72
if_icmplt 10
iload 12 /* require */
iconst_2
iadd
goto 11
StackMap locals: int
StackMap stack:
10: iload 12 /* require */
StackMap locals:
StackMap stack: int
11: istore 12 /* require */
12: .line 668
iload 12 /* require */
iload 5 /* opos */
iadd
iload 6 /* olimit */
if_icmple 14
13: .line 669
goto 40
14: .line 672
StackMap locals:
StackMap stack:
aload 1 /* source */
iload 2 /* pos */
iinc 2 /* pos */ 1
baload
sipush 255
iand
istore 13 /* b */
start local 13 // int b
15: .line 673
iload 8 /* state */
ifne 22
16: .line 674
aload 4 /* target */
iload 5 /* opos */
iinc 5 /* opos */ 1
aload 11 /* ENCODING_TABLE */
iload 13 /* b */
iconst_2
iushr
baload
bastore
17: .line 675
iload 13 /* b */
iconst_3
iand
iconst_4
ishl
istore 7 /* last */
18: .line 676
iinc 8 /* state */ 1
19: .line 677
iload 2 /* pos */
iload 3 /* limit */
if_icmplt 21
20: .line 678
goto 40
21: .line 680
StackMap locals: int
StackMap stack:
aload 1 /* source */
iload 2 /* pos */
iinc 2 /* pos */ 1
baload
sipush 255
iand
istore 13 /* b */
22: .line 682
StackMap locals:
StackMap stack:
iload 8 /* state */
iconst_1
if_icmpne 29
23: .line 683
aload 4 /* target */
iload 5 /* opos */
iinc 5 /* opos */ 1
aload 11 /* ENCODING_TABLE */
iload 7 /* last */
iload 13 /* b */
iconst_4
iushr
ior
baload
bastore
24: .line 684
iload 13 /* b */
bipush 15
iand
iconst_2
ishl
istore 7 /* last */
25: .line 685
iinc 8 /* state */ 1
26: .line 686
iload 2 /* pos */
iload 3 /* limit */
if_icmplt 28
27: .line 687
goto 40
28: .line 689
StackMap locals:
StackMap stack:
aload 1 /* source */
iload 2 /* pos */
iinc 2 /* pos */ 1
baload
sipush 255
iand
istore 13 /* b */
29: .line 691
StackMap locals:
StackMap stack:
iload 8 /* state */
iconst_2
if_icmpne 33
30: .line 692
aload 4 /* target */
iload 5 /* opos */
iinc 5 /* opos */ 1
aload 11 /* ENCODING_TABLE */
iload 7 /* last */
iload 13 /* b */
bipush 6
iushr
ior
baload
bastore
31: .line 693
aload 4 /* target */
iload 5 /* opos */
iinc 5 /* opos */ 1
aload 11 /* ENCODING_TABLE */
iload 13 /* b */
bipush 63
iand
baload
bastore
32: .line 695
iconst_0
dup
istore 8 /* state */
istore 7 /* last */
33: .line 698
StackMap locals:
StackMap stack:
iload 10 /* wrap */
ifeq 39
34: .line 699
iinc 9 /* count */ 4
35: .line 700
iload 9 /* count */
bipush 76
if_icmplt 39
36: .line 701
iconst_0
istore 9 /* count */
37: .line 702
aload 4 /* target */
iload 5 /* opos */
iinc 5 /* opos */ 1
bipush 13
bastore
38: .line 703
aload 4 /* target */
iload 5 /* opos */
iinc 5 /* opos */ 1
bipush 10
bastore
end local 13 // int b
end local 12 // int require
39: .line 664
StackMap locals:
StackMap stack:
iload 3 /* limit */
iload 2 /* pos */
if_icmpgt 8
40: .line 707
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 9 /* count */
putfield io.undertow.util.FlexBase64$Encoder.count:I
41: .line 708
aload 0 /* this */
iload 7 /* last */
putfield io.undertow.util.FlexBase64$Encoder.last:I
42: .line 709
aload 0 /* this */
iload 8 /* state */
putfield io.undertow.util.FlexBase64$Encoder.state:I
43: .line 710
aload 0 /* this */
iload 2 /* pos */
putfield io.undertow.util.FlexBase64$Encoder.lastPos:I
44: .line 712
iload 5 /* opos */
ireturn
end local 11 // byte[] ENCODING_TABLE
end local 10 // boolean wrap
end local 9 // int count
end local 8 // int state
end local 7 // int last
end local 6 // int olimit
end local 5 // int opos
end local 4 // byte[] target
end local 3 // int limit
end local 2 // int pos
end local 1 // byte[] source
end local 0 // io.undertow.util.FlexBase64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lio/undertow/util/FlexBase64$Encoder;
0 45 1 source [B
0 45 2 pos I
0 45 3 limit I
0 45 4 target [B
0 45 5 opos I
0 45 6 olimit I
3 45 7 last I
4 45 8 state I
5 45 9 count I
6 45 10 wrap Z
7 45 11 ENCODING_TABLE [B
9 39 12 require I
15 39 13 b I
MethodParameters:
Name Flags
source
pos
limit
target
opos
olimit
private static java.lang.String encodeString(byte[], int, int, boolean, boolean);
descriptor: ([BIIZZ)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=14, args_size=5
start local 0 // byte[] source
start local 1 // int pos
start local 2 // int limit
start local 3 // boolean wrap
start local 4 // boolean url
0: .line 717
iload 2 /* limit */
iload 1 /* pos */
isub
istore 5 /* olimit */
start local 5 // int olimit
1: .line 718
iload 5 /* olimit */
iconst_3
irem
istore 6 /* remainder */
start local 6 // int remainder
2: .line 719
iload 5 /* olimit */
iload 6 /* remainder */
ifne 3
iconst_0
goto 4
StackMap locals: byte[] int int int int int int
StackMap stack: int
3: iconst_3
iload 6 /* remainder */
isub
StackMap locals: byte[] int int int int int int
StackMap stack: int int
4: iadd
iconst_3
idiv
iconst_4
imul
istore 5 /* olimit */
5: .line 720
iload 5 /* olimit */
iload 3 /* wrap */
ifeq 6
iload 5 /* olimit */
bipush 76
idiv
iconst_2
imul
iconst_2
iadd
goto 7
StackMap locals:
StackMap stack: int
6: iconst_0
StackMap locals: byte[] int int int int int int
StackMap stack: int int
7: iadd
istore 5 /* olimit */
8: .line 721
iload 5 /* olimit */
newarray 5
astore 7 /* target */
start local 7 // char[] target
9: .line 722
iconst_0
istore 8 /* opos */
start local 8 // int opos
10: .line 723
iconst_0
istore 9 /* last */
start local 9 // int last
11: .line 724
iconst_0
istore 10 /* count */
start local 10 // int count
12: .line 725
iconst_0
istore 11 /* state */
start local 11 // int state
13: .line 726
iload 4 /* url */
ifeq 14
getstatic io.undertow.util.FlexBase64.URL_ENCODING_TABLE:[B
goto 15
StackMap locals: byte[] int int int int int int char[] int int int int
StackMap stack:
14: getstatic io.undertow.util.FlexBase64.STANDARD_ENCODING_TABLE:[B
StackMap locals:
StackMap stack: byte[]
15: astore 12 /* ENCODING_TABLE */
start local 12 // byte[] ENCODING_TABLE
16: .line 728
goto 38
17: .line 730
StackMap locals: byte[]
StackMap stack:
aload 0 /* source */
iload 1 /* pos */
iinc 1 /* pos */ 1
baload
sipush 255
iand
istore 13 /* b */
start local 13 // int b
18: .line 731
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
aload 12 /* ENCODING_TABLE */
iload 13 /* b */
iconst_2
iushr
baload
i2c
castore
19: .line 732
iload 13 /* b */
iconst_3
iand
iconst_4
ishl
istore 9 /* last */
20: .line 733
iload 1 /* pos */
iload 2 /* limit */
if_icmplt 23
21: .line 734
iconst_1
istore 11 /* state */
22: .line 735
goto 39
23: .line 737
StackMap locals: int
StackMap stack:
aload 0 /* source */
iload 1 /* pos */
iinc 1 /* pos */ 1
baload
sipush 255
iand
istore 13 /* b */
24: .line 738
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
aload 12 /* ENCODING_TABLE */
iload 9 /* last */
iload 13 /* b */
iconst_4
iushr
ior
baload
i2c
castore
25: .line 739
iload 13 /* b */
bipush 15
iand
iconst_2
ishl
istore 9 /* last */
26: .line 740
iload 1 /* pos */
iload 2 /* limit */
if_icmplt 29
27: .line 741
iconst_2
istore 11 /* state */
28: .line 742
goto 39
29: .line 744
StackMap locals:
StackMap stack:
aload 0 /* source */
iload 1 /* pos */
iinc 1 /* pos */ 1
baload
sipush 255
iand
istore 13 /* b */
30: .line 745
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
aload 12 /* ENCODING_TABLE */
iload 9 /* last */
iload 13 /* b */
bipush 6
iushr
ior
baload
i2c
castore
31: .line 746
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
aload 12 /* ENCODING_TABLE */
iload 13 /* b */
bipush 63
iand
baload
i2c
castore
32: .line 748
iload 3 /* wrap */
ifeq 38
33: .line 749
iinc 10 /* count */ 4
34: .line 750
iload 10 /* count */
bipush 76
if_icmplt 38
35: .line 751
iconst_0
istore 10 /* count */
36: .line 752
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
bipush 13
castore
37: .line 753
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
bipush 10
castore
end local 13 // int b
38: .line 728
StackMap locals:
StackMap stack:
iload 2 /* limit */
iload 1 /* pos */
if_icmpgt 17
39: .line 758
StackMap locals:
StackMap stack:
aload 7 /* target */
iload 8 /* opos */
iload 11 /* state */
iload 9 /* last */
iload 3 /* wrap */
iload 4 /* url */
invokestatic io.undertow.util.FlexBase64$Encoder.complete:([CIIIZZ)I
pop
40: .line 762
getstatic io.undertow.util.FlexBase64.STRING_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
ifnull 44
41: .line 763
getstatic io.undertow.util.FlexBase64.STRING_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7 /* target */
aastore
dup
iconst_1
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
42: areturn
43: .line 765
StackMap locals:
StackMap stack: java.lang.Exception
pop
44: .line 769
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 7 /* target */
invokespecial java.lang.String.<init>:([C)V
areturn
end local 12 // byte[] ENCODING_TABLE
end local 11 // int state
end local 10 // int count
end local 9 // int last
end local 8 // int opos
end local 7 // char[] target
end local 6 // int remainder
end local 5 // int olimit
end local 4 // boolean url
end local 3 // boolean wrap
end local 2 // int limit
end local 1 // int pos
end local 0 // byte[] source
LocalVariableTable:
Start End Slot Name Signature
0 45 0 source [B
0 45 1 pos I
0 45 2 limit I
0 45 3 wrap Z
0 45 4 url Z
1 45 5 olimit I
2 45 6 remainder I
9 45 7 target [C
10 45 8 opos I
11 45 9 last I
12 45 10 count I
13 45 11 state I
16 45 12 ENCODING_TABLE [B
18 38 13 b I
Exception table:
from to target type
40 42 43 Class java.lang.Exception
MethodParameters:
Name Flags
source
pos
limit
wrap
url
private static byte[] encodeBytes(byte[], int, int, boolean, boolean);
descriptor: ([BIIZZ)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=14, args_size=5
start local 0 // byte[] source
start local 1 // int pos
start local 2 // int limit
start local 3 // boolean wrap
start local 4 // boolean url
0: .line 773
iload 2 /* limit */
iload 1 /* pos */
isub
istore 5 /* olimit */
start local 5 // int olimit
1: .line 774
iload 5 /* olimit */
iconst_3
irem
istore 6 /* remainder */
start local 6 // int remainder
2: .line 775
iload 5 /* olimit */
iload 6 /* remainder */
ifne 3
iconst_0
goto 4
StackMap locals: byte[] int int int int int int
StackMap stack: int
3: iconst_3
iload 6 /* remainder */
isub
StackMap locals: byte[] int int int int int int
StackMap stack: int int
4: iadd
iconst_3
idiv
iconst_4
imul
istore 5 /* olimit */
5: .line 776
iload 5 /* olimit */
iload 3 /* wrap */
ifeq 6
iload 5 /* olimit */
bipush 76
idiv
iconst_2
imul
iconst_2
iadd
goto 7
StackMap locals:
StackMap stack: int
6: iconst_0
StackMap locals: byte[] int int int int int int
StackMap stack: int int
7: iadd
istore 5 /* olimit */
8: .line 777
iload 5 /* olimit */
newarray 8
astore 7 /* target */
start local 7 // byte[] target
9: .line 778
iconst_0
istore 8 /* opos */
start local 8 // int opos
10: .line 779
iconst_0
istore 9 /* count */
start local 9 // int count
11: .line 780
iconst_0
istore 10 /* last */
start local 10 // int last
12: .line 781
iconst_0
istore 11 /* state */
start local 11 // int state
13: .line 782
iload 4 /* url */
ifeq 14
getstatic io.undertow.util.FlexBase64.URL_ENCODING_TABLE:[B
goto 15
StackMap locals: byte[] int int int int int int byte[] int int int int
StackMap stack:
14: getstatic io.undertow.util.FlexBase64.STANDARD_ENCODING_TABLE:[B
StackMap locals:
StackMap stack: byte[]
15: astore 12 /* ENCODING_TABLE */
start local 12 // byte[] ENCODING_TABLE
16: .line 784
goto 38
17: .line 786
StackMap locals: byte[]
StackMap stack:
aload 0 /* source */
iload 1 /* pos */
iinc 1 /* pos */ 1
baload
sipush 255
iand
istore 13 /* b */
start local 13 // int b
18: .line 787
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
aload 12 /* ENCODING_TABLE */
iload 13 /* b */
iconst_2
iushr
baload
bastore
19: .line 788
iload 13 /* b */
iconst_3
iand
iconst_4
ishl
istore 10 /* last */
20: .line 789
iload 1 /* pos */
iload 2 /* limit */
if_icmplt 23
21: .line 790
iconst_1
istore 11 /* state */
22: .line 791
goto 39
23: .line 793
StackMap locals: int
StackMap stack:
aload 0 /* source */
iload 1 /* pos */
iinc 1 /* pos */ 1
baload
sipush 255
iand
istore 13 /* b */
24: .line 794
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
aload 12 /* ENCODING_TABLE */
iload 10 /* last */
iload 13 /* b */
iconst_4
iushr
ior
baload
bastore
25: .line 795
iload 13 /* b */
bipush 15
iand
iconst_2
ishl
istore 10 /* last */
26: .line 796
iload 1 /* pos */
iload 2 /* limit */
if_icmplt 29
27: .line 797
iconst_2
istore 11 /* state */
28: .line 798
goto 39
29: .line 800
StackMap locals:
StackMap stack:
aload 0 /* source */
iload 1 /* pos */
iinc 1 /* pos */ 1
baload
sipush 255
iand
istore 13 /* b */
30: .line 801
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
aload 12 /* ENCODING_TABLE */
iload 10 /* last */
iload 13 /* b */
bipush 6
iushr
ior
baload
bastore
31: .line 802
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
aload 12 /* ENCODING_TABLE */
iload 13 /* b */
bipush 63
iand
baload
bastore
32: .line 804
iload 3 /* wrap */
ifeq 38
33: .line 805
iinc 9 /* count */ 4
34: .line 806
iload 9 /* count */
bipush 76
if_icmplt 38
35: .line 807
iconst_0
istore 9 /* count */
36: .line 808
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
bipush 13
bastore
37: .line 809
aload 7 /* target */
iload 8 /* opos */
iinc 8 /* opos */ 1
bipush 10
bastore
end local 13 // int b
38: .line 784
StackMap locals:
StackMap stack:
iload 2 /* limit */
iload 1 /* pos */
if_icmpgt 17
39: .line 814
StackMap locals:
StackMap stack:
aload 7 /* target */
iload 8 /* opos */
iload 11 /* state */
iload 10 /* last */
iload 3 /* wrap */
iload 4 /* url */
invokestatic io.undertow.util.FlexBase64$Encoder.complete:([BIIIZZ)I
pop
40: .line 816
aload 7 /* target */
areturn
end local 12 // byte[] ENCODING_TABLE
end local 11 // int state
end local 10 // int last
end local 9 // int count
end local 8 // int opos
end local 7 // byte[] target
end local 6 // int remainder
end local 5 // int olimit
end local 4 // boolean url
end local 3 // boolean wrap
end local 2 // int limit
end local 1 // int pos
end local 0 // byte[] source
LocalVariableTable:
Start End Slot Name Signature
0 41 0 source [B
0 41 1 pos I
0 41 2 limit I
0 41 3 wrap Z
0 41 4 url Z
1 41 5 olimit I
2 41 6 remainder I
9 41 7 target [B
10 41 8 opos I
11 41 9 count I
12 41 10 last I
13 41 11 state I
16 41 12 ENCODING_TABLE [B
18 38 13 b I
MethodParameters:
Name Flags
source
pos
limit
wrap
url
private static java.lang.String encodeString(java.nio.ByteBuffer, boolean, boolean);
descriptor: (Ljava/nio/ByteBuffer;ZZ)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=13, args_size=3
start local 0 // java.nio.ByteBuffer source
start local 1 // boolean wrap
start local 2 // boolean url
0: .line 820
aload 0 /* source */
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 3 /* remaining */
start local 3 // int remaining
1: .line 821
iload 3 /* remaining */
iconst_3
irem
istore 4 /* remainder */
start local 4 // int remainder
2: .line 822
iload 3 /* remaining */
iload 4 /* remainder */
ifne 3
iconst_0
goto 4
StackMap locals: java.nio.ByteBuffer int int int int
StackMap stack: int
3: iconst_3
iload 4 /* remainder */
isub
StackMap locals: java.nio.ByteBuffer int int int int
StackMap stack: int int
4: iadd
iconst_3
idiv
iconst_4
imul
istore 5 /* olimit */
start local 5 // int olimit
5: .line 823
iload 5 /* olimit */
iload 1 /* wrap */
ifeq 6
iload 5 /* olimit */
bipush 76
idiv
iconst_2
imul
iconst_2
iadd
goto 7
StackMap locals: java.nio.ByteBuffer int int int int int
StackMap stack: int
6: iconst_0
StackMap locals: java.nio.ByteBuffer int int int int int
StackMap stack: int int
7: iadd
istore 5 /* olimit */
8: .line 824
iload 5 /* olimit */
newarray 5
astore 6 /* target */
start local 6 // char[] target
9: .line 825
iconst_0
istore 7 /* opos */
start local 7 // int opos
10: .line 826
iconst_0
istore 8 /* last */
start local 8 // int last
11: .line 827
iconst_0
istore 9 /* state */
start local 9 // int state
12: .line 828
iconst_0
istore 10 /* count */
start local 10 // int count
13: .line 829
iload 2 /* url */
ifeq 14
getstatic io.undertow.util.FlexBase64.URL_ENCODING_TABLE:[B
goto 15
StackMap locals: java.nio.ByteBuffer int int int int int char[] int int int int
StackMap stack:
14: getstatic io.undertow.util.FlexBase64.STANDARD_ENCODING_TABLE:[B
StackMap locals:
StackMap stack: byte[]
15: astore 11 /* ENCODING_TABLE */
start local 11 // byte[] ENCODING_TABLE
16: .line 832
goto 39
17: .line 834
StackMap locals: byte[]
StackMap stack:
aload 0 /* source */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 12 /* b */
start local 12 // int b
18: .line 835
aload 6 /* target */
iload 7 /* opos */
iinc 7 /* opos */ 1
aload 11 /* ENCODING_TABLE */
iload 12 /* b */
iconst_2
iushr
baload
i2c
castore
19: .line 836
iload 12 /* b */
iconst_3
iand
iconst_4
ishl
istore 8 /* last */
20: .line 837
iinc 3 /* remaining */ -1
iload 3 /* remaining */
ifgt 23
21: .line 838
iconst_1
istore 9 /* state */
22: .line 839
goto 40
23: .line 841
StackMap locals: int
StackMap stack:
aload 0 /* source */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 12 /* b */
24: .line 842
aload 6 /* target */
iload 7 /* opos */
iinc 7 /* opos */ 1
aload 11 /* ENCODING_TABLE */
iload 8 /* last */
iload 12 /* b */
iconst_4
iushr
ior
baload
i2c
castore
25: .line 843
iload 12 /* b */
bipush 15
iand
iconst_2
ishl
istore 8 /* last */
26: .line 844
iinc 3 /* remaining */ -1
iload 3 /* remaining */
ifgt 29
27: .line 845
iconst_2
istore 9 /* state */
28: .line 846
goto 40
29: .line 848
StackMap locals:
StackMap stack:
aload 0 /* source */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 12 /* b */
30: .line 849
aload 6 /* target */
iload 7 /* opos */
iinc 7 /* opos */ 1
aload 11 /* ENCODING_TABLE */
iload 8 /* last */
iload 12 /* b */
bipush 6
iushr
ior
baload
i2c
castore
31: .line 850
aload 6 /* target */
iload 7 /* opos */
iinc 7 /* opos */ 1
aload 11 /* ENCODING_TABLE */
iload 12 /* b */
bipush 63
iand
baload
i2c
castore
32: .line 851
iinc 3 /* remaining */ -1
33: .line 853
iload 1 /* wrap */
ifeq 39
34: .line 854
iinc 10 /* count */ 4
35: .line 855
iload 10 /* count */
bipush 76
if_icmplt 39
36: .line 856
iconst_0
istore 10 /* count */
37: .line 857
aload 6 /* target */
iload 7 /* opos */
iinc 7 /* opos */ 1
bipush 13
castore
38: .line 858
aload 6 /* target */
iload 7 /* opos */
iinc 7 /* opos */ 1
bipush 10
castore
end local 12 // int b
39: .line 832
StackMap locals:
StackMap stack:
iload 3 /* remaining */
ifgt 17
40: .line 863
StackMap locals:
StackMap stack:
aload 6 /* target */
iload 7 /* opos */
iload 9 /* state */
iload 8 /* last */
iload 1 /* wrap */
iload 2 /* url */
invokestatic io.undertow.util.FlexBase64$Encoder.complete:([CIIIZZ)I
pop
41: .line 867
getstatic io.undertow.util.FlexBase64.STRING_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
ifnull 45
42: .line 868
getstatic io.undertow.util.FlexBase64.STRING_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 6 /* target */
aastore
dup
iconst_1
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
43: areturn
44: .line 870
StackMap locals:
StackMap stack: java.lang.Exception
pop
45: .line 874
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 6 /* target */
invokespecial java.lang.String.<init>:([C)V
areturn
end local 11 // byte[] ENCODING_TABLE
end local 10 // int count
end local 9 // int state
end local 8 // int last
end local 7 // int opos
end local 6 // char[] target
end local 5 // int olimit
end local 4 // int remainder
end local 3 // int remaining
end local 2 // boolean url
end local 1 // boolean wrap
end local 0 // java.nio.ByteBuffer source
LocalVariableTable:
Start End Slot Name Signature
0 46 0 source Ljava/nio/ByteBuffer;
0 46 1 wrap Z
0 46 2 url Z
1 46 3 remaining I
2 46 4 remainder I
5 46 5 olimit I
9 46 6 target [C
10 46 7 opos I
11 46 8 last I
12 46 9 state I
13 46 10 count I
16 46 11 ENCODING_TABLE [B
18 39 12 b I
Exception table:
from to target type
41 43 44 Class java.lang.Exception
MethodParameters:
Name Flags
source
wrap
url
public int getLastInputPosition();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // io.undertow.util.FlexBase64$Encoder this
0: .line 885
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.lastPos:I
ireturn
end local 0 // io.undertow.util.FlexBase64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/util/FlexBase64$Encoder;
public int complete(byte[], int);
descriptor: ([BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 // io.undertow.util.FlexBase64$Encoder this
start local 1 // byte[] target
start local 2 // int pos
0: .line 910
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.state:I
ifle 8
1: .line 911
aload 1 /* target */
iload 2 /* pos */
iinc 2 /* pos */ 1
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.encodingTable:[B
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.last:I
baload
bastore
2: .line 912
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.state:I
istore 3 /* i */
start local 3 // int i
3: goto 6
4: .line 913
StackMap locals: int
StackMap stack:
aload 1 /* target */
iload 2 /* pos */
iinc 2 /* pos */ 1
bipush 61
bastore
5: .line 912
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 3 /* i */
iconst_3
if_icmplt 4
end local 3 // int i
7: .line 916
aload 0 /* this */
aload 0 /* this */
iconst_0
dup_x1
putfield io.undertow.util.FlexBase64$Encoder.state:I
putfield io.undertow.util.FlexBase64$Encoder.last:I
8: .line 918
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.wrap:Z
ifeq 11
9: .line 919
aload 1 /* target */
iload 2 /* pos */
iinc 2 /* pos */ 1
bipush 13
bastore
10: .line 920
aload 1 /* target */
iload 2 /* pos */
iinc 2 /* pos */ 1
bipush 10
bastore
11: .line 923
StackMap locals:
StackMap stack:
iload 2 /* pos */
ireturn
end local 2 // int pos
end local 1 // byte[] target
end local 0 // io.undertow.util.FlexBase64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/undertow/util/FlexBase64$Encoder;
0 12 1 target [B
0 12 2 pos I
3 7 3 i I
MethodParameters:
Name Flags
target
pos
private static int complete(char[], int, int, int, boolean, boolean);
descriptor: ([CIIIZZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=6
start local 0 // char[] target
start local 1 // int pos
start local 2 // int state
start local 3 // int last
start local 4 // boolean wrap
start local 5 // boolean url
0: .line 927
iload 2 /* state */
ifle 9
1: .line 928
aload 0 /* target */
iload 1 /* pos */
iinc 1 /* pos */ 1
iload 5 /* url */
ifeq 2
getstatic io.undertow.util.FlexBase64.URL_ENCODING_TABLE:[B
goto 3
StackMap locals: char[] int int int int int
StackMap stack: char[] int
2: getstatic io.undertow.util.FlexBase64.STANDARD_ENCODING_TABLE:[B
StackMap locals: char[] int int int int int
StackMap stack: char[] int byte[]
3: iload 3 /* last */
baload
i2c
castore
4: .line 929
iload 2 /* state */
istore 6 /* i */
start local 6 // int i
5: goto 8
6: .line 930
StackMap locals: int
StackMap stack:
aload 0 /* target */
iload 1 /* pos */
iinc 1 /* pos */ 1
bipush 61
castore
7: .line 929
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 6 /* i */
iconst_3
if_icmplt 6
end local 6 // int i
9: .line 933
StackMap locals:
StackMap stack:
iload 4 /* wrap */
ifeq 12
10: .line 934
aload 0 /* target */
iload 1 /* pos */
iinc 1 /* pos */ 1
bipush 13
castore
11: .line 935
aload 0 /* target */
iload 1 /* pos */
iinc 1 /* pos */ 1
bipush 10
castore
12: .line 938
StackMap locals:
StackMap stack:
iload 1 /* pos */
ireturn
end local 5 // boolean url
end local 4 // boolean wrap
end local 3 // int last
end local 2 // int state
end local 1 // int pos
end local 0 // char[] target
LocalVariableTable:
Start End Slot Name Signature
0 13 0 target [C
0 13 1 pos I
0 13 2 state I
0 13 3 last I
0 13 4 wrap Z
0 13 5 url Z
5 9 6 i I
MethodParameters:
Name Flags
target
pos
state
last
wrap
url
private static int complete(byte[], int, int, int, boolean, boolean);
descriptor: ([BIIIZZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=6
start local 0 // byte[] target
start local 1 // int pos
start local 2 // int state
start local 3 // int last
start local 4 // boolean wrap
start local 5 // boolean url
0: .line 942
iload 2 /* state */
ifle 9
1: .line 943
aload 0 /* target */
iload 1 /* pos */
iinc 1 /* pos */ 1
iload 5 /* url */
ifeq 2
getstatic io.undertow.util.FlexBase64.URL_ENCODING_TABLE:[B
goto 3
StackMap locals: byte[] int int int int int
StackMap stack: byte[] int
2: getstatic io.undertow.util.FlexBase64.STANDARD_ENCODING_TABLE:[B
StackMap locals: byte[] int int int int int
StackMap stack: byte[] int byte[]
3: iload 3 /* last */
baload
bastore
4: .line 944
iload 2 /* state */
istore 6 /* i */
start local 6 // int i
5: goto 8
6: .line 945
StackMap locals: int
StackMap stack:
aload 0 /* target */
iload 1 /* pos */
iinc 1 /* pos */ 1
bipush 61
bastore
7: .line 944
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 6 /* i */
iconst_3
if_icmplt 6
end local 6 // int i
9: .line 948
StackMap locals:
StackMap stack:
iload 4 /* wrap */
ifeq 12
10: .line 949
aload 0 /* target */
iload 1 /* pos */
iinc 1 /* pos */ 1
bipush 13
bastore
11: .line 950
aload 0 /* target */
iload 1 /* pos */
iinc 1 /* pos */ 1
bipush 10
bastore
12: .line 953
StackMap locals:
StackMap stack:
iload 1 /* pos */
ireturn
end local 5 // boolean url
end local 4 // boolean wrap
end local 3 // int last
end local 2 // int state
end local 1 // int pos
end local 0 // byte[] target
LocalVariableTable:
Start End Slot Name Signature
0 13 0 target [B
0 13 1 pos I
0 13 2 state I
0 13 3 last I
0 13 4 wrap Z
0 13 5 url Z
5 9 6 i I
MethodParameters:
Name Flags
target
pos
state
last
wrap
url
public void complete(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 // io.undertow.util.FlexBase64$Encoder this
start local 1 // java.nio.ByteBuffer target
0: .line 964
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.state:I
ifle 8
1: .line 965
aload 1 /* target */
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.encodingTable:[B
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.last:I
baload
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
2: .line 966
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.state:I
istore 2 /* i */
start local 2 // int i
3: goto 6
4: .line 967
StackMap locals: int
StackMap stack:
aload 1 /* target */
bipush 61
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
5: .line 966
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 2 /* i */
iconst_3
if_icmplt 4
end local 2 // int i
7: .line 970
aload 0 /* this */
aload 0 /* this */
iconst_0
dup_x1
putfield io.undertow.util.FlexBase64$Encoder.state:I
putfield io.undertow.util.FlexBase64$Encoder.last:I
8: .line 972
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.undertow.util.FlexBase64$Encoder.wrap:Z
ifeq 10
9: .line 973
aload 1 /* target */
sipush 3338
invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
pop
10: .line 976
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_0
putfield io.undertow.util.FlexBase64$Encoder.count:I
11: .line 977
return
end local 1 // java.nio.ByteBuffer target
end local 0 // io.undertow.util.FlexBase64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/undertow/util/FlexBase64$Encoder;
0 12 1 target Ljava/nio/ByteBuffer;
3 7 2 i I
MethodParameters:
Name Flags
target
}
SourceFile: "FlexBase64.java"
NestHost: io.undertow.util.FlexBase64
InnerClasses:
public final Encoder = io.undertow.util.FlexBase64$Encoder of io.undertow.util.FlexBase64