public class org.jruby.RubyClassPathVariable extends org.jruby.RubyObject
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.RubyClassPathVariable
super_class: org.jruby.RubyObject
{
public static void createClassPathVariable(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new org.jruby.RubyClassPathVariable
dup
aload 0
invokespecial org.jruby.RubyClassPathVariable.<init>:(Lorg/jruby/Ruby;)V
astore 1
start local 1 1: aload 0
invokevirtual org.jruby.Ruby.getEnumerable:()Lorg/jruby/RubyModule;
aload 1
invokevirtual org.jruby.RubyModule.extend_object:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
2: aload 0
ldc "$CLASSPATH"
aload 1
getstatic org.jruby.internal.runtime.GlobalVariable$Scope.GLOBAL:Lorg/jruby/internal/runtime/GlobalVariable$Scope;
invokevirtual org.jruby.Ruby.defineReadonlyVariable:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/internal/runtime/GlobalVariable$Scope;)V
3: aload 1
invokevirtual org.jruby.RubyClassPathVariable.getMetaClass:()Lorg/jruby/RubyClass;
ldc Lorg/jruby/RubyClassPathVariable;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 runtime Lorg/jruby/Ruby;
1 5 1 self Lorg/jruby/RubyClassPathVariable;
MethodParameters:
Name Flags
runtime
private void <init>(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyClassPathVariable;
0 2 1 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
runtime
public org.jruby.runtime.builtin.IRubyObject append(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 1
invokevirtual org.jruby.RubyClassPathVariable.append:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyClassPathVariable;
0 1 1 obj Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
obj
public org.jruby.runtime.builtin.IRubyObject append(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc "to_a"
invokeinterface org.jruby.runtime.builtin.IRubyObject.respondsTo:(Ljava/lang/String;)Z
ifeq 3
1: aload 2
aload 1
ldc "to_a"
invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.toJavaArrayMaybeUnsafe:()[Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 2: goto 4
end local 3 3: StackMap locals:
StackMap stack:
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 2
aastore
astore 3
start local 3 4: StackMap locals: org.jruby.runtime.builtin.IRubyObject[]
StackMap stack:
aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 15
StackMap locals: org.jruby.RubyClassPathVariable org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] top int int org.jruby.runtime.builtin.IRubyObject[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: aload 0
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
invokevirtual org.jruby.RubyClassPathVariable.getURL:(Ljava/lang/String;)Ljava/net/URL;
astore 8
start local 8 7: aload 8
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: aload 1
aconst_null
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 4
aastore
invokestatic org.jruby.RubyFile.expand_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
9: aload 0
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
invokevirtual org.jruby.RubyClassPathVariable.getURL:(Ljava/lang/String;)Ljava/net/URL;
astore 8
10: StackMap locals: org.jruby.RubyClassPathVariable org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject int int org.jruby.runtime.builtin.IRubyObject[] java.net.URL
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getJRubyClassLoader:()Lorg/jruby/util/JRubyClassLoader;
aload 8
invokevirtual org.jruby.util.JRubyClassLoader.addURL:(Ljava/net/URL;)V
end local 8 11: goto 14
StackMap locals: org.jruby.RubyClassPathVariable org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject int int org.jruby.runtime.builtin.IRubyObject[]
StackMap stack: java.net.MalformedURLException
12: astore 8
start local 8 13: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 8
invokevirtual java.net.MalformedURLException.getLocalizedMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 8 end local 4 14: StackMap locals: org.jruby.RubyClassPathVariable org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] top int int org.jruby.runtime.builtin.IRubyObject[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 6
if_icmplt 5
16: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/jruby/RubyClassPathVariable;
0 17 1 context Lorg/jruby/runtime/ThreadContext;
0 17 2 obj Lorg/jruby/runtime/builtin/IRubyObject;
2 3 3 paths [Lorg/jruby/runtime/builtin/IRubyObject;
4 17 3 paths [Lorg/jruby/runtime/builtin/IRubyObject;
6 14 4 path Lorg/jruby/runtime/builtin/IRubyObject;
7 11 8 url Ljava/net/URL;
13 14 8 mue Ljava/net/MalformedURLException;
Exception table:
from to target type
6 11 12 Class java.net.MalformedURLException
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"append", "<<"}, required = 1)
MethodParameters:
Name Flags
context
obj
private java.net.URL getURL(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/net/URL;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: new java.net.URL
dup
aload 1
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
1: areturn
2: StackMap locals:
StackMap stack: java.net.MalformedURLException
pop
3: new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
start local 2 4: aload 1
astore 3
start local 3 5: aload 2
invokevirtual java.io.File.exists:()Z
ifeq 7
aload 2
invokevirtual java.io.File.isDirectory:()Z
ifeq 7
aload 3
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 7
6: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
7: StackMap locals: java.io.File java.lang.String
StackMap stack:
new java.net.URL
dup
ldc "file"
aconst_null
aload 3
invokespecial java.net.URL.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/RubyClassPathVariable;
0 8 1 target Ljava/lang/String;
4 8 2 f Ljava/io/File;
5 8 3 path Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.net.MalformedURLException
Exceptions:
throws java.net.MalformedURLException
MethodParameters:
Name Flags
target
public org.jruby.runtime.builtin.IRubyObject size();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyClassPathVariable.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.RubyClassPathVariable.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getJRubyClassLoader:()Lorg/jruby/util/JRubyClassLoader;
invokevirtual org.jruby.util.JRubyClassLoader.getURLs:()[Ljava/net/URL;
arraylength
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyClassPathVariable;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"size", "length"})
public org.jruby.runtime.builtin.IRubyObject each(org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyClassPathVariable.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
astore 2
start local 2 1: aload 2
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getJRubyClassLoader:()Lorg/jruby/util/JRubyClassLoader;
invokevirtual org.jruby.util.JRubyClassLoader.getURLs:()[Ljava/net/URL;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 3
arraylength
istore 5
start local 5 4: goto 7
5: StackMap locals: org.jruby.RubyClassPathVariable org.jruby.runtime.Block org.jruby.runtime.ThreadContext java.net.URL[] int int
StackMap stack:
aload 1
aload 2
aload 2
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
iload 4
aaload
invokevirtual java.net.URL.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 5
end local 5 end local 4 8: aload 2
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/RubyClassPathVariable;
0 9 1 block Lorg/jruby/runtime/Block;
1 9 2 context Lorg/jruby/runtime/ThreadContext;
2 9 3 urls [Ljava/net/URL;
3 8 4 i I
4 8 5 j I
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
block
public org.jruby.runtime.builtin.IRubyObject to_s();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyClassPathVariable.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
astore 1
start local 1 1: aload 0
aload 1
ldc "to_a"
invokevirtual org.jruby.RubyClassPathVariable.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 1
ldc "to_s"
invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyClassPathVariable;
1 2 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public org.jruby.runtime.builtin.IRubyObject inspect();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyClassPathVariable.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
astore 1
start local 1 1: aload 0
aload 1
ldc "to_a"
invokevirtual org.jruby.RubyClassPathVariable.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 1
ldc "inspect"
invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyClassPathVariable;
1 2 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"inspect"})
}
SourceFile: "RubyClassPathVariable.java"
InnerClasses:
public final Scope = org.jruby.internal.runtime.GlobalVariable$Scope of org.jruby.internal.runtime.GlobalVariable