public class sun.nio.cs.ext.COMPOUND_TEXT_Encoder extends java.nio.charset.CharsetEncoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.nio.cs.ext.COMPOUND_TEXT_Encoder
super_class: java.nio.charset.CharsetEncoder
{
private static final java.util.Map encodingToEncoderMap;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.nio.charset.CharsetEncoder latin1Encoder;
descriptor: Ljava/nio/charset/CharsetEncoder;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.nio.charset.CharsetEncoder defaultEncoder;
descriptor: Ljava/nio/charset/CharsetEncoder;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean defaultEncodingSupported;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.nio.charset.CharsetEncoder encoder;
descriptor: Ljava/nio/charset/CharsetEncoder;
flags: (0x0002) ACC_PRIVATE
private char[] charBuf;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private java.nio.CharBuffer charbuf;
descriptor: Ljava/nio/CharBuffer;
flags: (0x0002) ACC_PRIVATE
private java.io.ByteArrayOutputStream nonStandardCharsetBuffer;
descriptor: Ljava/io/ByteArrayOutputStream;
flags: (0x0002) ACC_PRIVATE
private byte[] byteBuf;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer bytebuf;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private int numNonStandardChars;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int nonStandardEncodingLen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.nio.CharBuffer fcb;
descriptor: Ljava/nio/CharBuffer;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: new java.util.HashMap
dup
bipush 21
fconst_1
invokespecial java.util.HashMap.<init>:(IF)V
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
1: putstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encodingToEncoderMap:Ljava/util/Map;
2: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
astore 0
start local 0 3: aload 0
invokevirtual java.nio.charset.CharsetEncoder.charset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
astore 1
start local 1 4: ldc "ISO8859_1"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
5: aload 0
putstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.latin1Encoder:Ljava/nio/charset/CharsetEncoder;
6: aload 0
putstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.defaultEncoder:Ljava/nio/charset/CharsetEncoder;
7: iconst_1
putstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.defaultEncodingSupported:Z
8: goto 20
9: StackMap locals: java.nio.charset.CharsetEncoder java.lang.String
StackMap stack:
ldc "ISO8859_1"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
10: putstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.latin1Encoder:Ljava/nio/charset/CharsetEncoder;
11: goto 16
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
12: pop
13: new java.lang.ExceptionInInitializerError
dup
14: ldc "ISO8859_1 unsupported"
15: invokespecial java.lang.ExceptionInInitializerError.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
putstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.defaultEncoder:Ljava/nio/charset/CharsetEncoder;
17: invokestatic sun.nio.cs.ext.CompoundTextSupport.getEncodings:()Ljava/util/List;
18: getstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.defaultEncoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual java.nio.charset.CharsetEncoder.charset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
19: putstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.defaultEncodingSupported:Z
end local 1 end local 0 20: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
3 20 0 encoder Ljava/nio/charset/CharsetEncoder;
4 20 1 encoding Ljava/lang/String;
Exception table:
from to target type
9 11 12 Class java.lang.IllegalArgumentException
public void <init>(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
1: getstatic sun.nio.cs.ext.CompoundTextSupport.MAX_CONTROL_SEQUENCE_LEN:I
iconst_2
iadd
i2f
2: getstatic sun.nio.cs.ext.CompoundTextSupport.MAX_CONTROL_SEQUENCE_LEN:I
iconst_2
iadd
i2f
invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
3: aload 0
iconst_1
newarray 5
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charBuf:[C
4: aload 0
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charBuf:[C
invokestatic java.nio.CharBuffer.wrap:([C)Ljava/nio/CharBuffer;
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charbuf:Ljava/nio/CharBuffer;
5: aload 0
iconst_0
invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.fcb:Ljava/nio/CharBuffer;
6: aload 0
ldc "ISO8859_1"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
7: goto 9
StackMap locals: sun.nio.cs.ext.COMPOUND_TEXT_Encoder java.nio.charset.Charset
StackMap stack: java.lang.IllegalArgumentException
8: pop
9: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.initEncoder:(Ljava/nio/charset/CharsetEncoder;)V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 11 1 cs Ljava/nio/charset/Charset;
Exception table:
from to target type
6 7 8 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
cs
protected java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 3
start local 3 1: aload 1
invokevirtual java.nio.CharBuffer.array:()[C
astore 4
start local 4 2: aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
aload 1
invokevirtual java.nio.CharBuffer.position:()I
iadd
istore 5
start local 5 3: aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
aload 1
invokevirtual java.nio.CharBuffer.limit:()I
iadd
istore 6
start local 6 4: goto 60
5: StackMap locals: sun.nio.cs.ext.COMPOUND_TEXT_Encoder java.nio.CharBuffer java.nio.ByteBuffer java.nio.charset.CoderResult char[] int int
StackMap stack:
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charBuf:[C
iconst_0
aload 4
iload 5
caload
castore
6: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charBuf:[C
iconst_0
caload
bipush 8
if_icmple 9
7: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charBuf:[C
iconst_0
caload
bipush 11
if_icmplt 8
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charBuf:[C
iconst_0
caload
bipush 31
if_icmple 9
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charBuf:[C
iconst_0
caload
sipush 128
if_icmplt 10
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charBuf:[C
iconst_0
caload
sipush 159
if_icmpgt 10
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charBuf:[C
iconst_0
bipush 63
castore
10: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charBuf:[C
iconst_0
caload
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.getEncoder:(C)Ljava/nio/charset/CharsetEncoder;
astore 7
start local 7 11: aload 7
ifnonnull 21
12: aload 0
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.unmappableCharacterAction:()Ljava/nio/charset/CodingErrorAction;
13: getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
14: if_acmpne 18
15: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charBuf:[C
iconst_0
bipush 63
castore
16: getstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.latin1Encoder:Ljava/nio/charset/CharsetEncoder;
astore 7
17: goto 21
18: StackMap locals: java.nio.charset.CharsetEncoder
StackMap stack:
iconst_1
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 10
19: aload 1
iload 5
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
20: aload 10
areturn
21: StackMap locals:
StackMap stack:
aload 7
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
if_acmpeq 48
22: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
ifnull 25
23: aload 0
aload 2
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.flushNonStandardCharsetBuffer:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
astore 3
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
aload 2
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.flushEncoder:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
pop
26: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 30
27: aload 3
astore 10
28: aload 1
iload 5
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
29: aload 10
areturn
30: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.nio.charset.CharsetEncoder.charset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokestatic sun.nio.cs.ext.CompoundTextSupport.getEscapeSequence:(Ljava/lang/String;)[B
31: astore 8
start local 8 32: aload 8
ifnonnull 36
33: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Unknown encoding: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
34: aload 7
invokevirtual java.nio.charset.CharsetEncoder.charset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals: byte[]
StackMap stack:
aload 8
iconst_1
baload
bipush 37
if_icmpne 40
37: aload 8
iconst_2
baload
bipush 47
if_icmpne 40
38: aload 0
aload 7
aload 8
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.initNonStandardCharsetBuffer:(Ljava/nio/charset/CharsetEncoder;[B)V
39: goto 46
StackMap locals:
StackMap stack:
40: aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 8
arraylength
if_icmplt 43
41: aload 2
aload 8
iconst_0
aload 8
arraylength
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
42: goto 46
43: StackMap locals:
StackMap stack:
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 10
44: aload 1
iload 5
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
45: aload 10
areturn
46: StackMap locals:
StackMap stack:
aload 0
aload 7
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
47: goto 60
end local 8 48: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charbuf:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.rewind:()Ljava/nio/Buffer;
pop
49: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
ifnonnull 52
50: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charbuf:Ljava/nio/CharBuffer;
aload 2
iconst_0
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 3
51: goto 59
52: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.bytebuf:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
53: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.charbuf:Ljava/nio/CharBuffer;
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.bytebuf:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 3
54: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.bytebuf:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
55: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.byteBuf:[B
56: iconst_0
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.bytebuf:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
57: invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
58: aload 0
dup
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.numNonStandardChars:I
iconst_1
iadd
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.numNonStandardChars:I
59: StackMap locals:
StackMap stack:
iinc 5 1
end local 7 60: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmpge 61
aload 3
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 5
61: StackMap locals:
StackMap stack:
aload 3
astore 10
62: aload 1
iload 5
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
63: aload 10
areturn
64: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
65: aload 1
iload 5
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
66: aload 9
athrow
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 67 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 67 1 src Ljava/nio/CharBuffer;
0 67 2 des Ljava/nio/ByteBuffer;
1 67 3 cr Ljava/nio/charset/CoderResult;
2 67 4 input [C
3 67 5 inOff I
4 67 6 inEnd I
11 60 7 enc Ljava/nio/charset/CharsetEncoder;
32 48 8 escSequence [B
Exception table:
from to target type
4 19 64 any
21 28 64 any
30 44 64 any
46 62 64 any
MethodParameters:
Name Flags
src
des
protected java.nio.charset.CoderResult implFlush(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
ifnull 2
1: aload 0
aload 1
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.flushNonStandardCharsetBuffer:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
aload 1
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.flushEncoder:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
3: StackMap locals:
StackMap stack: java.nio.charset.CoderResult
astore 2
start local 2 4: aload 0
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.reset:()Ljava/nio/charset/CharsetEncoder;
pop
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 6 1 out Ljava/nio/ByteBuffer;
4 6 2 cr Ljava/nio/charset/CoderResult;
MethodParameters:
Name Flags
out
private void initNonStandardCharsetBuffer(java.nio.charset.CharsetEncoder, byte[]);
descriptor: (Ljava/nio/charset/CharsetEncoder;[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
1: aload 0
aload 1
invokevirtual java.nio.charset.CharsetEncoder.maxBytesPerChar:()F
f2i
newarray 8
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.byteBuf:[B
2: aload 0
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.byteBuf:[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.bytebuf:Ljava/nio/ByteBuffer;
3: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
aload 2
iconst_0
aload 2
arraylength
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
4: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
iconst_0
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
5: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
iconst_0
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
6: aload 1
invokevirtual java.nio.charset.CharsetEncoder.charset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokestatic sun.nio.cs.ext.CompoundTextSupport.getEncoding:(Ljava/lang/String;)[B
7: astore 3
start local 3 8: aload 3
ifnonnull 12
9: new java.lang.InternalError
dup
10: new java.lang.StringBuilder
dup
ldc "Unknown encoding: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual java.nio.charset.CharsetEncoder.charset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
aload 3
iconst_0
aload 3
arraylength
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
13: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
iconst_2
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
14: aload 0
aload 3
arraylength
iconst_1
iadd
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardEncodingLen:I
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 16 1 c Ljava/nio/charset/CharsetEncoder;
0 16 2 escSequence [B
8 16 3 encoding [B
MethodParameters:
Name Flags
c
escSequence
private java.nio.charset.CoderResult flushNonStandardCharsetBuffer(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.numNonStandardChars:I
ifle 9
1: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual java.nio.charset.CharsetEncoder.maxBytesPerChar:()F
f2i
2: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.numNonStandardChars:I
3: imul
newarray 8
astore 2
start local 2 4: aload 2
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 3
start local 3 5: aload 0
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
aload 3
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.flushEncoder:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
pop
6: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
7: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
aload 2
iconst_0
aload 3
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
8: aload 0
iconst_0
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.numNonStandardChars:I
end local 3 end local 2 9: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.size:()I
istore 2
start local 2 10: bipush 6
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardEncodingLen:I
iadd
istore 3
start local 3 11: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
iload 3
isub
12: iload 3
iload 2
iload 3
isub
13: sipush 16383
idiv
iconst_1
iadd
14: imul
iadd
if_icmpge 16
15: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
areturn
16: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
17: astore 4
start local 4 18: StackMap locals: byte[]
StackMap stack:
aload 1
bipush 27
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
19: aload 1
bipush 37
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
20: aload 1
bipush 47
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
21: aload 1
aload 4
iconst_3
baload
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
22: iload 2
iload 3
isub
23: sipush 16383
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardEncodingLen:I
isub
24: invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 25: aload 1
26: iload 5
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardEncodingLen:I
iadd
sipush 128
idiv
sipush 128
ior
i2b
27: invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
28: aload 1
29: iload 5
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardEncodingLen:I
iadd
sipush 128
irem
sipush 128
ior
i2b
30: invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
31: aload 1
aload 4
bipush 6
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardEncodingLen:I
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
32: aload 1
aload 4
iload 3
iload 5
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
33: iload 3
iload 5
iadd
istore 3
end local 5 34: iload 3
iload 2
35: if_icmplt 18
36: aload 0
aconst_null
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
37: aload 0
aconst_null
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.byteBuf:[B
38: aload 0
iconst_0
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardEncodingLen:I
39: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 40 1 out Ljava/nio/ByteBuffer;
4 9 2 flushBuf [B
5 9 3 bb Ljava/nio/ByteBuffer;
10 40 2 numBytes I
11 40 3 nonStandardBytesOff I
18 40 4 nonStandardBytes [B
25 34 5 toWrite I
MethodParameters:
Name Flags
out
protected void implReset();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
iconst_0
dup_x1
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardEncodingLen:I
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.numNonStandardChars:I
1: aload 0
aconst_null
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.nonStandardCharsetBuffer:Ljava/io/ByteArrayOutputStream;
2: aload 0
aconst_null
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.byteBuf:[B
3: aload 0
ldc "ISO8859_1"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
putfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
4: goto 6
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
5: pop
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.initEncoder:(Ljava/nio/charset/CharsetEncoder;)V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
Exception table:
from to target type
3 4 5 Class java.lang.IllegalArgumentException
public boolean canEncode(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.getEncoder:(C)Ljava/nio/charset/CharsetEncoder;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 2 1 ch C
MethodParameters:
Name Flags
ch
protected void implOnMalformedInput(java.nio.charset.CodingErrorAction);
descriptor: (Ljava/nio/charset/CodingErrorAction;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
aload 1
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 2 1 newAction Ljava/nio/charset/CodingErrorAction;
MethodParameters:
Name Flags
newAction
protected void implOnUnmappableCharacter(java.nio.charset.CodingErrorAction);
descriptor: (Ljava/nio/charset/CodingErrorAction;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
aload 1
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 2 1 newAction Ljava/nio/charset/CodingErrorAction;
MethodParameters:
Name Flags
newAction
protected void implReplaceWith(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
ifnull 2
1: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
aload 1
invokevirtual java.nio.charset.CharsetEncoder.replaceWith:([B)Ljava/nio/charset/CharsetEncoder;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 3 1 newReplacement [B
MethodParameters:
Name Flags
newReplacement
private java.nio.charset.CharsetEncoder getEncoder(char);
descriptor: (C)Ljava/nio/charset/CharsetEncoder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
iload 1
invokevirtual java.nio.charset.CharsetEncoder.canEncode:(C)Z
ifeq 2
1: aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encoder:Ljava/nio/charset/CharsetEncoder;
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.defaultEncodingSupported:Z
ifeq 9
getstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.defaultEncoder:Ljava/nio/charset/CharsetEncoder;
iload 1
invokevirtual java.nio.charset.CharsetEncoder.canEncode:(C)Z
ifeq 9
3: aconst_null
astore 2
start local 2 4: getstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.defaultEncoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual java.nio.charset.CharsetEncoder.charset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
astore 2
5: goto 7
StackMap locals: sun.nio.cs.ext.COMPOUND_TEXT_Encoder int java.nio.charset.CharsetEncoder
StackMap stack: java.lang.UnsupportedOperationException
6: pop
7: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.initEncoder:(Ljava/nio/charset/CharsetEncoder;)V
8: aload 2
areturn
end local 2 9: StackMap locals:
StackMap stack:
getstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.latin1Encoder:Ljava/nio/charset/CharsetEncoder;
iload 1
invokevirtual java.nio.charset.CharsetEncoder.canEncode:(C)Z
ifeq 16
10: aconst_null
astore 2
start local 2 11: getstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.latin1Encoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual java.nio.charset.CharsetEncoder.charset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
astore 2
12: goto 14
StackMap locals: sun.nio.cs.ext.COMPOUND_TEXT_Encoder int java.nio.charset.CharsetEncoder
StackMap stack: java.lang.UnsupportedOperationException
13: pop
14: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.initEncoder:(Ljava/nio/charset/CharsetEncoder;)V
15: aload 2
areturn
end local 2 16: StackMap locals:
StackMap stack:
invokestatic sun.nio.cs.ext.CompoundTextSupport.getEncodings:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
start local 2 17: goto 32
18: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 19: getstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encodingToEncoderMap:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.charset.CharsetEncoder
20: astore 4
start local 4 21: aload 4
ifnonnull 28
22: aload 3
invokestatic sun.nio.cs.ext.CompoundTextSupport.getEncoder:(Ljava/lang/String;)Ljava/nio/charset/CharsetEncoder;
astore 4
23: aload 4
ifnonnull 27
24: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Unsupported encoding: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals: java.lang.String java.nio.charset.CharsetEncoder
StackMap stack:
getstatic sun.nio.cs.ext.COMPOUND_TEXT_Encoder.encodingToEncoderMap:Ljava/util/Map;
aload 3
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
28: StackMap locals:
StackMap stack:
aload 4
iload 1
invokevirtual java.nio.charset.CharsetEncoder.canEncode:(C)Z
ifeq 32
29: aload 3
invokestatic sun.nio.cs.ext.CompoundTextSupport.getEncoder:(Ljava/lang/String;)Ljava/nio/charset/CharsetEncoder;
astore 5
start local 5 30: aload 0
aload 5
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.initEncoder:(Ljava/nio/charset/CharsetEncoder;)V
31: aload 5
areturn
end local 5 end local 4 end local 3 32: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
end local 2 33: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 34 1 ch C
4 9 2 retval Ljava/nio/charset/CharsetEncoder;
11 16 2 retval Ljava/nio/charset/CharsetEncoder;
17 33 2 iter Ljava/util/Iterator;
19 32 3 encoding Ljava/lang/String;
21 32 4 enc Ljava/nio/charset/CharsetEncoder;
30 32 5 retval Ljava/nio/charset/CharsetEncoder;
Exception table:
from to target type
4 5 6 Class java.lang.UnsupportedOperationException
11 12 13 Class java.lang.UnsupportedOperationException
MethodParameters:
Name Flags
ch
private void initEncoder(java.nio.charset.CharsetEncoder);
descriptor: (Ljava/nio/charset/CharsetEncoder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
1: aload 0
invokevirtual sun.nio.cs.ext.COMPOUND_TEXT_Encoder.replacement:()[B
invokevirtual java.nio.charset.CharsetEncoder.replaceWith:([B)Ljava/nio/charset/CharsetEncoder;
pop
2: goto 4
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
3: pop
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 5 1 enc Ljava/nio/charset/CharsetEncoder;
Exception table:
from to target type
0 2 3 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
enc
private java.nio.charset.CoderResult flushEncoder(java.nio.charset.CharsetEncoder, java.nio.ByteBuffer);
descriptor: (Ljava/nio/charset/CharsetEncoder;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield sun.nio.cs.ext.COMPOUND_TEXT_Encoder.fcb:Ljava/nio/CharBuffer;
aload 2
iconst_1
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
pop
1: aload 1
aload 2
invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ext/COMPOUND_TEXT_Encoder;
0 2 1 enc Ljava/nio/charset/CharsetEncoder;
0 2 2 bb Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
enc
bb
}
SourceFile: "COMPOUND_TEXT_Encoder.java"