class sun.nio.cs.ext.JISAutoDetect$Decoder extends java.nio.charset.CharsetDecoder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.cs.ext.JISAutoDetect$Decoder
super_class: java.nio.charset.CharsetDecoder
{
private static final java.lang.String osName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String SJISName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String EUCJPName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "EUC_JP"
private sun.nio.cs.DelegatableDecoder detectedDecoder;
descriptor: Lsun/nio/cs/DelegatableDecoder;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokedynamic run()Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
sun/nio/cs/ext/JISAutoDetect$Decoder.lambda$0()Ljava/lang/String; (6)
()Ljava/lang/String;
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
putstatic sun.nio.cs.ext.JISAutoDetect$Decoder.osName:Ljava/lang/String;
2: invokestatic sun.nio.cs.ext.JISAutoDetect$Decoder.getSJISName:()Ljava/lang/String;
putstatic sun.nio.cs.ext.JISAutoDetect$Decoder.SJISName:Ljava/lang/String;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc 0.5
fconst_1
invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
1: aload 0
aconst_null
putfield sun.nio.cs.ext.JISAutoDetect$Decoder.detectedDecoder:Lsun/nio/cs/DelegatableDecoder;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/ext/JISAutoDetect$Decoder;
0 3 1 cs Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
cs
private static boolean isPlainASCII(byte);
descriptor: (B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iflt 1
iload 0
bipush 27
if_icmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 b B
MethodParameters:
Name Flags
b
private static void copyLeadingASCII(java.nio.ByteBuffer, java.nio.CharBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 1: iload 2
aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 1
invokevirtual java.nio.CharBuffer.remaining:()I
invokestatic java.lang.Math.min:(II)I
iadd
istore 3
start local 3 2: iload 2
istore 4
start local 4 3: goto 6
start local 5 4: StackMap locals: java.nio.ByteBuffer java.nio.CharBuffer int int int int
StackMap stack:
aload 1
iload 5
sipush 255
iand
i2c
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
5: iinc 4 1
end local 5 StackMap locals:
StackMap stack:
6: iload 4
iload 3
if_icmpge 8
aload 0
iload 4
invokevirtual java.nio.ByteBuffer.get:(I)B
dup
istore 5
start local 5 7: invokestatic sun.nio.cs.ext.JISAutoDetect$Decoder.isPlainASCII:(B)Z
ifne 4
end local 5 8: StackMap locals:
StackMap stack:
aload 0
iload 4
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 src Ljava/nio/ByteBuffer;
0 10 1 dst Ljava/nio/CharBuffer;
1 10 2 start I
2 10 3 limit I
3 10 4 p I
4 6 5 b B
7 8 5 b B
MethodParameters:
Name Flags
src
dst
private java.nio.charset.CoderResult decodeLoop(sun.nio.cs.DelegatableDecoder, java.nio.ByteBuffer, java.nio.CharBuffer);
descriptor: (Lsun/nio/cs/DelegatableDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast java.nio.charset.CharsetDecoder
invokevirtual java.nio.charset.CharsetDecoder.reset:()Ljava/nio/charset/CharsetDecoder;
pop
1: aload 0
aload 1
putfield sun.nio.cs.ext.JISAutoDetect$Decoder.detectedDecoder:Lsun/nio/cs/DelegatableDecoder;
2: aload 0
getfield sun.nio.cs.ext.JISAutoDetect$Decoder.detectedDecoder:Lsun/nio/cs/DelegatableDecoder;
aload 2
aload 3
invokeinterface sun.nio.cs.DelegatableDecoder.decodeLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/ext/JISAutoDetect$Decoder;
0 3 1 decoder Lsun/nio/cs/DelegatableDecoder;
0 3 2 src Ljava/nio/ByteBuffer;
0 3 3 dst Ljava/nio/CharBuffer;
MethodParameters:
Name Flags
decoder
src
dst
protected java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=18, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.nio.cs.ext.JISAutoDetect$Decoder.detectedDecoder:Lsun/nio/cs/DelegatableDecoder;
ifnonnull 43
1: aload 1
aload 2
invokestatic sun.nio.cs.ext.JISAutoDetect$Decoder.copyLeadingASCII:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)V
2: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 4
3: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 7
5: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.nio.ByteBuffer.get:(I)B
invokestatic sun.nio.cs.ext.JISAutoDetect$Decoder.isPlainASCII:(B)Z
ifeq 7
6: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
areturn
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
i2d
aload 0
invokevirtual sun.nio.cs.ext.JISAutoDetect$Decoder.maxCharsPerByte:()F
f2d
dmul
d2i
istore 3
start local 3 8: iload 3
invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
astore 4
start local 4 9: ldc "ISO-2022-JP"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 5
start local 5 10: aload 5
invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
checkcast sun.nio.cs.DelegatableDecoder
11: astore 6
start local 6 12: aload 1
invokevirtual java.nio.ByteBuffer.asReadOnlyBuffer:()Ljava/nio/ByteBuffer;
astore 7
start local 7 13: aload 6
aload 7
aload 4
invokeinterface sun.nio.cs.DelegatableDecoder.decodeLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
astore 8
start local 8 14: aload 8
invokevirtual java.nio.charset.CoderResult.isError:()Z
ifne 16
15: aload 0
aload 6
aload 1
aload 2
invokevirtual sun.nio.cs.ext.JISAutoDetect$Decoder.decodeLoop:(Lsun/nio/cs/DelegatableDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
areturn
16: StackMap locals: sun.nio.cs.ext.JISAutoDetect$Decoder java.nio.ByteBuffer java.nio.CharBuffer int java.nio.CharBuffer java.nio.charset.Charset sun.nio.cs.DelegatableDecoder java.nio.ByteBuffer java.nio.charset.CoderResult
StackMap stack:
ldc "EUC_JP"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 9
start local 9 17: getstatic sun.nio.cs.ext.JISAutoDetect$Decoder.SJISName:Ljava/lang/String;
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 10
start local 10 18: aload 9
invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
checkcast sun.nio.cs.DelegatableDecoder
19: astore 11
start local 11 20: aload 10
invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
checkcast sun.nio.cs.DelegatableDecoder
21: astore 12
start local 12 22: aload 1
invokevirtual java.nio.ByteBuffer.asReadOnlyBuffer:()Ljava/nio/ByteBuffer;
astore 13
start local 13 23: aload 4
invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/CharBuffer;
pop
24: aload 11
aload 13
aload 4
invokeinterface sun.nio.cs.DelegatableDecoder.decodeLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
astore 14
start local 14 25: aload 14
invokevirtual java.nio.charset.CoderResult.isError:()Z
ifeq 27
26: aload 0
aload 12
aload 1
aload 2
invokevirtual sun.nio.cs.ext.JISAutoDetect$Decoder.decodeLoop:(Lsun/nio/cs/DelegatableDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
areturn
27: StackMap locals: sun.nio.cs.ext.JISAutoDetect$Decoder java.nio.ByteBuffer java.nio.CharBuffer int java.nio.CharBuffer java.nio.charset.Charset sun.nio.cs.DelegatableDecoder java.nio.ByteBuffer java.nio.charset.CoderResult java.nio.charset.Charset java.nio.charset.Charset sun.nio.cs.DelegatableDecoder sun.nio.cs.DelegatableDecoder java.nio.ByteBuffer java.nio.charset.CoderResult
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.asReadOnlyBuffer:()Ljava/nio/ByteBuffer;
astore 15
start local 15 28: iload 3
invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
astore 16
start local 16 29: aload 12
aload 15
aload 16
invokeinterface sun.nio.cs.DelegatableDecoder.decodeLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
astore 17
start local 17 30: aload 17
invokevirtual java.nio.charset.CoderResult.isError:()Z
ifeq 32
31: aload 0
aload 11
aload 1
aload 2
invokevirtual sun.nio.cs.ext.JISAutoDetect$Decoder.decodeLoop:(Lsun/nio/cs/DelegatableDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
areturn
32: StackMap locals: java.nio.ByteBuffer java.nio.CharBuffer java.nio.charset.CoderResult
StackMap stack:
aload 13
invokevirtual java.nio.ByteBuffer.position:()I
aload 15
invokevirtual java.nio.ByteBuffer.position:()I
if_icmple 34
33: aload 0
aload 11
aload 1
aload 2
invokevirtual sun.nio.cs.ext.JISAutoDetect$Decoder.decodeLoop:(Lsun/nio/cs/DelegatableDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
areturn
34: StackMap locals:
StackMap stack:
aload 13
invokevirtual java.nio.ByteBuffer.position:()I
aload 15
invokevirtual java.nio.ByteBuffer.position:()I
if_icmpge 36
35: aload 0
aload 12
aload 1
aload 2
invokevirtual sun.nio.cs.ext.JISAutoDetect$Decoder.decodeLoop:(Lsun/nio/cs/DelegatableDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
areturn
36: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
aload 13
invokevirtual java.nio.ByteBuffer.position:()I
if_icmpne 38
37: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
38: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/CharBuffer;
pop
39: aload 0
aload 4
invokestatic sun.nio.cs.ext.JISAutoDetect.looksLikeJapanese:(Ljava/nio/CharBuffer;)Z
ifeq 40
aload 11
goto 41
StackMap locals:
StackMap stack: sun.nio.cs.ext.JISAutoDetect$Decoder
40: aload 12
41: StackMap locals: sun.nio.cs.ext.JISAutoDetect$Decoder java.nio.ByteBuffer java.nio.CharBuffer int java.nio.CharBuffer java.nio.charset.Charset sun.nio.cs.DelegatableDecoder java.nio.ByteBuffer java.nio.charset.CoderResult java.nio.charset.Charset java.nio.charset.Charset sun.nio.cs.DelegatableDecoder sun.nio.cs.DelegatableDecoder java.nio.ByteBuffer java.nio.charset.CoderResult java.nio.ByteBuffer java.nio.CharBuffer java.nio.charset.CoderResult
StackMap stack: sun.nio.cs.ext.JISAutoDetect$Decoder sun.nio.cs.DelegatableDecoder
aload 1
aload 2
42: invokevirtual sun.nio.cs.ext.JISAutoDetect$Decoder.decodeLoop:(Lsun/nio/cs/DelegatableDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
areturn
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 43: StackMap locals: sun.nio.cs.ext.JISAutoDetect$Decoder java.nio.ByteBuffer java.nio.CharBuffer
StackMap stack:
aload 0
getfield sun.nio.cs.ext.JISAutoDetect$Decoder.detectedDecoder:Lsun/nio/cs/DelegatableDecoder;
aload 1
aload 2
invokeinterface sun.nio.cs.DelegatableDecoder.decodeLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/nio/cs/ext/JISAutoDetect$Decoder;
0 44 1 src Ljava/nio/ByteBuffer;
0 44 2 dst Ljava/nio/CharBuffer;
8 43 3 cbufsiz I
9 43 4 sandbox Ljava/nio/CharBuffer;
10 43 5 cs2022 Ljava/nio/charset/Charset;
12 43 6 dd2022 Lsun/nio/cs/DelegatableDecoder;
13 43 7 src2022 Ljava/nio/ByteBuffer;
14 43 8 res2022 Ljava/nio/charset/CoderResult;
17 43 9 csEUCJ Ljava/nio/charset/Charset;
18 43 10 csSJIS Ljava/nio/charset/Charset;
20 43 11 ddEUCJ Lsun/nio/cs/DelegatableDecoder;
22 43 12 ddSJIS Lsun/nio/cs/DelegatableDecoder;
23 43 13 srcEUCJ Ljava/nio/ByteBuffer;
25 43 14 resEUCJ Ljava/nio/charset/CoderResult;
28 43 15 srcSJIS Ljava/nio/ByteBuffer;
29 43 16 sandboxSJIS Ljava/nio/CharBuffer;
30 43 17 resSJIS Ljava/nio/charset/CoderResult;
MethodParameters:
Name Flags
src
dst
protected void implReset();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield sun.nio.cs.ext.JISAutoDetect$Decoder.detectedDecoder:Lsun/nio/cs/DelegatableDecoder;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ext/JISAutoDetect$Decoder;
protected java.nio.charset.CoderResult implFlush(java.nio.CharBuffer);
descriptor: (Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
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.JISAutoDetect$Decoder.detectedDecoder:Lsun/nio/cs/DelegatableDecoder;
ifnull 2
1: aload 0
getfield sun.nio.cs.ext.JISAutoDetect$Decoder.detectedDecoder:Lsun/nio/cs/DelegatableDecoder;
aload 1
invokeinterface sun.nio.cs.DelegatableDecoder.implFlush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial java.nio.charset.CharsetDecoder.implFlush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/ext/JISAutoDetect$Decoder;
0 3 1 out Ljava/nio/CharBuffer;
MethodParameters:
Name Flags
out
public boolean isAutoDetecting();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/cs/ext/JISAutoDetect$Decoder;
public boolean isCharsetDetected();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.cs.ext.JISAutoDetect$Decoder.detectedDecoder:Lsun/nio/cs/DelegatableDecoder;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ext/JISAutoDetect$Decoder;
public java.nio.charset.Charset detectedCharset();
descriptor: ()Ljava/nio/charset/Charset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.cs.ext.JISAutoDetect$Decoder.detectedDecoder:Lsun/nio/cs/DelegatableDecoder;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "charset not yet detected"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.ext.JISAutoDetect$Decoder.detectedDecoder:Lsun/nio/cs/DelegatableDecoder;
checkcast java.nio.charset.CharsetDecoder
invokevirtual java.nio.charset.CharsetDecoder.charset:()Ljava/nio/charset/Charset;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/ext/JISAutoDetect$Decoder;
private static java.lang.String getSJISName();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.nio.cs.ext.JISAutoDetect$Decoder.osName:Ljava/lang/String;
ldc "Windows"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 2
1: ldc "windows-31J"
areturn
2: StackMap locals:
StackMap stack:
ldc "Shift_JIS"
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$0();
descriptor: ()Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: ldc "os.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "JISAutoDetect.java"
NestHost: sun.nio.cs.ext.JISAutoDetect
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private Decoder = sun.nio.cs.ext.JISAutoDetect$Decoder of sun.nio.cs.ext.JISAutoDetect