public class org.jcodings.util.ArrayReader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jcodings.util.ArrayReader
super_class: java.lang.Object
{
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/util/ArrayReader;
public static java.io.DataInputStream openStream(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/DataInputStream;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "/tables/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".bin"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
start local 1 1: ldc Lorg/jcodings/util/ArrayReader;
aload 1
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 2
start local 2 2: aload 2
ifnonnull 3
new org.jcodings.exception.InternalException
dup
new java.lang.StringBuilder
dup
ldc "entry: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jcodings.exception.InternalException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.String java.io.InputStream
StackMap stack:
new java.io.DataInputStream
dup
new java.io.BufferedInputStream
dup
aload 2
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
1 4 1 entry Ljava/lang/String;
2 4 2 is Ljava/io/InputStream;
MethodParameters:
Name Flags
name
public static byte[] readByteArray(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokestatic org.jcodings.util.ArrayReader.openStream:(Ljava/lang/String;)Ljava/io/DataInputStream;
astore 1
start local 1 1: aload 1
invokevirtual java.io.DataInputStream.readInt:()I
istore 2
start local 2 2: iload 2
newarray 8
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: java.lang.String java.io.DataInputStream int byte[] int
StackMap stack:
aload 3
iload 4
aload 1
invokevirtual java.io.DataInputStream.readByte:()B
bastore
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 2
if_icmplt 5
end local 4 8: aload 1
aload 0
invokestatic org.jcodings.util.ArrayReader.checkAvailable:(Ljava/io/DataInputStream;Ljava/lang/String;)V
9: aload 1
invokevirtual java.io.DataInputStream.close:()V
10: aload 3
11: areturn
end local 3 end local 2 12: StackMap locals: java.lang.String java.io.DataInputStream
StackMap stack: java.io.IOException
astore 2
start local 2 13: aload 2
aload 0
invokestatic org.jcodings.util.ArrayReader.decorate:(Ljava/io/IOException;Ljava/lang/String;)V
14: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 name Ljava/lang/String;
1 15 1 dis Ljava/io/DataInputStream;
2 12 2 size I
3 12 3 bytes [B
4 8 4 i I
13 15 2 ioe Ljava/io/IOException;
Exception table:
from to target type
1 11 12 Class java.io.IOException
MethodParameters:
Name Flags
name
public static int[] readIntArray(java.lang.String);
descriptor: (Ljava/lang/String;)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokestatic org.jcodings.util.ArrayReader.openStream:(Ljava/lang/String;)Ljava/io/DataInputStream;
astore 1
start local 1 1: aload 1
invokevirtual java.io.DataInputStream.readInt:()I
istore 2
start local 2 2: iload 2
newarray 10
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: java.lang.String java.io.DataInputStream int int[] int
StackMap stack:
aload 3
iload 4
aload 1
invokevirtual java.io.DataInputStream.readInt:()I
iastore
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 2
if_icmplt 5
end local 4 8: aload 1
aload 0
invokestatic org.jcodings.util.ArrayReader.checkAvailable:(Ljava/io/DataInputStream;Ljava/lang/String;)V
9: aload 1
invokevirtual java.io.DataInputStream.close:()V
10: aload 3
11: areturn
end local 3 end local 2 12: StackMap locals: java.lang.String java.io.DataInputStream
StackMap stack: java.io.IOException
astore 2
start local 2 13: aload 2
aload 0
invokestatic org.jcodings.util.ArrayReader.decorate:(Ljava/io/IOException;Ljava/lang/String;)V
14: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 name Ljava/lang/String;
1 15 1 dis Ljava/io/DataInputStream;
2 12 2 size I
3 12 3 ints [I
4 8 4 i I
13 15 2 ioe Ljava/io/IOException;
Exception table:
from to target type
1 11 12 Class java.io.IOException
MethodParameters:
Name Flags
name
public static int[][] readNestedIntArray(java.lang.String);
descriptor: (Ljava/lang/String;)[[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
invokestatic org.jcodings.util.ArrayReader.openStream:(Ljava/lang/String;)Ljava/io/DataInputStream;
astore 1
start local 1 1: aload 1
invokevirtual java.io.DataInputStream.readInt:()I
istore 2
start local 2 2: iload 2
anewarray int[]
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 14
5: StackMap locals: java.lang.String java.io.DataInputStream int int[][] int
StackMap stack:
aload 1
invokevirtual java.io.DataInputStream.readInt:()I
istore 5
start local 5 6: iload 5
newarray 10
astore 6
start local 6 7: aload 3
iload 4
aload 6
aastore
8: iconst_0
istore 7
start local 7 9: goto 12
10: StackMap locals: int int[] int
StackMap stack:
aload 6
iload 7
aload 1
invokevirtual java.io.DataInputStream.readInt:()I
iastore
11: iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
iload 5
if_icmplt 10
end local 7 end local 6 end local 5 13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 2
if_icmplt 5
end local 4 15: aload 1
aload 0
invokestatic org.jcodings.util.ArrayReader.checkAvailable:(Ljava/io/DataInputStream;Ljava/lang/String;)V
16: aload 1
invokevirtual java.io.DataInputStream.close:()V
17: aload 3
18: areturn
end local 3 end local 2 19: StackMap locals: java.lang.String java.io.DataInputStream
StackMap stack: java.io.IOException
astore 2
start local 2 20: aload 2
aload 0
invokestatic org.jcodings.util.ArrayReader.decorate:(Ljava/io/IOException;Ljava/lang/String;)V
21: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 name Ljava/lang/String;
1 22 1 dis Ljava/io/DataInputStream;
2 19 2 size I
3 19 3 ints [[I
4 15 4 i I
6 13 5 iSize I
7 13 6 iints [I
9 13 7 k I
20 22 2 ioe Ljava/io/IOException;
Exception table:
from to target type
1 18 19 Class java.io.IOException
MethodParameters:
Name Flags
name
static void checkAvailable(java.io.DataInputStream, java.lang.String);
descriptor: (Ljava/io/DataInputStream;Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.io.DataInputStream.available:()I
ifeq 1
new org.jcodings.exception.InternalException
dup
new java.lang.StringBuilder
dup
ldc "length mismatch for table: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.io.DataInputStream.available:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " left)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jcodings.exception.InternalException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 dis Ljava/io/DataInputStream;
0 2 1 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dis
name
static void decorate(java.io.IOException, java.lang.String);
descriptor: (Ljava/io/IOException;Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.jcodings.exception.InternalException
dup
new java.lang.StringBuilder
dup
ldc "problem reading table: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jcodings.exception.InternalException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ioe Ljava/io/IOException;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
ioe
name
}
SourceFile: "ArrayReader.java"