class org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary extends org.jruby.runtime.load.LibrarySearcher$ResourceLibrary
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary
super_class: org.jruby.runtime.load.LibrarySearcher$ResourceLibrary
{
public void <init>(java.lang.String, java.lang.String, org.jruby.util.FileResource);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/jruby/util/FileResource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 // org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary this
start local 1 // java.lang.String searchName
start local 2 // java.lang.String scriptName
start local 3 // org.jruby.util.FileResource resource
0: .line 244
aload 0 /* this */
aload 1 /* searchName */
aload 2 /* scriptName */
aload 3 /* resource */
invokespecial org.jruby.runtime.load.LibrarySearcher$ResourceLibrary.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/jruby/util/FileResource;)V
1: .line 245
return
end local 3 // org.jruby.util.FileResource resource
end local 2 // java.lang.String scriptName
end local 1 // java.lang.String searchName
end local 0 // org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/runtime/load/LibrarySearcher$ClassResourceLibrary;
0 2 1 searchName Ljava/lang/String;
0 2 2 scriptName Ljava/lang/String;
0 2 3 resource Lorg/jruby/util/FileResource;
MethodParameters:
Name Flags
searchName
scriptName
resource
public void load(org.jruby.Ruby, boolean);
descriptor: (Lorg/jruby/Ruby;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 // org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary this
start local 1 // org.jruby.Ruby runtime
start local 2 // boolean wrap
0: .line 249
aconst_null
astore 3
aconst_null
astore 4
1: aload 0 /* this */
getfield org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary.resource:Lorg/jruby/util/FileResource;
invokeinterface org.jruby.util.FileResource.inputStream:()Ljava/io/InputStream;
astore 5 /* ris */
start local 5 // java.io.InputStream ris
2: .line 251
new java.io.BufferedInputStream
dup
aload 5 /* ris */
ldc 32768
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
astore 6 /* is */
start local 6 // java.io.InputStream is
3: .line 252
aload 1 /* runtime */
aload 6 /* is */
aconst_null
aload 0 /* this */
getfield org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary.scriptName:Ljava/lang/String;
iconst_0
invokestatic org.jruby.runtime.load.CompiledScriptLoader.loadScriptFromFile:(Lorg/jruby/Ruby;Ljava/io/InputStream;Ljava/io/File;Ljava/lang/String;Z)Lorg/jruby/ir/IRScope;
astore 7 /* script */
start local 7 // org.jruby.ir.IRScope script
4: .line 256
aload 7 /* script */
ifnonnull 7
5: .line 260
aload 5 /* ris */
ifnull 6
aload 5 /* ris */
invokevirtual java.io.InputStream.close:()V
6: .line 256
StackMap locals: org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary org.jruby.Ruby int java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.InputStream org.jruby.ir.IRScope
StackMap stack:
return
7: .line 258
StackMap locals:
StackMap stack:
aload 7 /* script */
aload 0 /* this */
getfield org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary.scriptName:Ljava/lang/String;
invokevirtual org.jruby.ir.IRScope.setFileName:(Ljava/lang/String;)V
8: .line 259
aload 1 /* runtime */
aload 7 /* script */
iload 2 /* wrap */
invokevirtual org.jruby.Ruby.loadScope:(Lorg/jruby/ir/IRScope;Z)V
end local 7 // org.jruby.ir.IRScope script
end local 6 // java.io.InputStream is
9: .line 260
aload 5 /* ris */
ifnull 17
aload 5 /* ris */
invokevirtual java.io.InputStream.close:()V
goto 17
StackMap locals: org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary org.jruby.Ruby int java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
10: astore 3
aload 5 /* ris */
ifnull 11
aload 5 /* ris */
invokevirtual java.io.InputStream.close:()V
end local 5 // java.io.InputStream ris
StackMap locals:
StackMap stack:
11: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 4
aload 3
ifnonnull 13
aload 4
astore 3
goto 14
StackMap locals:
StackMap stack:
13: aload 3
aload 4
if_acmpeq 14
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 3
athrow
StackMap locals: org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary org.jruby.Ruby int
StackMap stack: java.io.IOException
15: pop
16: .line 261
aload 1 /* runtime */
new java.lang.StringBuilder
dup
ldc "no such file to load -- "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary.searchName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 0 /* this */
getfield org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary.searchName:Ljava/lang/String;
invokevirtual org.jruby.Ruby.newLoadError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
17: .line 263
StackMap locals:
StackMap stack:
return
end local 2 // boolean wrap
end local 1 // org.jruby.Ruby runtime
end local 0 // org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/jruby/runtime/load/LibrarySearcher$ClassResourceLibrary;
0 18 1 runtime Lorg/jruby/Ruby;
0 18 2 wrap Z
2 11 5 ris Ljava/io/InputStream;
3 9 6 is Ljava/io/InputStream;
4 9 7 script Lorg/jruby/ir/IRScope;
Exception table:
from to target type
2 5 10 any
7 9 10 any
1 6 12 any
7 12 12 any
0 6 15 Class java.io.IOException
7 15 15 Class java.io.IOException
MethodParameters:
Name Flags
runtime
wrap
}
SourceFile: "LibrarySearcher.java"
NestHost: org.jruby.runtime.load.LibrarySearcher
InnerClasses:
ClassResourceLibrary = org.jruby.runtime.load.LibrarySearcher$ClassResourceLibrary of org.jruby.runtime.load.LibrarySearcher
ResourceLibrary = org.jruby.runtime.load.LibrarySearcher$ResourceLibrary of org.jruby.runtime.load.LibrarySearcher