public class java.util.Base64$Encoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.util.Base64$Encoder
super_class: java.lang.Object
{
private final byte[] newline;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int linemax;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isURL;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean doPadding;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final char[] toBase64;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] toBase64URL;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MIMELINEMAX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 76
private static final byte[] CRLF;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.util.Base64$Encoder RFC4648;
descriptor: Ljava/util/Base64$Encoder;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.util.Base64$Encoder RFC4648_URLSAFE;
descriptor: Ljava/util/Base64$Encoder;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.util.Base64$Encoder RFC2045;
descriptor: Ljava/util/Base64$Encoder;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: .line 209
bipush 64
newarray 5
dup
iconst_0
1: .line 210
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
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
2: .line 211
bipush 78
castore
dup
bipush 14
bipush 79
castore
dup
bipush 15
bipush 80
castore
dup
bipush 16
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
bipush 89
castore
dup
bipush 25
bipush 90
castore
dup
bipush 26
3: .line 212
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
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
4: .line 213
bipush 110
castore
dup
bipush 40
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
bipush 119
castore
dup
bipush 49
bipush 120
castore
dup
bipush 50
bipush 121
castore
dup
bipush 51
bipush 122
castore
dup
bipush 52
5: .line 214
bipush 48
castore
dup
bipush 53
bipush 49
castore
dup
bipush 54
bipush 50
castore
dup
bipush 55
bipush 51
castore
dup
bipush 56
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
6: .line 209
putstatic java.util.Base64$Encoder.toBase64:[C
7: .line 222
bipush 64
newarray 5
dup
iconst_0
8: .line 223
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
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
9: .line 224
bipush 78
castore
dup
bipush 14
bipush 79
castore
dup
bipush 15
bipush 80
castore
dup
bipush 16
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
bipush 89
castore
dup
bipush 25
bipush 90
castore
dup
bipush 26
10: .line 225
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
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
11: .line 226
bipush 110
castore
dup
bipush 40
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
bipush 119
castore
dup
bipush 49
bipush 120
castore
dup
bipush 50
bipush 121
castore
dup
bipush 51
bipush 122
castore
dup
bipush 52
12: .line 227
bipush 48
castore
dup
bipush 53
bipush 49
castore
dup
bipush 54
bipush 50
castore
dup
bipush 55
bipush 51
castore
dup
bipush 56
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 45
castore
dup
bipush 63
bipush 95
castore
13: .line 222
putstatic java.util.Base64$Encoder.toBase64URL:[C
14: .line 231
iconst_2
newarray 8
dup
iconst_0
bipush 13
bastore
dup
iconst_1
bipush 10
bastore
putstatic java.util.Base64$Encoder.CRLF:[B
15: .line 233
new java.util.Base64$Encoder
dup
iconst_0
aconst_null
iconst_m1
iconst_1
invokespecial java.util.Base64$Encoder.<init>:(Z[BIZ)V
putstatic java.util.Base64$Encoder.RFC4648:Ljava/util/Base64$Encoder;
16: .line 234
new java.util.Base64$Encoder
dup
iconst_1
aconst_null
iconst_m1
iconst_1
invokespecial java.util.Base64$Encoder.<init>:(Z[BIZ)V
putstatic java.util.Base64$Encoder.RFC4648_URLSAFE:Ljava/util/Base64$Encoder;
17: .line 235
new java.util.Base64$Encoder
dup
iconst_0
getstatic java.util.Base64$Encoder.CRLF:[B
bipush 76
iconst_1
invokespecial java.util.Base64$Encoder.<init>:(Z[BIZ)V
putstatic java.util.Base64$Encoder.RFC2045:Ljava/util/Base64$Encoder;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(boolean, byte[], int, boolean);
descriptor: (Z[BIZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=5
start local 0 // java.util.Base64$Encoder this
start local 1 // boolean isURL
start local 2 // byte[] newline
start local 3 // int linemax
start local 4 // boolean doPadding
0: .line 197
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 198
aload 0 /* this */
iload 1 /* isURL */
putfield java.util.Base64$Encoder.isURL:Z
2: .line 199
aload 0 /* this */
aload 2 /* newline */
putfield java.util.Base64$Encoder.newline:[B
3: .line 200
aload 0 /* this */
iload 3 /* linemax */
putfield java.util.Base64$Encoder.linemax:I
4: .line 201
aload 0 /* this */
iload 4 /* doPadding */
putfield java.util.Base64$Encoder.doPadding:Z
5: .line 202
return
end local 4 // boolean doPadding
end local 3 // int linemax
end local 2 // byte[] newline
end local 1 // boolean isURL
end local 0 // java.util.Base64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/Base64$Encoder;
0 6 1 isURL Z
0 6 2 newline [B
0 6 3 linemax I
0 6 4 doPadding Z
MethodParameters:
Name Flags
isURL
newline
linemax
doPadding
private final int outLength(int);
descriptor: (I)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 // java.util.Base64$Encoder this
start local 1 // int srclen
0: .line 238
iconst_0
istore 2 /* len */
start local 2 // int len
1: .line 239
aload 0 /* this */
getfield java.util.Base64$Encoder.doPadding:Z
ifeq 4
2: .line 240
iconst_4
iload 1 /* srclen */
iconst_2
iadd
iconst_3
idiv
imul
istore 2 /* len */
3: .line 241
goto 8
4: .line 242
StackMap locals: int
StackMap stack:
iload 1 /* srclen */
iconst_3
irem
istore 3 /* n */
start local 3 // int n
5: .line 243
iconst_4
iload 1 /* srclen */
iconst_3
idiv
imul
iload 3 /* n */
ifne 6
iconst_0
goto 7
StackMap locals: java.util.Base64$Encoder int int int
StackMap stack: int
6: iload 3 /* n */
iconst_1
iadd
StackMap locals: java.util.Base64$Encoder int int int
StackMap stack: int int
7: iadd
istore 2 /* len */
end local 3 // int n
8: .line 245
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.util.Base64$Encoder.linemax:I
ifle 10
9: .line 246
iload 2 /* len */
iload 2 /* len */
iconst_1
isub
aload 0 /* this */
getfield java.util.Base64$Encoder.linemax:I
idiv
aload 0 /* this */
getfield java.util.Base64$Encoder.newline:[B
arraylength
imul
iadd
istore 2 /* len */
10: .line 247
StackMap locals:
StackMap stack:
iload 2 /* len */
ireturn
end local 2 // int len
end local 1 // int srclen
end local 0 // java.util.Base64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/Base64$Encoder;
0 11 1 srclen I
1 11 2 len I
5 8 3 n I
MethodParameters:
Name Flags
srclen
public byte[] encode(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 // java.util.Base64$Encoder this
start local 1 // byte[] src
0: .line 261
aload 0 /* this */
aload 1 /* src */
arraylength
invokevirtual java.util.Base64$Encoder.outLength:(I)I
istore 2 /* len */
start local 2 // int len
1: .line 262
iload 2 /* len */
newarray 8
astore 3 /* dst */
start local 3 // byte[] dst
2: .line 263
aload 0 /* this */
aload 1 /* src */
iconst_0
aload 1 /* src */
arraylength
aload 3 /* dst */
invokevirtual java.util.Base64$Encoder.encode0:([BII[B)I
istore 4 /* ret */
start local 4 // int ret
3: .line 264
iload 4 /* ret */
aload 3 /* dst */
arraylength
if_icmpeq 5
4: .line 265
aload 3 /* dst */
iload 4 /* ret */
invokestatic java.util.Arrays.copyOf:([BI)[B
areturn
5: .line 266
StackMap locals: int byte[] int
StackMap stack:
aload 3 /* dst */
areturn
end local 4 // int ret
end local 3 // byte[] dst
end local 2 // int len
end local 1 // byte[] src
end local 0 // java.util.Base64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/Base64$Encoder;
0 6 1 src [B
1 6 2 len I
2 6 3 dst [B
3 6 4 ret I
MethodParameters:
Name Flags
src
public int encode(byte[], byte[]);
descriptor: ([B[B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 // java.util.Base64$Encoder this
start local 1 // byte[] src
start local 2 // byte[] dst
0: .line 289
aload 0 /* this */
aload 1 /* src */
arraylength
invokevirtual java.util.Base64$Encoder.outLength:(I)I
istore 3 /* len */
start local 3 // int len
1: .line 290
aload 2 /* dst */
arraylength
iload 3 /* len */
if_icmpge 5
2: .line 291
new java.lang.IllegalArgumentException
dup
3: .line 292
ldc "Output byte array is too small for encoding all input bytes"
4: .line 291
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: .line 293
StackMap locals: int
StackMap stack:
aload 0 /* this */
aload 1 /* src */
iconst_0
aload 1 /* src */
arraylength
aload 2 /* dst */
invokevirtual java.util.Base64$Encoder.encode0:([BII[B)I
ireturn
end local 3 // int len
end local 2 // byte[] dst
end local 1 // byte[] src
end local 0 // java.util.Base64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/Base64$Encoder;
0 6 1 src [B
0 6 2 dst [B
1 6 3 len I
MethodParameters:
Name Flags
src
dst
public java.lang.String encodeToString(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 // java.util.Base64$Encoder this
start local 1 // byte[] src
0: .line 315
aload 0 /* this */
aload 1 /* src */
invokevirtual java.util.Base64$Encoder.encode:([B)[B
astore 2 /* encoded */
start local 2 // byte[] encoded
1: .line 316
new java.lang.String
dup
aload 2 /* encoded */
iconst_0
iconst_0
aload 2 /* encoded */
arraylength
invokespecial java.lang.String.<init>:([BIII)V
areturn
end local 2 // byte[] encoded
end local 1 // byte[] src
end local 0 // java.util.Base64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/Base64$Encoder;
0 2 1 src [B
1 2 2 encoded [B
MethodParameters:
Name Flags
src
public java.nio.ByteBuffer encode(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 // java.util.Base64$Encoder this
start local 1 // java.nio.ByteBuffer buffer
0: .line 334
aload 0 /* this */
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.util.Base64$Encoder.outLength:(I)I
istore 2 /* len */
start local 2 // int len
1: .line 335
iload 2 /* len */
newarray 8
astore 3 /* dst */
start local 3 // byte[] dst
2: .line 336
iconst_0
istore 4 /* ret */
start local 4 // int ret
3: .line 337
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 11
4: .line 338
aload 0 /* this */
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.array:()[B
5: .line 339
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.position:()I
iadd
6: .line 340
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.limit:()I
iadd
7: .line 341
aload 3 /* dst */
8: .line 338
invokevirtual java.util.Base64$Encoder.encode0:([BII[B)I
istore 4 /* ret */
9: .line 342
aload 1 /* buffer */
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
10: .line 343
goto 14
11: .line 344
StackMap locals: int byte[] int
StackMap stack:
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.remaining:()I
newarray 8
astore 5 /* src */
start local 5 // byte[] src
12: .line 345
aload 1 /* buffer */
aload 5 /* src */
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
13: .line 346
aload 0 /* this */
aload 5 /* src */
iconst_0
aload 5 /* src */
arraylength
aload 3 /* dst */
invokevirtual java.util.Base64$Encoder.encode0:([BII[B)I
istore 4 /* ret */
end local 5 // byte[] src
14: .line 348
StackMap locals:
StackMap stack:
iload 4 /* ret */
aload 3 /* dst */
arraylength
if_icmpeq 16
15: .line 349
aload 3 /* dst */
iload 4 /* ret */
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 3 /* dst */
16: .line 350
StackMap locals:
StackMap stack:
aload 3 /* dst */
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
areturn
end local 4 // int ret
end local 3 // byte[] dst
end local 2 // int len
end local 1 // java.nio.ByteBuffer buffer
end local 0 // java.util.Base64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/util/Base64$Encoder;
0 17 1 buffer Ljava/nio/ByteBuffer;
1 17 2 len I
2 17 3 dst [B
3 17 4 ret I
12 14 5 src [B
MethodParameters:
Name Flags
buffer
public java.io.OutputStream wrap(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 // java.util.Base64$Encoder this
start local 1 // java.io.OutputStream os
0: .line 368
aload 1 /* os */
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: .line 369
new java.util.Base64$EncOutputStream
dup
aload 1 /* os */
aload 0 /* this */
getfield java.util.Base64$Encoder.isURL:Z
ifeq 2
getstatic java.util.Base64$Encoder.toBase64URL:[C
goto 3
StackMap locals: java.util.Base64$Encoder java.io.OutputStream
StackMap stack: new 1 new 1 java.io.OutputStream
2: getstatic java.util.Base64$Encoder.toBase64:[C
3: .line 370
StackMap locals: java.util.Base64$Encoder java.io.OutputStream
StackMap stack: new 1 new 1 java.io.OutputStream char[]
aload 0 /* this */
getfield java.util.Base64$Encoder.newline:[B
aload 0 /* this */
getfield java.util.Base64$Encoder.linemax:I
aload 0 /* this */
getfield java.util.Base64$Encoder.doPadding:Z
4: .line 369
invokespecial java.util.Base64$EncOutputStream.<init>:(Ljava/io/OutputStream;[C[BIZ)V
areturn
end local 1 // java.io.OutputStream os
end local 0 // java.util.Base64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/Base64$Encoder;
0 5 1 os Ljava/io/OutputStream;
MethodParameters:
Name Flags
os
public java.util.Base64$Encoder withoutPadding();
descriptor: ()Ljava/util/Base64$Encoder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 // java.util.Base64$Encoder this
0: .line 386
aload 0 /* this */
getfield java.util.Base64$Encoder.doPadding:Z
ifne 2
1: .line 387
aload 0 /* this */
areturn
2: .line 388
StackMap locals:
StackMap stack:
new java.util.Base64$Encoder
dup
aload 0 /* this */
getfield java.util.Base64$Encoder.isURL:Z
aload 0 /* this */
getfield java.util.Base64$Encoder.newline:[B
aload 0 /* this */
getfield java.util.Base64$Encoder.linemax:I
iconst_0
invokespecial java.util.Base64$Encoder.<init>:(Z[BIZ)V
areturn
end local 0 // java.util.Base64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/Base64$Encoder;
private int encode0(byte[], int, int, byte[]);
descriptor: ([BII[B)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=16, args_size=5
start local 0 // java.util.Base64$Encoder this
start local 1 // byte[] src
start local 2 // int off
start local 3 // int end
start local 4 // byte[] dst
0: .line 392
aload 0 /* this */
getfield java.util.Base64$Encoder.isURL:Z
ifeq 1
getstatic java.util.Base64$Encoder.toBase64URL:[C
goto 2
StackMap locals:
StackMap stack:
1: getstatic java.util.Base64$Encoder.toBase64:[C
StackMap locals:
StackMap stack: char[]
2: astore 5 /* base64 */
start local 5 // char[] base64
3: .line 393
iload 2 /* off */
istore 6 /* sp */
start local 6 // int sp
4: .line 394
iload 3 /* end */
iload 2 /* off */
isub
iconst_3
idiv
iconst_3
imul
istore 7 /* slen */
start local 7 // int slen
5: .line 395
iload 2 /* off */
iload 7 /* slen */
iadd
istore 8 /* sl */
start local 8 // int sl
6: .line 396
aload 0 /* this */
getfield java.util.Base64$Encoder.linemax:I
ifle 8
iload 7 /* slen */
aload 0 /* this */
getfield java.util.Base64$Encoder.linemax:I
iconst_4
idiv
iconst_3
imul
if_icmple 8
7: .line 397
aload 0 /* this */
getfield java.util.Base64$Encoder.linemax:I
iconst_4
idiv
iconst_3
imul
istore 7 /* slen */
8: .line 398
StackMap locals: java.util.Base64$Encoder byte[] int int byte[] char[] int int int
StackMap stack:
iconst_0
istore 9 /* dp */
start local 9 // int dp
9: .line 399
goto 33
10: .line 400
StackMap locals: int
StackMap stack:
iload 6 /* sp */
iload 7 /* slen */
iadd
iload 8 /* sl */
invokestatic java.lang.Math.min:(II)I
istore 10 /* sl0 */
start local 10 // int sl0
11: .line 401
iload 6 /* sp */
istore 11 /* sp0 */
start local 11 // int sp0
12: iload 9 /* dp */
istore 12 /* dp0 */
start local 12 // int dp0
13: goto 23
14: .line 402
StackMap locals: int int int
StackMap stack:
aload 1 /* src */
iload 11 /* sp0 */
iinc 11 /* sp0 */ 1
baload
sipush 255
iand
bipush 16
ishl
15: .line 403
aload 1 /* src */
iload 11 /* sp0 */
iinc 11 /* sp0 */ 1
baload
sipush 255
iand
bipush 8
ishl
16: .line 402
ior
17: .line 404
aload 1 /* src */
iload 11 /* sp0 */
iinc 11 /* sp0 */ 1
baload
sipush 255
iand
18: .line 402
ior
istore 13 /* bits */
start local 13 // int bits
19: .line 405
aload 4 /* dst */
iload 12 /* dp0 */
iinc 12 /* dp0 */ 1
aload 5 /* base64 */
iload 13 /* bits */
bipush 18
iushr
bipush 63
iand
caload
i2b
bastore
20: .line 406
aload 4 /* dst */
iload 12 /* dp0 */
iinc 12 /* dp0 */ 1
aload 5 /* base64 */
iload 13 /* bits */
bipush 12
iushr
bipush 63
iand
caload
i2b
bastore
21: .line 407
aload 4 /* dst */
iload 12 /* dp0 */
iinc 12 /* dp0 */ 1
aload 5 /* base64 */
iload 13 /* bits */
bipush 6
iushr
bipush 63
iand
caload
i2b
bastore
22: .line 408
aload 4 /* dst */
iload 12 /* dp0 */
iinc 12 /* dp0 */ 1
aload 5 /* base64 */
iload 13 /* bits */
bipush 63
iand
caload
i2b
bastore
end local 13 // int bits
23: .line 401
StackMap locals:
StackMap stack:
iload 11 /* sp0 */
iload 10 /* sl0 */
if_icmplt 14
end local 12 // int dp0
end local 11 // int sp0
24: .line 410
iload 10 /* sl0 */
iload 6 /* sp */
isub
iconst_3
idiv
iconst_4
imul
istore 11 /* dlen */
start local 11 // int dlen
25: .line 411
iload 9 /* dp */
iload 11 /* dlen */
iadd
istore 9 /* dp */
26: .line 412
iload 10 /* sl0 */
istore 6 /* sp */
27: .line 413
iload 11 /* dlen */
aload 0 /* this */
getfield java.util.Base64$Encoder.linemax:I
if_icmpne 33
iload 6 /* sp */
iload 3 /* end */
if_icmpge 33
28: .line 414
aload 0 /* this */
getfield java.util.Base64$Encoder.newline:[B
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 32
StackMap locals: java.util.Base64$Encoder byte[] int int byte[] char[] int int int int int int top int int byte[]
StackMap stack:
29: aload 15
iload 13
baload
istore 12 /* b */
start local 12 // byte b
30: .line 415
aload 4 /* dst */
iload 9 /* dp */
iinc 9 /* dp */ 1
iload 12 /* b */
bastore
end local 12 // byte b
31: .line 414
iinc 13 1
StackMap locals:
StackMap stack:
32: iload 13
iload 14
if_icmplt 29
end local 11 // int dlen
end local 10 // int sl0
33: .line 399
StackMap locals: java.util.Base64$Encoder byte[] int int byte[] char[] int int int int
StackMap stack:
iload 6 /* sp */
iload 8 /* sl */
if_icmplt 10
34: .line 419
iload 6 /* sp */
iload 3 /* end */
if_icmpge 48
35: .line 420
aload 1 /* src */
iload 6 /* sp */
iinc 6 /* sp */ 1
baload
sipush 255
iand
istore 10 /* b0 */
start local 10 // int b0
36: .line 421
aload 4 /* dst */
iload 9 /* dp */
iinc 9 /* dp */ 1
aload 5 /* base64 */
iload 10 /* b0 */
iconst_2
ishr
caload
i2b
bastore
37: .line 422
iload 6 /* sp */
iload 3 /* end */
if_icmpne 43
38: .line 423
aload 4 /* dst */
iload 9 /* dp */
iinc 9 /* dp */ 1
aload 5 /* base64 */
iload 10 /* b0 */
iconst_4
ishl
bipush 63
iand
caload
i2b
bastore
39: .line 424
aload 0 /* this */
getfield java.util.Base64$Encoder.doPadding:Z
ifeq 48
40: .line 425
aload 4 /* dst */
iload 9 /* dp */
iinc 9 /* dp */ 1
bipush 61
bastore
41: .line 426
aload 4 /* dst */
iload 9 /* dp */
iinc 9 /* dp */ 1
bipush 61
bastore
42: .line 428
goto 48
43: .line 429
StackMap locals: int
StackMap stack:
aload 1 /* src */
iload 6 /* sp */
iinc 6 /* sp */ 1
baload
sipush 255
iand
istore 11 /* b1 */
start local 11 // int b1
44: .line 430
aload 4 /* dst */
iload 9 /* dp */
iinc 9 /* dp */ 1
aload 5 /* base64 */
iload 10 /* b0 */
iconst_4
ishl
bipush 63
iand
iload 11 /* b1 */
iconst_4
ishr
ior
caload
i2b
bastore
45: .line 431
aload 4 /* dst */
iload 9 /* dp */
iinc 9 /* dp */ 1
aload 5 /* base64 */
iload 11 /* b1 */
iconst_2
ishl
bipush 63
iand
caload
i2b
bastore
46: .line 432
aload 0 /* this */
getfield java.util.Base64$Encoder.doPadding:Z
ifeq 48
47: .line 433
aload 4 /* dst */
iload 9 /* dp */
iinc 9 /* dp */ 1
bipush 61
bastore
end local 11 // int b1
end local 10 // int b0
48: .line 437
StackMap locals:
StackMap stack:
iload 9 /* dp */
ireturn
end local 9 // int dp
end local 8 // int sl
end local 7 // int slen
end local 6 // int sp
end local 5 // char[] base64
end local 4 // byte[] dst
end local 3 // int end
end local 2 // int off
end local 1 // byte[] src
end local 0 // java.util.Base64$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Ljava/util/Base64$Encoder;
0 49 1 src [B
0 49 2 off I
0 49 3 end I
0 49 4 dst [B
3 49 5 base64 [C
4 49 6 sp I
5 49 7 slen I
6 49 8 sl I
9 49 9 dp I
11 33 10 sl0 I
12 24 11 sp0 I
13 24 12 dp0 I
19 23 13 bits I
25 33 11 dlen I
30 31 12 b B
36 48 10 b0 I
44 48 11 b1 I
MethodParameters:
Name Flags
src
off
end
dst
}
SourceFile: "Base64.java"
NestHost: java.util.Base64
InnerClasses:
private EncOutputStream = java.util.Base64$EncOutputStream of java.util.Base64
public Encoder = java.util.Base64$Encoder of java.util.Base64