class java.lang.StringCoding
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.lang.StringCoding
super_class: java.lang.Object
{
private static final java.lang.ThreadLocal<java.lang.ref.SoftReference<java.lang.StringCoding$StringDecoder>> decoder;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<Ljava/lang/StringCoding$StringDecoder;>;>;
private static final java.lang.ThreadLocal<java.lang.ref.SoftReference<java.lang.StringCoding$StringEncoder>> encoder;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<Ljava/lang/StringCoding$StringEncoder;>;>;
private static boolean warnUnsupportedCharset;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
1: putstatic java.lang.StringCoding.decoder:Ljava/lang/ThreadLocal;
2: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
3: putstatic java.lang.StringCoding.encoder:Ljava/lang/ThreadLocal;
4: iconst_1
putstatic java.lang.StringCoding.warnUnsupportedCharset:Z
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/StringCoding;
private static <T> T deref(java.lang.ThreadLocal<java.lang.ref.SoftReference<T>>);
descriptor: (Ljava/lang/ThreadLocal;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.ref.SoftReference
StackMap stack:
aload 1
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 tl Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<TT;>;>;
1 4 1 sr Ljava/lang/ref/SoftReference<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<TT;>;>;)TT;
MethodParameters:
Name Flags
tl
private static <T> void set(java.lang.ThreadLocal<java.lang.ref.SoftReference<T>>, );
descriptor: (Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.lang.ref.SoftReference
dup
aload 1
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 tl Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<TT;>;>;
0 2 1 ob TT;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<TT;>;>;TT;)V
MethodParameters:
Name Flags
tl
ob
private static byte[] safeTrim(byte[], int, java.nio.charset.Charset, boolean);
descriptor: ([BILjava/nio/charset/Charset;Z)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
aload 0
arraylength
if_icmpne 2
iload 3
ifne 1
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokestatic java.util.Arrays.copyOf:([BI)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ba [B
0 3 1 len I
0 3 2 cs Ljava/nio/charset/Charset;
0 3 3 isTrusted Z
MethodParameters:
Name Flags
ba
len
cs
isTrusted
private static char[] safeTrim(char[], int, java.nio.charset.Charset, boolean);
descriptor: ([CILjava/nio/charset/Charset;Z)[C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
aload 0
arraylength
if_icmpne 2
iload 3
ifne 1
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokestatic java.util.Arrays.copyOf:([CI)[C
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ca [C
0 3 1 len I
0 3 2 cs Ljava/nio/charset/Charset;
0 3 3 isTrusted Z
MethodParameters:
Name Flags
ca
len
cs
isTrusted
private static int scale(int, float);
descriptor: (IF)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 0
i2d
fload 1
f2d
dmul
d2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 len I
0 1 1 expansionFactor F
MethodParameters:
Name Flags
len
expansionFactor
private static java.nio.charset.Charset lookupCharset(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/nio/charset/Charset;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic java.nio.charset.Charset.isSupported:(Ljava/lang/String;)Z
ifeq 5
1: aload 0
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
2: areturn
3: StackMap locals:
StackMap stack: java.nio.charset.UnsupportedCharsetException
astore 1
start local 1 4: new java.lang.Error
dup
aload 1
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 csn Ljava/lang/String;
4 5 1 x Ljava/nio/charset/UnsupportedCharsetException;
Exception table:
from to target type
1 2 3 Class java.nio.charset.UnsupportedCharsetException
MethodParameters:
Name Flags
csn
private static void warnUnsupportedCharset(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic java.lang.StringCoding.warnUnsupportedCharset:Z
ifeq 5
1: new java.lang.StringBuilder
dup
ldc "WARNING: Default charset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc " not supported, using ISO-8859-1 instead"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.misc.MessageUtils.err:(Ljava/lang/String;)V
4: iconst_0
putstatic java.lang.StringCoding.warnUnsupportedCharset:Z
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 csn Ljava/lang/String;
MethodParameters:
Name Flags
csn
static char[] decode(java.lang.String, byte[], int, int);
descriptor: (Ljava/lang/String;[BII)[C
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.StringCoding.decoder:Ljava/lang/ThreadLocal;
invokestatic java.lang.StringCoding.deref:(Ljava/lang/ThreadLocal;)Ljava/lang/Object;
checkcast java.lang.StringCoding$StringDecoder
astore 4
start local 4 1: aload 0
ifnonnull 2
ldc "ISO-8859-1"
goto 3
StackMap locals: java.lang.StringCoding$StringDecoder
StackMap stack:
2: aload 0
StackMap locals:
StackMap stack: java.lang.String
3: astore 5
start local 5 4: aload 4
ifnull 6
aload 5
aload 4
invokevirtual java.lang.StringCoding$StringDecoder.requestedCharsetName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
5: aload 5
aload 4
invokevirtual java.lang.StringCoding$StringDecoder.charsetName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
6: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 4
7: aload 5
invokestatic java.lang.StringCoding.lookupCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 6
start local 6 8: aload 6
ifnull 12
9: new java.lang.StringCoding$StringDecoder
dup
aload 6
aload 5
invokespecial java.lang.StringCoding$StringDecoder.<init>:(Ljava/nio/charset/Charset;Ljava/lang/String;)V
astore 4
end local 6 10: goto 12
StackMap locals:
StackMap stack: java.nio.charset.IllegalCharsetNameException
11: pop
12: StackMap locals:
StackMap stack:
aload 4
ifnonnull 14
13: new java.io.UnsupportedEncodingException
dup
aload 5
invokespecial java.io.UnsupportedEncodingException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
getstatic java.lang.StringCoding.decoder:Ljava/lang/ThreadLocal;
aload 4
invokestatic java.lang.StringCoding.set:(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 4
aload 1
iload 2
iload 3
invokevirtual java.lang.StringCoding$StringDecoder.decode:([BII)[C
areturn
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 16 0 charsetName Ljava/lang/String;
0 16 1 ba [B
0 16 2 off I
0 16 3 len I
1 16 4 sd Ljava/lang/StringCoding$StringDecoder;
4 16 5 csn Ljava/lang/String;
8 10 6 cs Ljava/nio/charset/Charset;
Exception table:
from to target type
7 10 11 Class java.nio.charset.IllegalCharsetNameException
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
charsetName
ba
off
len
static char[] decode(java.nio.charset.Charset, byte[], int, int);
descriptor: (Ljava/nio/charset/Charset;[BII)[C
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
astore 4
start local 4 1: iload 3
aload 4
invokevirtual java.nio.charset.CharsetDecoder.maxCharsPerByte:()F
invokestatic java.lang.StringCoding.scale:(IF)I
istore 5
start local 5 2: iload 5
newarray 5
astore 6
start local 6 3: iload 3
ifne 5
4: aload 6
areturn
5: StackMap locals: java.nio.charset.CharsetDecoder int char[]
StackMap stack:
iconst_0
istore 7
start local 7 6: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 12
7: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
ifnonnull 8
iconst_1
goto 9
StackMap locals: int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: dup
istore 7
ifne 12
10: aload 1
iload 2
iload 2
iload 3
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 1
11: iconst_0
istore 2
12: StackMap locals:
StackMap stack:
aload 4
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetDecoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
13: getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetDecoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
14: invokevirtual java.nio.charset.CharsetDecoder.reset:()Ljava/nio/charset/CharsetDecoder;
pop
15: aload 4
instanceof sun.nio.cs.ArrayDecoder
ifeq 18
16: aload 4
checkcast sun.nio.cs.ArrayDecoder
aload 1
iload 2
iload 3
aload 6
invokeinterface sun.nio.cs.ArrayDecoder.decode:([BII[C)I
istore 8
start local 8 17: aload 6
iload 8
aload 0
iload 7
invokestatic java.lang.StringCoding.safeTrim:([CILjava/nio/charset/Charset;Z)[C
areturn
end local 8 18: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 3
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
astore 8
start local 8 19: aload 6
invokestatic java.nio.CharBuffer.wrap:([C)Ljava/nio/CharBuffer;
astore 9
start local 9 20: aload 4
aload 8
aload 9
iconst_1
invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
astore 10
start local 10 21: aload 10
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 23
22: aload 10
invokevirtual java.nio.charset.CoderResult.throwException:()V
23: StackMap locals: java.nio.ByteBuffer java.nio.CharBuffer java.nio.charset.CoderResult
StackMap stack:
aload 4
aload 9
invokevirtual java.nio.charset.CharsetDecoder.flush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
astore 10
24: aload 10
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 29
25: aload 10
invokevirtual java.nio.charset.CoderResult.throwException:()V
end local 10 26: goto 29
StackMap locals: java.nio.charset.Charset byte[] int int java.nio.charset.CharsetDecoder int char[] int java.nio.ByteBuffer java.nio.CharBuffer
StackMap stack: java.nio.charset.CharacterCodingException
27: astore 10
start local 10 28: new java.lang.Error
dup
aload 10
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 10 29: StackMap locals:
StackMap stack:
aload 6
aload 9
invokevirtual java.nio.CharBuffer.position:()I
aload 0
iload 7
invokestatic java.lang.StringCoding.safeTrim:([CILjava/nio/charset/Charset;Z)[C
areturn
end local 9 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 30 0 cs Ljava/nio/charset/Charset;
0 30 1 ba [B
0 30 2 off I
0 30 3 len I
1 30 4 cd Ljava/nio/charset/CharsetDecoder;
2 30 5 en I
3 30 6 ca [C
6 30 7 isTrusted Z
17 18 8 clen I
19 30 8 bb Ljava/nio/ByteBuffer;
20 30 9 cb Ljava/nio/CharBuffer;
21 26 10 cr Ljava/nio/charset/CoderResult;
28 29 10 x Ljava/nio/charset/CharacterCodingException;
Exception table:
from to target type
20 26 27 Class java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
cs
ba
off
len
static char[] decode(byte[], int, int);
descriptor: ([BII)[C
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
aload 0
iload 1
iload 2
invokestatic java.lang.StringCoding.decode:(Ljava/lang/String;[BII)[C
2: areturn
3: StackMap locals: byte[] int int java.lang.String
StackMap stack: java.io.UnsupportedEncodingException
pop
4: aload 3
invokestatic java.lang.StringCoding.warnUnsupportedCharset:(Ljava/lang/String;)V
5: ldc "ISO-8859-1"
aload 0
iload 1
iload 2
invokestatic java.lang.StringCoding.decode:(Ljava/lang/String;[BII)[C
6: areturn
7: StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
astore 4
start local 4 8: new java.lang.StringBuilder
dup
ldc "ISO-8859-1 charset not available: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 4
invokevirtual java.io.UnsupportedEncodingException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.misc.MessageUtils.err:(Ljava/lang/String;)V
11: iconst_1
invokestatic java.lang.System.exit:(I)V
12: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 ba [B
0 13 1 off I
0 13 2 len I
1 13 3 csn Ljava/lang/String;
8 13 4 x Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
1 2 3 Class java.io.UnsupportedEncodingException
5 6 7 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
ba
off
len
static byte[] encode(java.lang.String, char[], int, int);
descriptor: (Ljava/lang/String;[CII)[B
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.StringCoding.encoder:Ljava/lang/ThreadLocal;
invokestatic java.lang.StringCoding.deref:(Ljava/lang/ThreadLocal;)Ljava/lang/Object;
checkcast java.lang.StringCoding$StringEncoder
astore 4
start local 4 1: aload 0
ifnonnull 2
ldc "ISO-8859-1"
goto 3
StackMap locals: java.lang.StringCoding$StringEncoder
StackMap stack:
2: aload 0
StackMap locals:
StackMap stack: java.lang.String
3: astore 5
start local 5 4: aload 4
ifnull 6
aload 5
aload 4
invokevirtual java.lang.StringCoding$StringEncoder.requestedCharsetName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
5: aload 5
aload 4
invokevirtual java.lang.StringCoding$StringEncoder.charsetName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
6: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 4
7: aload 5
invokestatic java.lang.StringCoding.lookupCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 6
start local 6 8: aload 6
ifnull 12
9: new java.lang.StringCoding$StringEncoder
dup
aload 6
aload 5
invokespecial java.lang.StringCoding$StringEncoder.<init>:(Ljava/nio/charset/Charset;Ljava/lang/String;)V
astore 4
end local 6 10: goto 12
StackMap locals:
StackMap stack: java.nio.charset.IllegalCharsetNameException
11: pop
12: StackMap locals:
StackMap stack:
aload 4
ifnonnull 14
13: new java.io.UnsupportedEncodingException
dup
aload 5
invokespecial java.io.UnsupportedEncodingException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
getstatic java.lang.StringCoding.encoder:Ljava/lang/ThreadLocal;
aload 4
invokestatic java.lang.StringCoding.set:(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 4
aload 1
iload 2
iload 3
invokevirtual java.lang.StringCoding$StringEncoder.encode:([CII)[B
areturn
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 16 0 charsetName Ljava/lang/String;
0 16 1 ca [C
0 16 2 off I
0 16 3 len I
1 16 4 se Ljava/lang/StringCoding$StringEncoder;
4 16 5 csn Ljava/lang/String;
8 10 6 cs Ljava/nio/charset/Charset;
Exception table:
from to target type
7 10 11 Class java.nio.charset.IllegalCharsetNameException
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
charsetName
ca
off
len
static byte[] encode(java.nio.charset.Charset, char[], int, int);
descriptor: (Ljava/nio/charset/Charset;[CII)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
astore 4
start local 4 1: iload 3
aload 4
invokevirtual java.nio.charset.CharsetEncoder.maxBytesPerChar:()F
invokestatic java.lang.StringCoding.scale:(IF)I
istore 5
start local 5 2: iload 5
newarray 8
astore 6
start local 6 3: iload 3
ifne 5
4: aload 6
areturn
5: StackMap locals: java.nio.charset.CharsetEncoder int byte[]
StackMap stack:
iconst_0
istore 7
start local 7 6: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 12
7: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
ifnonnull 8
iconst_1
goto 9
StackMap locals: int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: dup
istore 7
ifne 12
10: aload 1
iload 2
iload 2
iload 3
iadd
invokestatic java.util.Arrays.copyOfRange:([CII)[C
astore 1
11: iconst_0
istore 2
12: StackMap locals:
StackMap stack:
aload 4
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
13: getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
14: invokevirtual java.nio.charset.CharsetEncoder.reset:()Ljava/nio/charset/CharsetEncoder;
pop
15: aload 4
instanceof sun.nio.cs.ArrayEncoder
ifeq 18
16: aload 4
checkcast sun.nio.cs.ArrayEncoder
aload 1
iload 2
iload 3
aload 6
invokeinterface sun.nio.cs.ArrayEncoder.encode:([CII[B)I
istore 8
start local 8 17: aload 6
iload 8
aload 0
iload 7
invokestatic java.lang.StringCoding.safeTrim:([BILjava/nio/charset/Charset;Z)[B
areturn
end local 8 18: StackMap locals:
StackMap stack:
aload 6
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 8
start local 8 19: aload 1
iload 2
iload 3
invokestatic java.nio.CharBuffer.wrap:([CII)Ljava/nio/CharBuffer;
astore 9
start local 9 20: aload 4
aload 9
aload 8
iconst_1
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 10
start local 10 21: aload 10
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 23
22: aload 10
invokevirtual java.nio.charset.CoderResult.throwException:()V
23: StackMap locals: java.nio.ByteBuffer java.nio.CharBuffer java.nio.charset.CoderResult
StackMap stack:
aload 4
aload 8
invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
astore 10
24: aload 10
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 29
25: aload 10
invokevirtual java.nio.charset.CoderResult.throwException:()V
end local 10 26: goto 29
StackMap locals: java.nio.charset.Charset char[] int int java.nio.charset.CharsetEncoder int byte[] int java.nio.ByteBuffer java.nio.CharBuffer
StackMap stack: java.nio.charset.CharacterCodingException
27: astore 10
start local 10 28: new java.lang.Error
dup
aload 10
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 10 29: StackMap locals:
StackMap stack:
aload 6
aload 8
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
iload 7
invokestatic java.lang.StringCoding.safeTrim:([BILjava/nio/charset/Charset;Z)[B
areturn
end local 9 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 30 0 cs Ljava/nio/charset/Charset;
0 30 1 ca [C
0 30 2 off I
0 30 3 len I
1 30 4 ce Ljava/nio/charset/CharsetEncoder;
2 30 5 en I
3 30 6 ba [B
6 30 7 isTrusted Z
17 18 8 blen I
19 30 8 bb Ljava/nio/ByteBuffer;
20 30 9 cb Ljava/nio/CharBuffer;
21 26 10 cr Ljava/nio/charset/CoderResult;
28 29 10 x Ljava/nio/charset/CharacterCodingException;
Exception table:
from to target type
20 26 27 Class java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
cs
ca
off
len
static byte[] encode(char[], int, int);
descriptor: ([CII)[B
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
aload 0
iload 1
iload 2
invokestatic java.lang.StringCoding.encode:(Ljava/lang/String;[CII)[B
2: areturn
3: StackMap locals: char[] int int java.lang.String
StackMap stack: java.io.UnsupportedEncodingException
pop
4: aload 3
invokestatic java.lang.StringCoding.warnUnsupportedCharset:(Ljava/lang/String;)V
5: ldc "ISO-8859-1"
aload 0
iload 1
iload 2
invokestatic java.lang.StringCoding.encode:(Ljava/lang/String;[CII)[B
6: areturn
7: StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
astore 4
start local 4 8: new java.lang.StringBuilder
dup
ldc "ISO-8859-1 charset not available: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 4
invokevirtual java.io.UnsupportedEncodingException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.misc.MessageUtils.err:(Ljava/lang/String;)V
11: iconst_1
invokestatic java.lang.System.exit:(I)V
12: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 ca [C
0 13 1 off I
0 13 2 len I
1 13 3 csn Ljava/lang/String;
8 13 4 x Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
1 2 3 Class java.io.UnsupportedEncodingException
5 6 7 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
ca
off
len
}
SourceFile: "StringCoding.java"
NestMembers:
java.lang.StringCoding$StringDecoder java.lang.StringCoding$StringEncoder
InnerClasses:
private StringDecoder = java.lang.StringCoding$StringDecoder of java.lang.StringCoding
private StringEncoder = java.lang.StringCoding$StringEncoder of java.lang.StringCoding