public class sun.nio.cs.FastCharsetProvider extends java.nio.charset.spi.CharsetProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.nio.cs.FastCharsetProvider
super_class: java.nio.charset.spi.CharsetProvider
{
private java.util.Map<java.lang.String, java.lang.String> classMap;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private java.util.Map<java.lang.String, java.lang.String> aliasMap;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private java.util.Map<java.lang.String, java.nio.charset.Charset> cache;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/nio/charset/Charset;>;
private java.lang.String packagePrefix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
protected void <init>(java.lang.String, java.util.Map<java.lang.String, java.lang.String>, java.util.Map<java.lang.String, java.lang.String>, java.util.Map<java.lang.String, java.nio.charset.Charset>);
descriptor: (Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.nio.charset.spi.CharsetProvider.<init>:()V
1: aload 0
aload 1
putfield sun.nio.cs.FastCharsetProvider.packagePrefix:Ljava/lang/String;
2: aload 0
aload 2
putfield sun.nio.cs.FastCharsetProvider.aliasMap:Ljava/util/Map;
3: aload 0
aload 3
putfield sun.nio.cs.FastCharsetProvider.classMap:Ljava/util/Map;
4: aload 0
aload 4
putfield sun.nio.cs.FastCharsetProvider.cache:Ljava/util/Map;
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/cs/FastCharsetProvider;
0 6 1 pp Ljava/lang/String;
0 6 2 am Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 6 3 cm Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 6 4 c Ljava/util/Map<Ljava/lang/String;Ljava/nio/charset/Charset;>;
Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/nio/charset/Charset;>;)V
MethodParameters:
Name Flags
pp
am
cm
c
private java.lang.String canonicalize(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.FastCharsetProvider.aliasMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: aload 1
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/cs/FastCharsetProvider;
0 4 1 csn Ljava/lang/String;
1 4 2 acn Ljava/lang/String;
MethodParameters:
Name Flags
csn
private static java.lang.String toLower(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: iconst_1
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 9
4: StackMap locals: int int int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 5: iload 4
bipush 65
isub
bipush 90
iload 4
isub
ior
iflt 8
6: iconst_0
istore 2
7: goto 10
end local 4 8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 1
if_icmplt 4
end local 3 10: StackMap locals:
StackMap stack:
iload 2
ifeq 12
11: aload 0
areturn
12: StackMap locals:
StackMap stack:
iload 1
newarray 5
astore 3
start local 3 13: iconst_0
istore 4
start local 4 14: goto 20
15: StackMap locals: char[] int
StackMap stack:
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 16: iload 5
bipush 65
isub
bipush 90
iload 5
isub
ior
iflt 18
17: aload 3
iload 4
iload 5
bipush 32
iadd
i2c
castore
goto 19
18: StackMap locals: int
StackMap stack:
aload 3
iload 4
iload 5
i2c
castore
end local 5 19: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
iload 1
if_icmplt 15
end local 4 21: new java.lang.String
dup
aload 3
invokespecial java.lang.String.<init>:([C)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 s Ljava/lang/String;
1 22 1 n I
2 22 2 allLower Z
3 10 3 i I
5 8 4 c I
13 22 3 ca [C
14 21 4 i I
16 19 5 c I
MethodParameters:
Name Flags
s
private java.nio.charset.Charset lookup(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/nio/charset/Charset;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic sun.nio.cs.FastCharsetProvider.toLower:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.nio.cs.FastCharsetProvider.canonicalize:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield sun.nio.cs.FastCharsetProvider.cache:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.charset.Charset
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 3
areturn
4: StackMap locals: java.lang.String java.nio.charset.Charset
StackMap stack:
aload 0
getfield sun.nio.cs.FastCharsetProvider.classMap:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 5: aload 4
ifnonnull 7
6: aconst_null
areturn
7: StackMap locals: java.lang.String
StackMap stack:
aload 4
ldc "US_ASCII"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
8: new sun.nio.cs.US_ASCII
dup
invokespecial sun.nio.cs.US_ASCII.<init>:()V
astore 3
9: aload 0
getfield sun.nio.cs.FastCharsetProvider.cache:Ljava/util/Map;
aload 2
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 3
areturn
11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield sun.nio.cs.FastCharsetProvider.packagePrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: iconst_1
13: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
14: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 5
start local 5 15: aload 5
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast java.nio.charset.Charset
astore 3
16: aload 0
getfield sun.nio.cs.FastCharsetProvider.cache:Ljava/util/Map;
aload 2
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 3
18: areturn
end local 5 19: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
pop
20: 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 21 0 this Lsun/nio/cs/FastCharsetProvider;
0 21 1 charsetName Ljava/lang/String;
1 21 2 csn Ljava/lang/String;
2 21 3 cs Ljava/nio/charset/Charset;
5 21 4 cln Ljava/lang/String;
15 19 5 c Ljava/lang/Class<*>;
Exception table:
from to target type
11 18 19 Class java.lang.ClassNotFoundException
11 18 19 Class java.lang.IllegalAccessException
11 18 19 Class java.lang.InstantiationException
MethodParameters:
Name Flags
charsetName
public final java.nio.charset.Charset charsetForName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/nio/charset/Charset;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
aload 0
aload 1
invokevirtual sun.nio.cs.FastCharsetProvider.canonicalize:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.nio.cs.FastCharsetProvider.lookup:(Ljava/lang/String;)Ljava/nio/charset/Charset;
aload 2
monitorexit
2: areturn
3: StackMap locals: sun.nio.cs.FastCharsetProvider java.lang.String sun.nio.cs.FastCharsetProvider
StackMap stack: java.lang.Throwable
aload 2
monitorexit
4: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/cs/FastCharsetProvider;
0 5 1 charsetName Ljava/lang/String;
Exception table:
from to target type
1 2 3 any
3 4 3 any
MethodParameters:
Name Flags
charsetName
public final java.util.Iterator<java.nio.charset.Charset> charsets();
descriptor: ()Ljava/util/Iterator;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.nio.cs.FastCharsetProvider$1
dup
aload 0
invokespecial sun.nio.cs.FastCharsetProvider$1.<init>:(Lsun/nio/cs/FastCharsetProvider;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/cs/FastCharsetProvider;
Signature: ()Ljava/util/Iterator<Ljava/nio/charset/Charset;>;
}
SourceFile: "FastCharsetProvider.java"
NestMembers:
sun.nio.cs.FastCharsetProvider$1
InnerClasses:
sun.nio.cs.FastCharsetProvider$1