public class org.jruby.embed.variable.LocalGlobalVariable extends org.jruby.embed.variable.GlobalVariable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.embed.variable.LocalGlobalVariable
super_class: org.jruby.embed.variable.GlobalVariable
{
private static final java.lang.String VALID_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "([a-zA-Z]|(_([a-zA-Z]|_|\\d)))([a-zA-Z]|_|\\d)*"
public static org.jruby.embed.variable.BiVariable getInstance(org.jruby.RubyObject, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "([a-zA-Z]|(_([a-zA-Z]|_|\\d)))([a-zA-Z]|_|\\d)*"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 2
1: new org.jruby.embed.variable.LocalGlobalVariable
dup
aload 0
aload 1
aload 2
invokespecial org.jruby.embed.variable.LocalGlobalVariable.<init>:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)V
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 receiver Lorg/jruby/RubyObject;
0 3 1 name Ljava/lang/String;
0 3 2 javaObject [Ljava/lang/Object;
MethodParameters:
Name Flags
receiver
name
javaObject
private void <init>(org.jruby.RubyObject, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.jruby.embed.variable.GlobalVariable.<init>:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/embed/variable/LocalGlobalVariable;
0 2 1 receiver Lorg/jruby/RubyObject;
0 2 2 name Ljava/lang/String;
0 2 3 javaObject [Ljava/lang/Object;
MethodParameters:
Name Flags
receiver
name
javaObject
void <init>(org.jruby.RubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/RubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.jruby.embed.variable.GlobalVariable.<init>:(Lorg/jruby/RubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/embed/variable/LocalGlobalVariable;
0 2 1 receiver Lorg/jruby/RubyObject;
0 2 2 name Ljava/lang/String;
0 2 3 irubyObject Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
receiver
name
irubyObject
public static void retrieve(org.jruby.RubyObject, org.jruby.embed.internal.BiVariableMap);
descriptor: (Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.embed.internal.BiVariableMap.isLazy:()Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyObject.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
astore 2
start local 2 2: aload 2
invokevirtual org.jruby.internal.runtime.GlobalVariables.getNames:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: org.jruby.RubyObject org.jruby.embed.internal.BiVariableMap org.jruby.internal.runtime.GlobalVariables top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 4: aload 3
invokestatic org.jruby.embed.variable.LocalGlobalVariable.isPredefined:(Ljava/lang/String;)Z
ifeq 5
goto 8
5: StackMap locals: org.jruby.RubyObject org.jruby.embed.internal.BiVariableMap org.jruby.internal.runtime.GlobalVariables java.lang.String java.util.Iterator
StackMap stack:
aload 2
aload 3
invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 6: aload 3
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
start local 6 7: aload 0
invokestatic org.jruby.embed.variable.LocalGlobalVariable.getTopSelf:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyObject;
aload 1
aload 6
aload 5
invokestatic org.jruby.embed.variable.LocalGlobalVariable.updateLocalGlobal:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
end local 6 end local 5 end local 3 8: StackMap locals: org.jruby.RubyObject org.jruby.embed.internal.BiVariableMap org.jruby.internal.runtime.GlobalVariables top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 receiver Lorg/jruby/RubyObject;
0 10 1 vars Lorg/jruby/embed/internal/BiVariableMap;
2 10 2 globalVars Lorg/jruby/internal/runtime/GlobalVariables;
4 8 3 name Ljava/lang/String;
6 8 5 value Lorg/jruby/runtime/builtin/IRubyObject;
7 8 6 javaName Ljava/lang/String;
MethodParameters:
Name Flags
receiver final
vars final
private static void updateLocalGlobal(org.jruby.RubyObject, org.jruby.embed.internal.BiVariableMap, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
aload 2
aload 3
ldc Lorg/jruby/embed/variable/LocalGlobalVariable;
invokevirtual org.jruby.embed.internal.BiVariableMap.updateVariable:(Lorg/jruby/RubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/Class;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 receiver Lorg/jruby/RubyObject;
0 2 1 vars Lorg/jruby/embed/internal/BiVariableMap;
0 2 2 name Ljava/lang/String;
0 2 3 value Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
receiver final
vars final
name final
value final
public static void retrieveByKey(org.jruby.Ruby, org.jruby.embed.internal.BiVariableMap, java.lang.String);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/embed/internal/BiVariableMap;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
astore 3
start local 3 1: new java.lang.StringBuilder
dup
ldc "$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 4
start local 4 2: aload 3
invokevirtual org.jruby.internal.runtime.GlobalVariables.getNames:()Ljava/util/Set;
aload 4
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 3
return
3: StackMap locals: org.jruby.internal.runtime.GlobalVariables java.lang.String
StackMap stack:
aload 3
aload 4
invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 4: aload 0
invokevirtual org.jruby.Ruby.getTopSelf:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyObject
aload 1
aload 2
aload 5
invokestatic org.jruby.embed.variable.LocalGlobalVariable.updateLocalGlobal:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
5: return
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 vars Lorg/jruby/embed/internal/BiVariableMap;
0 6 2 name Ljava/lang/String;
1 6 3 globalVars Lorg/jruby/internal/runtime/GlobalVariables;
2 6 4 gName Ljava/lang/String;
4 6 5 value Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime final
vars final
name final
public org.jruby.embed.variable.BiVariable$Type getType();
descriptor: ()Lorg/jruby/embed/variable/BiVariable$Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.jruby.embed.variable.BiVariable$Type.LocalGlobalVariable:Lorg/jruby/embed/variable/BiVariable$Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/embed/variable/LocalGlobalVariable;
public static boolean isValidName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "([a-zA-Z]|(_([a-zA-Z]|_|\\d)))([a-zA-Z]|_|\\d)*"
aload 0
invokestatic org.jruby.embed.variable.LocalGlobalVariable.isValidName:(Ljava/lang/String;Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/Object;
MethodParameters:
Name Flags
name
public void inject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.embed.variable.LocalGlobalVariable.getRuntime:()Lorg/jruby/Ruby;
dup
astore 1
monitorenter
1: aload 0
getfield org.jruby.embed.variable.LocalGlobalVariable.name:Ljava/lang/String;
ldc "$"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 2
aload 0
getfield org.jruby.embed.variable.LocalGlobalVariable.name:Ljava/lang/String;
goto 3
StackMap locals: org.jruby.Ruby
StackMap stack:
2: new java.lang.StringBuilder
dup
bipush 36
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.embed.variable.LocalGlobalVariable.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: astore 2
start local 2 4: aload 0
invokevirtual org.jruby.embed.variable.LocalGlobalVariable.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
aload 2
aload 0
getfield org.jruby.embed.variable.LocalGlobalVariable.rubyObject:Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.internal.runtime.GlobalVariables.set:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 2 5: aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/embed/variable/LocalGlobalVariable;
4 5 2 name Ljava/lang/String;
Exception table:
from to target type
1 6 7 any
7 8 7 any
public void remove();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.embed.variable.LocalGlobalVariable.getRuntime:()Lorg/jruby/Ruby;
dup
astore 1
monitorenter
1: aload 0
getfield org.jruby.embed.variable.LocalGlobalVariable.name:Ljava/lang/String;
ldc "$"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 2
aload 0
getfield org.jruby.embed.variable.LocalGlobalVariable.name:Ljava/lang/String;
goto 3
StackMap locals: org.jruby.Ruby
StackMap stack:
2: new java.lang.StringBuilder
dup
bipush 36
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.embed.variable.LocalGlobalVariable.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: astore 2
start local 2 4: aload 0
invokevirtual org.jruby.embed.variable.LocalGlobalVariable.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
aload 2
invokevirtual org.jruby.internal.runtime.GlobalVariables.clear:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 2 5: aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/embed/variable/LocalGlobalVariable;
4 5 2 name Ljava/lang/String;
Exception table:
from to target type
1 6 7 any
7 8 7 any
public void setRubyObject(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial org.jruby.embed.variable.GlobalVariable.setRubyObject:(Lorg/jruby/runtime/builtin/IRubyObject;)V
return
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object getJavaObject();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.jruby.embed.variable.GlobalVariable.getJavaObject:()Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.jruby.runtime.builtin.IRubyObject getRubyObject();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.jruby.embed.variable.GlobalVariable.getRubyObject:()Lorg/jruby/runtime/builtin/IRubyObject;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.jruby.embed.variable.GlobalVariable.getName:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.jruby.runtime.builtin.IRubyObject getReceiver();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.jruby.embed.variable.GlobalVariable.getReceiver:()Lorg/jruby/runtime/builtin/IRubyObject;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "LocalGlobalVariable.java"
InnerClasses:
public final Type = org.jruby.embed.variable.BiVariable$Type of org.jruby.embed.variable.BiVariable