public class sun.nio.cs.ext.DoubleByte$Encoder extends java.nio.charset.CharsetEncoder implements sun.nio.cs.ArrayEncoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.nio.cs.ext.DoubleByte$Encoder
super_class: java.nio.charset.CharsetEncoder
{
final int MAX_SINGLEBYTE;
descriptor: I
flags: (0x0010) ACC_FINAL
ConstantValue: 255
private final char[] c2b;
descriptor: [C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final char[] c2bIndex;
descriptor: [C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
sun.nio.cs.Surrogate$Parser sgp;
descriptor: Lsun/nio/cs/Surrogate$Parser;
flags: (0x0000)
protected byte[] repl;
descriptor: [B
flags: (0x0004) ACC_PROTECTED
protected void <init>(java.nio.charset.Charset, char[], char[]);
descriptor: (Ljava/nio/charset/Charset;[C[C)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
start local 1 // java.nio.charset.Charset cs
start local 2 // char[] c2b
start local 3 // char[] c2bIndex
0: .line 520
aload 0 /* this */
aload 1 /* cs */
fconst_2
fconst_2
invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
1: .line 514
aload 0 /* this */
sipush 255
putfield sun.nio.cs.ext.DoubleByte$Encoder.MAX_SINGLEBYTE:I
2: .line 622
aload 0 /* this */
aload 0 /* this */
invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.replacement:()[B
putfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
3: .line 521
aload 0 /* this */
aload 2 /* c2b */
putfield sun.nio.cs.ext.DoubleByte$Encoder.c2b:[C
4: .line 522
aload 0 /* this */
aload 3 /* c2bIndex */
putfield sun.nio.cs.ext.DoubleByte$Encoder.c2bIndex:[C
5: .line 523
return
end local 3 // char[] c2bIndex
end local 2 // char[] c2b
end local 1 // java.nio.charset.Charset cs
end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/cs/ext/DoubleByte$Encoder;
0 6 1 cs Ljava/nio/charset/Charset;
0 6 2 c2b [C
0 6 3 c2bIndex [C
MethodParameters:
Name Flags
cs
c2b
c2bIndex
void <init>(java.nio.charset.Charset, float, float, byte[], char[], char[]);
descriptor: (Ljava/nio/charset/Charset;FF[B[C[C)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=7
start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
start local 1 // java.nio.charset.Charset cs
start local 2 // float avg
start local 3 // float max
start local 4 // byte[] repl
start local 5 // char[] c2b
start local 6 // char[] c2bIndex
0: .line 526
aload 0 /* this */
aload 1 /* cs */
fload 2 /* avg */
fload 3 /* max */
aload 4 /* repl */
invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF[B)V
1: .line 514
aload 0 /* this */
sipush 255
putfield sun.nio.cs.ext.DoubleByte$Encoder.MAX_SINGLEBYTE:I
2: .line 622
aload 0 /* this */
aload 0 /* this */
invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.replacement:()[B
putfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
3: .line 527
aload 0 /* this */
aload 5 /* c2b */
putfield sun.nio.cs.ext.DoubleByte$Encoder.c2b:[C
4: .line 528
aload 0 /* this */
aload 6 /* c2bIndex */
putfield sun.nio.cs.ext.DoubleByte$Encoder.c2bIndex:[C
5: .line 529
return
end local 6 // char[] c2bIndex
end local 5 // char[] c2b
end local 4 // byte[] repl
end local 3 // float max
end local 2 // float avg
end local 1 // java.nio.charset.Charset cs
end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/cs/ext/DoubleByte$Encoder;
0 6 1 cs Ljava/nio/charset/Charset;
0 6 2 avg F
0 6 3 max F
0 6 4 repl [B
0 6 5 c2b [C
0 6 6 c2bIndex [C
MethodParameters:
Name Flags
cs
avg
max
repl
c2b
c2bIndex
public boolean canEncode(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
start local 1 // char c
0: .line 532
aload 0 /* this */
iload 1 /* c */
invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeChar:(C)I
ldc 65533
if_icmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 // char c
end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ext/DoubleByte$Encoder;
0 2 1 c C
MethodParameters:
Name Flags
c
sun.nio.cs.Surrogate$Parser sgp();
descriptor: ()Lsun/nio/cs/Surrogate$Parser;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
0: .line 536
aload 0 /* this */
getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
ifnonnull 2
1: .line 537
aload 0 /* this */
new sun.nio.cs.Surrogate$Parser
dup
invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
putfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
2: .line 538
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
areturn
end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/ext/DoubleByte$Encoder;
protected java.nio.charset.CoderResult encodeArrayLoop(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=13, args_size=3
start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 542
aload 1 /* src */
invokevirtual java.nio.CharBuffer.array:()[C
astore 3 /* sa */
start local 3 // char[] sa
1: .line 543
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
aload 1 /* src */
invokevirtual java.nio.CharBuffer.position:()I
iadd
istore 4 /* sp */
start local 4 // int sp
2: .line 544
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
aload 1 /* src */
invokevirtual java.nio.CharBuffer.limit:()I
iadd
istore 5 /* sl */
start local 5 // int sl
3: .line 546
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.array:()[B
astore 6 /* da */
start local 6 // byte[] da
4: .line 547
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.position:()I
iadd
istore 7 /* dp */
start local 7 // int dp
5: .line 548
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.limit:()I
iadd
istore 8 /* dl */
start local 8 // int dl
6: .line 551
goto 40
7: .line 552
StackMap locals: sun.nio.cs.ext.DoubleByte$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int
StackMap stack:
aload 3 /* sa */
iload 4 /* sp */
caload
istore 9 /* c */
start local 9 // char c
8: .line 553
aload 0 /* this */
iload 9 /* c */
invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeChar:(C)I
istore 10 /* bb */
start local 10 // int bb
9: .line 554
iload 10 /* bb */
ldc 65533
if_icmpne 24
10: .line 555
iload 9 /* c */
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 20
11: .line 556
aload 0 /* this */
invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.sgp:()Lsun/nio/cs/Surrogate$Parser;
iload 9 /* c */
aload 3 /* sa */
iload 4 /* sp */
iload 5 /* sl */
invokevirtual sun.nio.cs.Surrogate$Parser.parse:(C[CII)I
ifge 16
12: .line 557
aload 0 /* this */
getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
astore 12
13: .line 578
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
14: .line 579
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
15: .line 557
aload 12
areturn
16: .line 558
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
astore 12
17: .line 578
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
18: .line 579
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
19: .line 558
aload 12
areturn
20: .line 560
StackMap locals:
StackMap stack:
iconst_1
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 12
21: .line 578
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
22: .line 579
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
23: .line 560
aload 12
areturn
24: .line 563
StackMap locals:
StackMap stack:
iload 10 /* bb */
sipush 255
if_icmple 33
25: .line 564
iload 8 /* dl */
iload 7 /* dp */
isub
iconst_2
if_icmpge 30
26: .line 565
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 12
27: .line 578
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
28: .line 579
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
29: .line 565
aload 12
areturn
30: .line 566
StackMap locals:
StackMap stack:
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
iload 10 /* bb */
bipush 8
ishr
i2b
bastore
31: .line 567
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
iload 10 /* bb */
i2b
bastore
32: .line 568
goto 39
33: .line 569
StackMap locals:
StackMap stack:
iload 8 /* dl */
iload 7 /* dp */
isub
iconst_1
if_icmpge 38
34: .line 570
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 12
35: .line 578
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
36: .line 579
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
37: .line 570
aload 12
areturn
38: .line 571
StackMap locals:
StackMap stack:
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
iload 10 /* bb */
i2b
bastore
39: .line 574
StackMap locals:
StackMap stack:
iinc 4 /* sp */ 1
end local 10 // int bb
end local 9 // char c
40: .line 551
StackMap locals:
StackMap stack:
iload 4 /* sp */
iload 5 /* sl */
if_icmplt 7
41: .line 576
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 12
42: .line 578
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
43: .line 579
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
44: .line 576
aload 12
areturn
45: .line 577
StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
46: .line 578
aload 1 /* src */
iload 4 /* sp */
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
47: .line 579
aload 2 /* dst */
iload 7 /* dp */
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
48: .line 580
aload 11
athrow
end local 8 // int dl
end local 7 // int dp
end local 6 // byte[] da
end local 5 // int sl
end local 4 // int sp
end local 3 // char[] sa
end local 2 // java.nio.ByteBuffer dst
end local 1 // java.nio.CharBuffer src
end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lsun/nio/cs/ext/DoubleByte$Encoder;
0 49 1 src Ljava/nio/CharBuffer;
0 49 2 dst Ljava/nio/ByteBuffer;
1 49 3 sa [C
2 49 4 sp I
3 49 5 sl I
4 49 6 da [B
5 49 7 dp I
6 49 8 dl I
8 40 9 c C
9 40 10 bb I
Exception table:
from to target type
6 13 45 any
16 17 45 any
20 21 45 any
24 27 45 any
30 35 45 any
38 42 45 any
MethodParameters:
Name Flags
src
dst
protected java.nio.charset.CoderResult encodeBufferLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=8, args_size=3
start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 584
aload 1 /* src */
invokevirtual java.nio.CharBuffer.position:()I
istore 3 /* mark */
start local 3 // int mark
1: .line 586
goto 30
2: .line 587
StackMap locals: int
StackMap stack:
aload 1 /* src */
invokevirtual java.nio.CharBuffer.get:()C
istore 4 /* c */
start local 4 // char c
3: .line 588
aload 0 /* this */
iload 4 /* c */
invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeChar:(C)I
istore 5 /* bb */
start local 5 // int bb
4: .line 589
iload 5 /* bb */
ldc 65533
if_icmpne 16
5: .line 590
iload 4 /* c */
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 13
6: .line 591
aload 0 /* this */
invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.sgp:()Lsun/nio/cs/Surrogate$Parser;
iload 4 /* c */
aload 1 /* src */
invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
ifge 10
7: .line 592
aload 0 /* this */
getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
astore 7
8: .line 611
aload 1 /* src */
iload 3 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
9: .line 592
aload 7
areturn
10: .line 593
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.nio.cs.ext.DoubleByte$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
astore 7
11: .line 611
aload 1 /* src */
iload 3 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
12: .line 593
aload 7
areturn
13: .line 595
StackMap locals:
StackMap stack:
iconst_1
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 7
14: .line 611
aload 1 /* src */
iload 3 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
15: .line 595
aload 7
areturn
16: .line 597
StackMap locals:
StackMap stack:
iload 5 /* bb */
sipush 255
if_icmple 24
17: .line 598
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_2
if_icmpge 21
18: .line 599
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 7
19: .line 611
aload 1 /* src */
iload 3 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
20: .line 599
aload 7
areturn
21: .line 600
StackMap locals:
StackMap stack:
aload 2 /* dst */
iload 5 /* bb */
bipush 8
ishr
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
22: .line 601
aload 2 /* dst */
iload 5 /* bb */
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
23: .line 602
goto 29
24: .line 603
StackMap locals:
StackMap stack:
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_1
if_icmpge 28
25: .line 604
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 7
26: .line 611
aload 1 /* src */
iload 3 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
27: .line 604
aload 7
areturn
28: .line 605
StackMap locals:
StackMap stack:
aload 2 /* dst */
iload 5 /* bb */
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
29: .line 607
StackMap locals:
StackMap stack:
iinc 3 /* mark */ 1
end local 5 // int bb
end local 4 // char c
30: .line 586
StackMap locals:
StackMap stack:
aload 1 /* src */
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 2
31: .line 609
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 7
32: .line 611
aload 1 /* src */
iload 3 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
33: .line 609
aload 7
areturn
34: .line 610
StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
35: .line 611
aload 1 /* src */
iload 3 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
36: .line 612
aload 6
athrow
end local 3 // int mark
end local 2 // java.nio.ByteBuffer dst
end local 1 // java.nio.CharBuffer src
end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/nio/cs/ext/DoubleByte$Encoder;
0 37 1 src Ljava/nio/CharBuffer;
0 37 2 dst Ljava/nio/ByteBuffer;
1 37 3 mark I
3 30 4 c C
4 30 5 bb I
Exception table:
from to target type
1 8 34 any
10 11 34 any
13 14 34 any
16 19 34 any
21 26 34 any
28 32 34 any
MethodParameters:
Name Flags
src
dst
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=3, locals=3, args_size=3
start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 616
aload 1 /* src */
invokevirtual java.nio.CharBuffer.hasArray:()Z
ifeq 2
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 2
1: .line 617
aload 0 /* this */
aload 1 /* src */
aload 2 /* dst */
invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
areturn
2: .line 619
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* src */
aload 2 /* dst */
invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeBufferLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
areturn
end local 2 // java.nio.ByteBuffer dst
end local 1 // java.nio.CharBuffer src
end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/ext/DoubleByte$Encoder;
0 3 1 src Ljava/nio/CharBuffer;
0 3 2 dst Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
src
dst
protected void implReplaceWith(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
start local 1 // byte[] newReplacement
0: .line 624
aload 0 /* this */
aload 1 /* newReplacement */
putfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
1: .line 625
return
end local 1 // byte[] newReplacement
end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ext/DoubleByte$Encoder;
0 2 1 newReplacement [B
MethodParameters:
Name Flags
newReplacement
public int encode(char[], int, int, byte[]);
descriptor: ([CII[B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=5
start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
start local 1 // char[] src
start local 2 // int sp
start local 3 // int len
start local 4 // byte[] dst
0: .line 628
iconst_0
istore 5 /* dp */
start local 5 // int dp
1: .line 629
iload 2 /* sp */
iload 3 /* len */
iadd
istore 6 /* sl */
start local 6 // int sl
2: .line 630
aload 4 /* dst */
arraylength
pop
3: .line 631
goto 19
4: .line 632
StackMap locals: int int
StackMap stack:
aload 1 /* src */
iload 2 /* sp */
iinc 2 /* sp */ 1
caload
istore 7 /* c */
start local 7 // char c
5: .line 633
aload 0 /* this */
iload 7 /* c */
invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeChar:(C)I
istore 8 /* bb */
start local 8 // int bb
6: .line 634
iload 8 /* bb */
ldc 65533
if_icmpne 14
7: .line 635
iload 7 /* c */
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 10
iload 2 /* sp */
iload 6 /* sl */
if_icmpge 10
8: .line 636
aload 1 /* src */
iload 2 /* sp */
caload
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 10
9: .line 637
iinc 2 /* sp */ 1
10: .line 639
StackMap locals: int int
StackMap stack:
aload 4 /* dst */
iload 5 /* dp */
iinc 5 /* dp */ 1
aload 0 /* this */
getfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
iconst_0
baload
bastore
11: .line 640
aload 0 /* this */
getfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
arraylength
iconst_1
if_icmple 19
12: .line 641
aload 4 /* dst */
iload 5 /* dp */
iinc 5 /* dp */ 1
aload 0 /* this */
getfield sun.nio.cs.ext.DoubleByte$Encoder.repl:[B
iconst_1
baload
bastore
13: .line 642
goto 19
14: .line 644
StackMap locals:
StackMap stack:
iload 8 /* bb */
sipush 255
if_icmple 18
15: .line 645
aload 4 /* dst */
iload 5 /* dp */
iinc 5 /* dp */ 1
iload 8 /* bb */
bipush 8
ishr
i2b
bastore
16: .line 646
aload 4 /* dst */
iload 5 /* dp */
iinc 5 /* dp */ 1
iload 8 /* bb */
i2b
bastore
17: .line 647
goto 19
18: .line 648
StackMap locals:
StackMap stack:
aload 4 /* dst */
iload 5 /* dp */
iinc 5 /* dp */ 1
iload 8 /* bb */
i2b
bastore
end local 8 // int bb
end local 7 // char c
19: .line 631
StackMap locals:
StackMap stack:
iload 2 /* sp */
iload 6 /* sl */
if_icmplt 4
20: .line 652
iload 5 /* dp */
ireturn
end local 6 // int sl
end local 5 // int dp
end local 4 // byte[] dst
end local 3 // int len
end local 2 // int sp
end local 1 // char[] src
end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/nio/cs/ext/DoubleByte$Encoder;
0 21 1 src [C
0 21 2 sp I
0 21 3 len I
0 21 4 dst [B
1 21 5 dp I
2 21 6 sl I
5 19 7 c C
6 19 8 bb I
MethodParameters:
Name Flags
src
sp
len
dst
public int encodeChar(char);
descriptor: (C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
start local 1 // char ch
0: .line 656
aload 0 /* this */
getfield sun.nio.cs.ext.DoubleByte$Encoder.c2b:[C
aload 0 /* this */
getfield sun.nio.cs.ext.DoubleByte$Encoder.c2bIndex:[C
iload 1 /* ch */
bipush 8
ishr
caload
iload 1 /* ch */
sipush 255
iand
iadd
caload
ireturn
end local 1 // char ch
end local 0 // sun.nio.cs.ext.DoubleByte$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/cs/ext/DoubleByte$Encoder;
0 1 1 ch C
MethodParameters:
Name Flags
ch
static void initC2B(java.lang.String[], java.lang.String, java.lang.String, java.lang.String, int, int, char[], char[]);
descriptor: ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II[C[C)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=16, args_size=8
start local 0 // java.lang.String[] b2c
start local 1 // java.lang.String b2cSB
start local 2 // java.lang.String b2cNR
start local 3 // java.lang.String c2bNR
start local 4 // int b2Min
start local 5 // int b2Max
start local 6 // char[] c2b
start local 7 // char[] c2bIndex
0: .line 664
aload 6 /* c2b */
ldc 65533
invokestatic java.util.Arrays.fill:([CC)V
1: .line 665
sipush 256
istore 8 /* off */
start local 8 // int off
2: .line 667
aload 0 /* b2c */
arraylength
anewarray char[]
astore 9 /* b2c_ca */
start local 9 // char[][] b2c_ca
3: .line 668
aconst_null
astore 10 /* b2cSB_ca */
start local 10 // char[] b2cSB_ca
4: .line 669
aload 1 /* b2cSB */
ifnull 6
5: .line 670
aload 1 /* b2cSB */
invokevirtual java.lang.String.toCharArray:()[C
astore 10 /* b2cSB_ca */
6: .line 672
StackMap locals: int char[][] char[]
StackMap stack:
iconst_0
istore 11 /* i */
start local 11 // int i
7: goto 12
8: .line 673
StackMap locals: int
StackMap stack:
aload 0 /* b2c */
iload 11 /* i */
aaload
ifnonnull 10
9: .line 674
goto 11
10: .line 675
StackMap locals:
StackMap stack:
aload 9 /* b2c_ca */
iload 11 /* i */
aload 0 /* b2c */
iload 11 /* i */
aaload
invokevirtual java.lang.String.toCharArray:()[C
aastore
11: .line 672
StackMap locals:
StackMap stack:
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 11 /* i */
aload 0 /* b2c */
arraylength
if_icmplt 8
end local 11 // int i
13: .line 678
aload 2 /* b2cNR */
ifnull 25
14: .line 679
iconst_0
istore 11 /* j */
start local 11 // int j
15: .line 680
goto 24
16: .line 681
StackMap locals:
StackMap stack:
aload 2 /* b2cNR */
iload 11 /* j */
iinc 11 /* j */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 12 /* b */
start local 12 // char b
17: .line 682
aload 2 /* b2cNR */
iload 11 /* j */
iinc 11 /* j */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 13 /* c */
start local 13 // char c
18: .line 683
iload 12 /* b */
sipush 256
if_icmpge 22
aload 10 /* b2cSB_ca */
ifnull 22
19: .line 684
aload 10 /* b2cSB_ca */
iload 12 /* b */
caload
iload 13 /* c */
if_icmpne 24
20: .line 685
aload 10 /* b2cSB_ca */
iload 12 /* b */
ldc 65533
castore
21: .line 686
goto 24
22: .line 687
StackMap locals: int int
StackMap stack:
aload 9 /* b2c_ca */
iload 12 /* b */
bipush 8
ishr
aaload
iload 12 /* b */
sipush 255
iand
iload 4 /* b2Min */
isub
caload
iload 13 /* c */
if_icmpne 24
23: .line 688
aload 9 /* b2c_ca */
iload 12 /* b */
bipush 8
ishr
aaload
iload 12 /* b */
sipush 255
iand
iload 4 /* b2Min */
isub
ldc 65533
castore
end local 13 // char c
end local 12 // char b
24: .line 680
StackMap locals:
StackMap stack:
iload 11 /* j */
aload 2 /* b2cNR */
invokevirtual java.lang.String.length:()I
if_icmplt 16
end local 11 // int j
25: .line 693
StackMap locals:
StackMap stack:
aload 10 /* b2cSB_ca */
ifnull 39
26: .line 694
iconst_0
istore 11 /* b */
start local 11 // int b
27: goto 38
28: .line 695
StackMap locals: int
StackMap stack:
aload 10 /* b2cSB_ca */
iload 11 /* b */
caload
istore 12 /* c */
start local 12 // char c
29: .line 696
iload 12 /* c */
ldc 65533
if_icmpne 31
30: .line 697
goto 37
31: .line 698
StackMap locals: int
StackMap stack:
aload 7 /* c2bIndex */
iload 12 /* c */
bipush 8
ishr
caload
istore 13 /* index */
start local 13 // int index
32: .line 699
iload 13 /* index */
ifne 36
33: .line 700
iload 8 /* off */
istore 13 /* index */
34: .line 701
iinc 8 /* off */ 256
35: .line 702
aload 7 /* c2bIndex */
iload 12 /* c */
bipush 8
ishr
iload 13 /* index */
i2c
castore
36: .line 704
StackMap locals: int
StackMap stack:
aload 6 /* c2b */
iload 13 /* index */
iload 12 /* c */
sipush 255
iand
iadd
iload 11 /* b */
i2c
castore
end local 13 // int index
end local 12 // char c
37: .line 694
StackMap locals:
StackMap stack:
iinc 11 /* b */ 1
StackMap locals:
StackMap stack:
38: iload 11 /* b */
aload 10 /* b2cSB_ca */
arraylength
if_icmplt 28
end local 11 // int b
39: .line 708
StackMap locals:
StackMap stack:
iconst_0
istore 11 /* b1 */
start local 11 // int b1
40: goto 58
41: .line 709
StackMap locals: int
StackMap stack:
aload 9 /* b2c_ca */
iload 11 /* b1 */
aaload
astore 12 /* db */
start local 12 // char[] db
42: .line 710
aload 12 /* db */
ifnonnull 44
43: .line 711
goto 57
44: .line 712
StackMap locals: char[]
StackMap stack:
iload 4 /* b2Min */
istore 13 /* b2 */
start local 13 // int b2
45: goto 56
46: .line 713
StackMap locals: int
StackMap stack:
aload 12 /* db */
iload 13 /* b2 */
iload 4 /* b2Min */
isub
caload
istore 14 /* c */
start local 14 // char c
47: .line 714
iload 14 /* c */
ldc 65533
if_icmpne 49
48: .line 715
goto 55
49: .line 716
StackMap locals: int
StackMap stack:
aload 7 /* c2bIndex */
iload 14 /* c */
bipush 8
ishr
caload
istore 15 /* index */
start local 15 // int index
50: .line 717
iload 15 /* index */
ifne 54
51: .line 718
iload 8 /* off */
istore 15 /* index */
52: .line 719
iinc 8 /* off */ 256
53: .line 720
aload 7 /* c2bIndex */
iload 14 /* c */
bipush 8
ishr
iload 15 /* index */
i2c
castore
54: .line 722
StackMap locals: int
StackMap stack:
aload 6 /* c2b */
iload 15 /* index */
iload 14 /* c */
sipush 255
iand
iadd
iload 11 /* b1 */
bipush 8
ishl
iload 13 /* b2 */
ior
i2c
castore
end local 15 // int index
end local 14 // char c
55: .line 712
StackMap locals:
StackMap stack:
iinc 13 /* b2 */ 1
StackMap locals:
StackMap stack:
56: iload 13 /* b2 */
iload 5 /* b2Max */
if_icmple 46
end local 13 // int b2
end local 12 // char[] db
57: .line 708
StackMap locals:
StackMap stack:
iinc 11 /* b1 */ 1
StackMap locals:
StackMap stack:
58: iload 11 /* b1 */
aload 0 /* b2c */
arraylength
if_icmplt 41
end local 11 // int b1
59: .line 726
aload 3 /* c2bNR */
ifnull 72
60: .line 728
iconst_0
istore 11 /* i */
start local 11 // int i
61: goto 71
62: .line 729
StackMap locals:
StackMap stack:
aload 3 /* c2bNR */
iload 11 /* i */
invokevirtual java.lang.String.charAt:(I)C
istore 12 /* b */
start local 12 // char b
63: .line 730
aload 3 /* c2bNR */
iload 11 /* i */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 13 /* c */
start local 13 // char c
64: .line 731
iload 13 /* c */
bipush 8
ishr
istore 14 /* index */
start local 14 // int index
65: .line 732
aload 7 /* c2bIndex */
iload 14 /* index */
caload
ifne 68
66: .line 733
aload 7 /* c2bIndex */
iload 14 /* index */
iload 8 /* off */
i2c
castore
67: .line 734
iinc 8 /* off */ 256
68: .line 736
StackMap locals: int int int
StackMap stack:
aload 7 /* c2bIndex */
iload 14 /* index */
caload
iload 13 /* c */
sipush 255
iand
iadd
istore 14 /* index */
69: .line 737
aload 6 /* c2b */
iload 14 /* index */
iload 12 /* b */
castore
end local 14 // int index
end local 13 // char c
end local 12 // char b
70: .line 728
iinc 11 /* i */ 2
StackMap locals:
StackMap stack:
71: iload 11 /* i */
aload 3 /* c2bNR */
invokevirtual java.lang.String.length:()I
if_icmplt 62
end local 11 // int i
72: .line 740
StackMap locals:
StackMap stack:
return
end local 10 // char[] b2cSB_ca
end local 9 // char[][] b2c_ca
end local 8 // int off
end local 7 // char[] c2bIndex
end local 6 // char[] c2b
end local 5 // int b2Max
end local 4 // int b2Min
end local 3 // java.lang.String c2bNR
end local 2 // java.lang.String b2cNR
end local 1 // java.lang.String b2cSB
end local 0 // java.lang.String[] b2c
LocalVariableTable:
Start End Slot Name Signature
0 73 0 b2c [Ljava/lang/String;
0 73 1 b2cSB Ljava/lang/String;
0 73 2 b2cNR Ljava/lang/String;
0 73 3 c2bNR Ljava/lang/String;
0 73 4 b2Min I
0 73 5 b2Max I
0 73 6 c2b [C
0 73 7 c2bIndex [C
2 73 8 off I
3 73 9 b2c_ca [[C
4 73 10 b2cSB_ca [C
7 13 11 i I
15 25 11 j I
17 24 12 b C
18 24 13 c C
27 39 11 b I
29 37 12 c C
32 37 13 index I
40 59 11 b1 I
42 57 12 db [C
45 57 13 b2 I
47 55 14 c C
50 55 15 index I
61 72 11 i I
63 70 12 b C
64 70 13 c C
65 70 14 index I
MethodParameters:
Name Flags
b2c
b2cSB
b2cNR
c2bNR
b2Min
b2Max
c2b
c2bIndex
}
SourceFile: "DoubleByte.java"
NestHost: sun.nio.cs.ext.DoubleByte
InnerClasses:
public Parser = sun.nio.cs.Surrogate$Parser of sun.nio.cs.Surrogate
public Encoder = sun.nio.cs.ext.DoubleByte$Encoder of sun.nio.cs.ext.DoubleByte