class org.openjdk.jmh.runner.AbstractResourceReader
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.openjdk.jmh.runner.AbstractResourceReader
super_class: java.lang.Object
{
private final java.lang.String file;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String resource;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String strings;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=4
start local 0 // org.openjdk.jmh.runner.AbstractResourceReader this
start local 1 // java.lang.String file
start local 2 // java.lang.String resource
start local 3 // java.lang.String strings
0: .line 41
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 42
aload 0 /* this */
aload 1 /* file */
putfield org.openjdk.jmh.runner.AbstractResourceReader.file:Ljava/lang/String;
2: .line 43
aload 0 /* this */
aload 2 /* resource */
putfield org.openjdk.jmh.runner.AbstractResourceReader.resource:Ljava/lang/String;
3: .line 44
aload 0 /* this */
aload 3 /* strings */
putfield org.openjdk.jmh.runner.AbstractResourceReader.strings:Ljava/lang/String;
4: .line 45
return
end local 3 // java.lang.String strings
end local 2 // java.lang.String resource
end local 1 // java.lang.String file
end local 0 // org.openjdk.jmh.runner.AbstractResourceReader this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/openjdk/jmh/runner/AbstractResourceReader;
0 5 1 file Ljava/lang/String;
0 5 2 resource Ljava/lang/String;
0 5 3 strings Ljava/lang/String;
MethodParameters:
Name Flags
file
resource
strings
protected java.util.List<java.io.Reader> getReaders();
descriptor: ()Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=1
start local 0 // org.openjdk.jmh.runner.AbstractResourceReader this
0: .line 53
aload 0 /* this */
getfield org.openjdk.jmh.runner.AbstractResourceReader.strings:Ljava/lang/String;
ifnull 2
1: .line 54
new java.io.StringReader
dup
aload 0 /* this */
getfield org.openjdk.jmh.runner.AbstractResourceReader.strings:Ljava/lang/String;
invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
2: .line 57
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.openjdk.jmh.runner.AbstractResourceReader.file:Ljava/lang/String;
ifnull 7
3: .line 59
new java.io.InputStreamReader
dup
new java.io.FileInputStream
dup
aload 0 /* this */
getfield org.openjdk.jmh.runner.AbstractResourceReader.file:Ljava/lang/String;
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
4: areturn
5: .line 60
StackMap locals:
StackMap stack: java.io.FileNotFoundException
astore 1 /* e */
start local 1 // java.io.FileNotFoundException e
6: .line 61
new java.lang.RuntimeException
dup
ldc "ERROR: Could not find resource"
aload 1 /* e */
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 // java.io.FileNotFoundException e
7: .line 65
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.openjdk.jmh.runner.AbstractResourceReader.resource:Ljava/lang/String;
ifnull 35
8: .line 68
aload 0 /* this */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
9: .line 69
aload 0 /* this */
getfield org.openjdk.jmh.runner.AbstractResourceReader.resource:Ljava/lang/String;
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
10: .line 70
aload 0 /* this */
getfield org.openjdk.jmh.runner.AbstractResourceReader.resource:Ljava/lang/String;
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 12
11: .line 71
StackMap locals:
StackMap stack: java.lang.ClassLoader
aload 0 /* this */
getfield org.openjdk.jmh.runner.AbstractResourceReader.resource:Ljava/lang/String;
12: .line 68
StackMap locals: org.openjdk.jmh.runner.AbstractResourceReader
StackMap stack: java.lang.ClassLoader java.lang.String
invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
astore 1 /* urls */
start local 1 // java.util.Enumeration urls
13: .line 73
goto 16
end local 1 // java.util.Enumeration urls
StackMap locals:
StackMap stack: java.io.IOException
14: astore 2 /* e */
start local 2 // java.io.IOException e
15: .line 74
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "ERROR: While obtaining resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield org.openjdk.jmh.runner.AbstractResourceReader.resource:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2 /* e */
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 // java.io.IOException e
start local 1 // java.util.Enumeration urls
16: .line 77
StackMap locals: java.util.Enumeration
StackMap stack:
aload 1 /* urls */
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifeq 34
17: .line 78
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2 /* readers */
start local 2 // java.util.List readers
18: .line 79
aconst_null
astore 3 /* url */
start local 3 // java.net.URL url
19: .line 81
goto 23
20: .line 82
StackMap locals: java.util.List java.net.URL
StackMap stack:
aload 1 /* urls */
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.net.URL
astore 3 /* url */
21: .line 83
aload 3 /* url */
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
astore 4 /* stream */
start local 4 // java.io.InputStream stream
22: .line 84
aload 2 /* readers */
new java.io.InputStreamReader
dup
aload 4 /* stream */
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 // java.io.InputStream stream
23: .line 81
StackMap locals:
StackMap stack:
aload 1 /* urls */
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 20
24: .line 86
goto 33
StackMap locals:
StackMap stack: java.io.IOException
25: astore 4 /* e */
start local 4 // java.io.IOException e
26: .line 87
aload 2 /* readers */
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 31
StackMap locals: org.openjdk.jmh.runner.AbstractResourceReader java.util.Enumeration java.util.List java.net.URL java.io.IOException top java.util.Iterator
StackMap stack:
27: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.Reader
astore 5 /* r */
start local 5 // java.io.Reader r
28: .line 89
aload 5 /* r */
invokevirtual java.io.Reader.close:()V
29: .line 90
goto 31
StackMap locals: org.openjdk.jmh.runner.AbstractResourceReader java.util.Enumeration java.util.List java.net.URL java.io.IOException java.io.Reader java.util.Iterator
StackMap stack: java.io.IOException
30: pop
end local 5 // java.io.Reader r
31: .line 87
StackMap locals: org.openjdk.jmh.runner.AbstractResourceReader java.util.Enumeration java.util.List java.net.URL java.io.IOException top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
32: .line 94
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "ERROR: While opening resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* url */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4 /* e */
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 // java.io.IOException e
33: .line 96
StackMap locals: org.openjdk.jmh.runner.AbstractResourceReader java.util.Enumeration java.util.List java.net.URL
StackMap stack:
aload 2 /* readers */
areturn
end local 3 // java.net.URL url
end local 2 // java.util.List readers
34: .line 98
StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "ERROR: Unable to find the resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield org.openjdk.jmh.runner.AbstractResourceReader.resource:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 // java.util.Enumeration urls
35: .line 102
StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 0 // org.openjdk.jmh.runner.AbstractResourceReader this
LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/openjdk/jmh/runner/AbstractResourceReader;
6 7 1 e Ljava/io/FileNotFoundException;
13 14 1 urls Ljava/util/Enumeration<Ljava/net/URL;>;
16 35 1 urls Ljava/util/Enumeration<Ljava/net/URL;>;
15 16 2 e Ljava/io/IOException;
18 34 2 readers Ljava/util/List<Ljava/io/Reader;>;
19 34 3 url Ljava/net/URL;
22 23 4 stream Ljava/io/InputStream;
26 33 4 e Ljava/io/IOException;
28 31 5 r Ljava/io/Reader;
Exception table:
from to target type
3 4 5 Class java.io.FileNotFoundException
8 13 14 Class java.io.IOException
19 24 25 Class java.io.IOException
28 29 30 Class java.io.IOException
Signature: ()Ljava/util/List<Ljava/io/Reader;>;
}
SourceFile: "AbstractResourceReader.java"