public class org.jcodings.transcode.TranscoderDB implements org.jcodings.transcode.EConvFlags
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jcodings.transcode.TranscoderDB
super_class: java.lang.Object
{
public static final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.transcode.TranscoderDB$Entry>> transcoders;
descriptor: Lorg/jcodings/util/CaseInsensitiveBytesHash;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/transcode/TranscoderDB$Entry;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.jcodings.util.CaseInsensitiveBytesHash
dup
invokespecial org.jcodings.util.CaseInsensitiveBytesHash.<init>:()V
putstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
1: invokestatic org.jcodings.transcode.TranscoderList.load:()V
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcodings/transcode/TranscoderDB;
static org.jcodings.transcode.TranscoderDB$Entry makeEntry(byte[], byte[]);
descriptor: ([B[B)Lorg/jcodings/transcode/TranscoderDB$Entry;
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
aload 0
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast org.jcodings.util.CaseInsensitiveBytesHash
astore 2
start local 2 1: aload 2
ifnonnull 4
2: new org.jcodings.util.CaseInsensitiveBytesHash
dup
invokespecial org.jcodings.util.CaseInsensitiveBytesHash.<init>:()V
astore 2
3: getstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
aload 0
aload 2
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.putDirect:([BLjava/lang/Object;)V
4: StackMap locals: org.jcodings.util.CaseInsensitiveBytesHash
StackMap stack:
aload 2
aload 1
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast org.jcodings.transcode.TranscoderDB$Entry
astore 3
start local 3 5: aload 3
ifnonnull 9
6: new org.jcodings.transcode.TranscoderDB$Entry
dup
aload 0
aload 1
invokespecial org.jcodings.transcode.TranscoderDB$Entry.<init>:([B[B)V
astore 3
7: aload 2
aload 1
aload 3
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.putDirect:([BLjava/lang/Object;)V
8: goto 10
9: StackMap locals: org.jcodings.transcode.TranscoderDB$Entry
StackMap stack:
new org.jcodings.exception.TranscoderException
dup
ldc "transcoder from <%n> has been already registered"
new java.lang.String
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 1
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
invokespecial org.jcodings.exception.TranscoderException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 source [B
0 11 1 destination [B
1 11 2 sHash Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
5 11 3 entry Lorg/jcodings/transcode/TranscoderDB$Entry;
MethodParameters:
Name Flags
source
destination
public static org.jcodings.transcode.TranscoderDB$Entry getEntry(byte[], byte[]);
descriptor: ([B[B)Lorg/jcodings/transcode/TranscoderDB$Entry;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
aload 0
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast org.jcodings.util.CaseInsensitiveBytesHash
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: org.jcodings.util.CaseInsensitiveBytesHash
StackMap stack:
2: aload 2
aload 1
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast org.jcodings.transcode.TranscoderDB$Entry
StackMap locals:
StackMap stack: org.jcodings.transcode.TranscoderDB$Entry
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 source [B
0 4 1 destination [B
1 4 2 sHash Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
MethodParameters:
Name Flags
source
destination
static void register(org.jcodings.transcode.Transcoder);
descriptor: (Lorg/jcodings/transcode/Transcoder;)V
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jcodings.transcode.Transcoder.source:[B
aload 0
getfield org.jcodings.transcode.Transcoder.destination:[B
invokestatic org.jcodings.transcode.TranscoderDB.makeEntry:([B[B)Lorg/jcodings/transcode/TranscoderDB$Entry;
astore 1
start local 1 1: aload 1
getfield org.jcodings.transcode.TranscoderDB$Entry.transcoder:Lorg/jcodings/transcode/Transcoder;
ifnull 5
2: new org.jcodings.exception.TranscoderException
dup
ldc "transcoder from <%n> has been already registered"
new java.lang.String
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield org.jcodings.transcode.Transcoder.source:[B
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: new java.lang.String
dup
aload 0
getfield org.jcodings.transcode.Transcoder.destination:[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
4: invokespecial org.jcodings.exception.TranscoderException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
athrow
5: StackMap locals: org.jcodings.transcode.TranscoderDB$Entry
StackMap stack:
aload 1
aload 0
putfield org.jcodings.transcode.TranscoderDB$Entry.transcoder:Lorg/jcodings/transcode/Transcoder;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 transcoder Lorg/jcodings/transcode/Transcoder;
1 7 1 entry Lorg/jcodings/transcode/TranscoderDB$Entry;
MethodParameters:
Name Flags
transcoder
static void declare(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.String.getBytes:()[B
aload 1
invokevirtual java.lang.String.getBytes:()[B
invokestatic org.jcodings.transcode.TranscoderDB.makeEntry:([B[B)Lorg/jcodings/transcode/TranscoderDB$Entry;
astore 3
start local 3 1: aload 3
aload 2
putfield org.jcodings.transcode.TranscoderDB$Entry.transcoderClass:Ljava/lang/String;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 source Ljava/lang/String;
0 3 1 destination Ljava/lang/String;
0 3 2 transcoderClass Ljava/lang/String;
1 3 3 entry Lorg/jcodings/transcode/TranscoderDB$Entry;
MethodParameters:
Name Flags
source
destination
transcoderClass
public static int searchPath(byte[], byte[], org.jcodings.transcode.TranscoderDB$SearchPathCallback);
descriptor: ([B[BLorg/jcodings/transcode/TranscoderDB$SearchPathCallback;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic org.jcodings.util.CaseInsensitiveBytesHash.caseInsensitiveEquals:([B[B)Z
ifeq 1
iconst_m1
ireturn
1: StackMap locals:
StackMap stack:
new org.jcodings.ObjPtr
dup
invokespecial org.jcodings.ObjPtr.<init>:()V
astore 3
start local 3 2: new org.jcodings.transcode.TranscoderDB$SearchPathQueue
dup
invokespecial org.jcodings.transcode.TranscoderDB$SearchPathQueue.<init>:()V
astore 4
start local 4 3: aload 4
aload 0
putfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.encoding:[B
4: aload 4
getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.next:Lorg/jcodings/ObjPtr;
astore 5
start local 5 5: aload 3
aload 4
putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
6: new org.jcodings.util.CaseInsensitiveBytesHash
dup
invokespecial org.jcodings.util.CaseInsensitiveBytesHash.<init>:()V
astore 6
start local 6 7: aload 6
aload 0
getstatic org.jcodings.transcode.EConv.NULL_STRING:[B
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.put:([BLjava/lang/Object;)Ljava/lang/Object;
pop
8: goto 46
9: StackMap locals: byte[] byte[] org.jcodings.transcode.TranscoderDB$SearchPathCallback org.jcodings.ObjPtr org.jcodings.transcode.TranscoderDB$SearchPathQueue org.jcodings.ObjPtr org.jcodings.util.CaseInsensitiveBytesHash
StackMap stack:
aload 3
getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
checkcast org.jcodings.transcode.TranscoderDB$SearchPathQueue
astore 4
10: aload 3
aload 4
getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.next:Lorg/jcodings/ObjPtr;
getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
checkcast org.jcodings.transcode.TranscoderDB$SearchPathQueue
putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
11: aload 3
getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
ifnonnull 12
aload 3
astore 5
12: StackMap locals:
StackMap stack:
getstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
aload 4
getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.encoding:[B
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast org.jcodings.util.CaseInsensitiveBytesHash
astore 7
start local 7 13: aload 7
ifnonnull 14
goto 46
14: StackMap locals: org.jcodings.util.CaseInsensitiveBytesHash
StackMap stack:
aload 7
aload 1
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast org.jcodings.transcode.TranscoderDB$Entry
astore 8
start local 8 15: aload 8
ifnull 32
16: aload 6
aload 1
aload 4
getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.encoding:[B
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.put:([BLjava/lang/Object;)Ljava/lang/Object;
pop
17: aload 1
astore 9
start local 9 18: iconst_0
istore 11
start local 11 19: StackMap locals: byte[] byte[] org.jcodings.transcode.TranscoderDB$SearchPathCallback org.jcodings.ObjPtr org.jcodings.transcode.TranscoderDB$SearchPathQueue org.jcodings.ObjPtr org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.transcode.TranscoderDB$Entry byte[] top int
StackMap stack:
aload 6
aload 9
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast byte[]
astore 12
start local 12 20: aload 12
getstatic org.jcodings.transcode.EConv.NULL_STRING:[B
if_acmpne 21
goto 24
21: StackMap locals: byte[]
StackMap stack:
iinc 11 1
22: aload 12
astore 9
end local 12 23: goto 19
24: StackMap locals:
StackMap stack:
iload 11
istore 10
start local 10 25: aload 1
astore 9
26: StackMap locals: byte[] byte[] org.jcodings.transcode.TranscoderDB$SearchPathCallback org.jcodings.ObjPtr org.jcodings.transcode.TranscoderDB$SearchPathQueue org.jcodings.ObjPtr org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.transcode.TranscoderDB$Entry byte[] int int
StackMap stack:
aload 6
aload 9
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast byte[]
astore 12
start local 12 27: aload 12
getstatic org.jcodings.transcode.EConv.NULL_STRING:[B
if_acmpne 28
goto 31
28: StackMap locals: byte[]
StackMap stack:
aload 2
aload 12
aload 9
iinc 10 -1
iload 10
invokeinterface org.jcodings.transcode.TranscoderDB$SearchPathCallback.call:([B[BI)V
29: aload 12
astore 9
end local 12 30: goto 26
31: StackMap locals:
StackMap stack:
iload 11
ireturn
end local 11 end local 10 end local 9 32: StackMap locals:
StackMap stack:
aload 4
getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.encoding:[B
astore 9
start local 9 33: aload 7
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.entryIterator:()Lorg/jcodings/util/CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntryIterator;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 11
goto 44
StackMap locals: byte[] byte[] org.jcodings.transcode.TranscoderDB$SearchPathCallback org.jcodings.ObjPtr org.jcodings.transcode.TranscoderDB$SearchPathQueue org.jcodings.ObjPtr org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.transcode.TranscoderDB$Entry byte[] top java.util.Iterator
StackMap stack:
34: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jcodings.util.Hash$HashEntry
astore 10
start local 10 35: aload 10
checkcast org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry
astore 12
start local 12 36: aload 12
getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.bytes:[B
astore 13
start local 13 37: aload 6
aload 13
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
ifnonnull 44
38: new org.jcodings.transcode.TranscoderDB$SearchPathQueue
dup
invokespecial org.jcodings.transcode.TranscoderDB$SearchPathQueue.<init>:()V
astore 14
start local 14 39: aload 14
aload 13
putfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.encoding:[B
40: aload 14
getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.next:Lorg/jcodings/ObjPtr;
aconst_null
putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
41: aload 5
aload 14
putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
42: aload 14
getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.next:Lorg/jcodings/ObjPtr;
astore 5
43: aload 6
aload 13
aload 9
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.putDirect:([BLjava/lang/Object;)V
end local 14 end local 13 end local 12 end local 10 44: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 34
45: aconst_null
astore 9
end local 9 end local 8 end local 7 46: StackMap locals: byte[] byte[] org.jcodings.transcode.TranscoderDB$SearchPathCallback org.jcodings.ObjPtr org.jcodings.transcode.TranscoderDB$SearchPathQueue org.jcodings.ObjPtr org.jcodings.util.CaseInsensitiveBytesHash
StackMap stack:
aload 3
getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
ifnonnull 9
47: iconst_m1
ireturn
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 48 0 source [B
0 48 1 destination [B
0 48 2 callback Lorg/jcodings/transcode/TranscoderDB$SearchPathCallback;
2 48 3 bfsQueue Lorg/jcodings/ObjPtr<Lorg/jcodings/transcode/TranscoderDB$SearchPathQueue;>;
3 48 4 queue Lorg/jcodings/transcode/TranscoderDB$SearchPathQueue;
5 48 5 bfsLastQueue Lorg/jcodings/ObjPtr<Lorg/jcodings/transcode/TranscoderDB$SearchPathQueue;>;
7 48 6 bfsVisited Lorg/jcodings/util/CaseInsensitiveBytesHash<[B>;
13 46 7 table2 Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
15 46 8 entry Lorg/jcodings/transcode/TranscoderDB$Entry;
18 32 9 enc [B
25 32 10 depth I
19 32 11 pathLength I
20 23 12 tmp [B
27 30 12 tmp [B
33 46 9 bfsBaseEnc [B
35 44 10 o Lorg/jcodings/util/Hash$HashEntry<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
36 44 12 e Lorg/jcodings/util/CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
37 44 13 dname [B
39 44 14 q Lorg/jcodings/transcode/TranscoderDB$SearchPathQueue;
MethodParameters:
Name Flags
source
destination
callback
public static org.jcodings.transcode.EConv alloc(int);
descriptor: (I)Lorg/jcodings/transcode/EConv;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.jcodings.transcode.EConv
dup
iload 0
invokespecial org.jcodings.transcode.EConv.<init>:(I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n I
MethodParameters:
Name Flags
n
private static org.jcodings.transcode.EConv openByTranscoderEntries(int, org.jcodings.transcode.TranscoderDB$Entry[]);
descriptor: (I[Lorg/jcodings/transcode/TranscoderDB$Entry;)Lorg/jcodings/transcode/EConv;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new org.jcodings.transcode.EConv
dup
iload 0
invokespecial org.jcodings.transcode.EConv.<init>:(I)V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: org.jcodings.transcode.EConv int
StackMap stack:
aload 1
iload 3
aaload
invokevirtual org.jcodings.transcode.TranscoderDB$Entry.getTranscoder:()Lorg/jcodings/transcode/Transcoder;
astore 4
start local 4 4: aload 2
aload 4
aload 2
getfield org.jcodings.transcode.EConv.numTranscoders:I
invokevirtual org.jcodings.transcode.EConv.addTranscoderAt:(Lorg/jcodings/transcode/Transcoder;I)V
end local 4 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 0
if_icmplt 3
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 n I
0 8 1 entries [Lorg/jcodings/transcode/TranscoderDB$Entry;
1 8 2 econv Lorg/jcodings/transcode/EConv;
2 7 3 i I
4 5 4 transcoder Lorg/jcodings/transcode/Transcoder;
MethodParameters:
Name Flags
n
entries
private static org.jcodings.transcode.EConv open0(byte[], byte[], int);
descriptor: ([B[BI)Lorg/jcodings/transcode/EConv;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
ifne 4
aload 1
arraylength
ifne 4
1: iconst_0
istore 3
start local 3 2: aconst_null
astore 4
start local 4 3: goto 9
end local 4 end local 3 4: StackMap locals:
StackMap stack:
new org.jcodings.ObjPtr
dup
invokespecial org.jcodings.ObjPtr.<init>:()V
astore 5
start local 5 5: aload 0
aload 1
new org.jcodings.transcode.TranscoderDB$1
dup
aload 5
invokespecial org.jcodings.transcode.TranscoderDB$1.<init>:(Lorg/jcodings/ObjPtr;)V
invokestatic org.jcodings.transcode.TranscoderDB.searchPath:([B[BLorg/jcodings/transcode/TranscoderDB$SearchPathCallback;)I
istore 3
start local 3 6: aload 5
getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
checkcast org.jcodings.transcode.TranscoderDB$Entry[]
astore 4
start local 4 7: iload 3
ifge 9
8: aconst_null
areturn
end local 5 9: StackMap locals: int org.jcodings.transcode.TranscoderDB$Entry[]
StackMap stack:
iload 3
aload 4
invokestatic org.jcodings.transcode.TranscoderDB.openByTranscoderEntries:(I[Lorg/jcodings/transcode/TranscoderDB$Entry;)Lorg/jcodings/transcode/EConv;
astore 5
start local 5 10: aload 5
ifnonnull 11
aconst_null
areturn
11: StackMap locals: org.jcodings.transcode.EConv
StackMap stack:
aload 5
iload 2
putfield org.jcodings.transcode.EConv.flags:I
12: aload 5
aload 0
putfield org.jcodings.transcode.EConv.source:[B
13: aload 5
aload 1
putfield org.jcodings.transcode.EConv.destination:[B
14: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 source [B
0 15 1 destination [B
0 15 2 ecflags I
2 4 3 numTrans I
6 15 3 numTrans I
3 4 4 entries [Lorg/jcodings/transcode/TranscoderDB$Entry;
7 15 4 entries [Lorg/jcodings/transcode/TranscoderDB$Entry;
5 9 5 lentries Lorg/jcodings/ObjPtr<[Lorg/jcodings/transcode/TranscoderDB$Entry;>;
10 15 5 ec Lorg/jcodings/transcode/EConv;
MethodParameters:
Name Flags
source
destination
ecflags
public static int decoratorNames(int, byte[][]);
descriptor: (I[[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 0
sipush 16128
iand
lookupswitch { // 4
0: 1
256: 1
4096: 1
8192: 1
default: 2
}
1: StackMap locals:
StackMap stack:
goto 3
2: StackMap locals:
StackMap stack:
iconst_m1
ireturn
3: StackMap locals:
StackMap stack:
iload 0
sipush 16384
iand
ifeq 4
iload 0
ldc 32768
iand
ifeq 4
iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 5: iload 0
sipush 16384
iand
ifeq 6
aload 1
iload 2
iinc 2 1
ldc "xml_text_escape"
invokevirtual java.lang.String.getBytes:()[B
aastore
6: StackMap locals: int
StackMap stack:
iload 0
ldc 32768
iand
ifeq 7
aload 1
iload 2
iinc 2 1
ldc "xml_attr_content_escape"
invokevirtual java.lang.String.getBytes:()[B
aastore
7: StackMap locals:
StackMap stack:
iload 0
ldc 1048576
iand
ifeq 8
aload 1
iload 2
iinc 2 1
ldc "xml_attr_quote"
invokevirtual java.lang.String.getBytes:()[B
aastore
8: StackMap locals:
StackMap stack:
iload 0
sipush 4096
iand
ifeq 9
aload 1
iload 2
iinc 2 1
ldc "crlf_newline"
invokevirtual java.lang.String.getBytes:()[B
aastore
9: StackMap locals:
StackMap stack:
iload 0
sipush 8192
iand
ifeq 10
aload 1
iload 2
iinc 2 1
ldc "cr_newline"
invokevirtual java.lang.String.getBytes:()[B
aastore
10: StackMap locals:
StackMap stack:
iload 0
sipush 256
iand
ifeq 11
aload 1
iload 2
iinc 2 1
ldc "universal_newline"
invokevirtual java.lang.String.getBytes:()[B
aastore
11: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 ecflags I
0 12 1 decorators [[B
5 12 2 numDecorators I
MethodParameters:
Name Flags
ecflags
decorators
public static org.jcodings.transcode.EConv open(java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;I)Lorg/jcodings/transcode/EConv;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.String.getBytes:()[B
aload 1
invokevirtual java.lang.String.getBytes:()[B
iload 2
invokestatic org.jcodings.transcode.TranscoderDB.open:([B[BI)Lorg/jcodings/transcode/EConv;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 source Ljava/lang/String;
0 1 1 destination Ljava/lang/String;
0 1 2 ecflags I
MethodParameters:
Name Flags
source
destination
ecflags
public static org.jcodings.transcode.EConv open(byte[], byte[], int);
descriptor: ([B[BI)Lorg/jcodings/transcode/EConv;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: bipush 32
anewarray byte[]
astore 3
start local 3 1: iload 2
aload 3
invokestatic org.jcodings.transcode.TranscoderDB.decoratorNames:(I[[B)I
istore 4
start local 4 2: iload 4
iconst_m1
if_icmpne 3
aconst_null
areturn
3: StackMap locals: byte[][] int
StackMap stack:
aload 0
aload 1
iload 2
sipush 255
iand
invokestatic org.jcodings.transcode.TranscoderDB.open0:([B[BI)Lorg/jcodings/transcode/EConv;
astore 5
start local 5 4: aload 5
ifnonnull 5
aconst_null
areturn
5: StackMap locals: org.jcodings.transcode.EConv
StackMap stack:
iconst_0
istore 6
start local 6 6: goto 11
7: StackMap locals: int
StackMap stack:
aload 5
aload 3
iload 6
aaload
invokevirtual org.jcodings.transcode.EConv.decorateAtLast:([B)Z
ifne 10
8: aload 5
invokevirtual org.jcodings.transcode.EConv.close:()V
9: aconst_null
areturn
10: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 4
if_icmplt 7
end local 6 12: aload 5
dup
getfield org.jcodings.transcode.EConv.flags:I
iload 2
sipush -256
iand
ior
putfield org.jcodings.transcode.EConv.flags:I
13: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 source [B
0 14 1 destination [B
0 14 2 ecflags I
1 14 3 decorators [[B
2 14 4 numDecorators I
4 14 5 ec Lorg/jcodings/transcode/EConv;
6 12 6 i I
MethodParameters:
Name Flags
source
destination
ecflags
static byte[] asciiCompatibleEncoding(byte[]);
descriptor: ([B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: getstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
aload 0
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast org.jcodings.util.CaseInsensitiveBytesHash
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.size:()I
iconst_1
if_icmpeq 3
StackMap locals: org.jcodings.util.CaseInsensitiveBytesHash
StackMap stack:
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 4: aload 1
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.iterator:()Ljava/util/Iterator;
astore 4
goto 11
StackMap locals: byte[] org.jcodings.util.CaseInsensitiveBytesHash byte[] top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jcodings.transcode.TranscoderDB$Entry
astore 3
start local 3 6: aload 3
getfield org.jcodings.transcode.TranscoderDB$Entry.source:[B
aload 3
getfield org.jcodings.transcode.TranscoderDB$Entry.destination:[B
invokestatic org.jcodings.transcode.EConv.decorator:([B[B)Z
ifne 11
7: aload 3
invokevirtual org.jcodings.transcode.TranscoderDB$Entry.getTranscoder:()Lorg/jcodings/transcode/Transcoder;
astore 5
start local 5 8: aload 5
ifnull 11
aload 5
getfield org.jcodings.transcode.Transcoder.compatibility:Lorg/jcodings/transcode/AsciiCompatibility;
invokevirtual org.jcodings.transcode.AsciiCompatibility.isDecoder:()Z
ifeq 11
9: aload 5
getfield org.jcodings.transcode.Transcoder.destination:[B
astore 2
10: goto 12
end local 5 end local 3 11: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
12: StackMap locals: byte[] org.jcodings.util.CaseInsensitiveBytesHash byte[]
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 asciiCompatName [B
1 13 1 dTable Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
4 13 2 asciiCN [B
6 11 3 e Lorg/jcodings/transcode/TranscoderDB$Entry;
8 11 5 transcoder Lorg/jcodings/transcode/Transcoder;
MethodParameters:
Name Flags
asciiCompatName
}
SourceFile: "TranscoderDB.java"
NestMembers:
org.jcodings.transcode.TranscoderDB$1 org.jcodings.transcode.TranscoderDB$Entry org.jcodings.transcode.TranscoderDB$SearchPathCallback org.jcodings.transcode.TranscoderDB$SearchPathQueue
InnerClasses:
org.jcodings.transcode.TranscoderDB$1
public final Entry = org.jcodings.transcode.TranscoderDB$Entry of org.jcodings.transcode.TranscoderDB
public abstract SearchPathCallback = org.jcodings.transcode.TranscoderDB$SearchPathCallback of org.jcodings.transcode.TranscoderDB
final SearchPathQueue = org.jcodings.transcode.TranscoderDB$SearchPathQueue of org.jcodings.transcode.TranscoderDB
public final CaseInsensitiveBytesHashEntry = org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry of org.jcodings.util.CaseInsensitiveBytesHash
public CaseInsensitiveBytesHashEntryIterator = org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntryIterator of org.jcodings.util.CaseInsensitiveBytesHash
public HashEntry = org.jcodings.util.Hash$HashEntry of org.jcodings.util.Hash