public class org.jruby.embed.variable.VariableInterceptor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.embed.variable.VariableInterceptor
super_class: java.lang.Object
{
private static volatile int[] $SWITCH_TABLE$org$jruby$embed$LocalVariableBehavior;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
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/jruby/embed/variable/VariableInterceptor;
public static org.jruby.embed.variable.BiVariable getVariableInstance(org.jruby.embed.LocalVariableBehavior, org.jruby.RubyObject, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/jruby/embed/LocalVariableBehavior;Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnull 1
aload 3
arraylength
iconst_1
if_icmpge 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
ldc "ARGV"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.Argv.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
areturn
4: StackMap locals:
StackMap stack:
invokestatic org.jruby.embed.variable.VariableInterceptor.$SWITCH_TABLE$org$jruby$embed$LocalVariableBehavior:()[I
aload 0
invokevirtual org.jruby.embed.LocalVariableBehavior.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 5
2: 11
3: 19
4: 6
default: 19
}
5: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.LocalGlobalVariable.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
areturn
6: StackMap locals:
StackMap stack:
iconst_2
anewarray org.jruby.embed.variable.BiVariable
dup
iconst_0
7: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.PersistentLocalVariable.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
dup
iconst_1
8: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.GlobalVariable.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
9: astore 4
start local 4 10: aload 4
invokestatic org.jruby.embed.variable.VariableInterceptor.resolve:([Lorg/jruby/embed/variable/BiVariable;)Lorg/jruby/embed/variable/BiVariable;
areturn
end local 4 11: StackMap locals:
StackMap stack:
iconst_5
anewarray org.jruby.embed.variable.BiVariable
dup
iconst_0
12: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.GlobalVariable.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
dup
iconst_1
13: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.InstanceVariable.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
dup
iconst_2
14: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.ClassVariable.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
dup
iconst_3
15: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.Constant.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
dup
iconst_4
16: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.PersistentLocalVariable.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
17: astore 5
start local 5 18: aload 5
invokestatic org.jruby.embed.variable.VariableInterceptor.resolve:([Lorg/jruby/embed/variable/BiVariable;)Lorg/jruby/embed/variable/BiVariable;
areturn
end local 5 19: StackMap locals:
StackMap stack:
iconst_5
anewarray org.jruby.embed.variable.BiVariable
dup
iconst_0
20: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.GlobalVariable.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
dup
iconst_1
21: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.InstanceVariable.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
dup
iconst_2
22: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.ClassVariable.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
dup
iconst_3
23: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.Constant.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
dup
iconst_4
24: aload 1
aload 2
aload 3
invokestatic org.jruby.embed.variable.TransientLocalVariable.getInstance:(Lorg/jruby/RubyObject;Ljava/lang/String;[Ljava/lang/Object;)Lorg/jruby/embed/variable/BiVariable;
aastore
25: astore 6
start local 6 26: aload 6
invokestatic org.jruby.embed.variable.VariableInterceptor.resolve:([Lorg/jruby/embed/variable/BiVariable;)Lorg/jruby/embed/variable/BiVariable;
areturn
end local 6 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 behavior Lorg/jruby/embed/LocalVariableBehavior;
0 27 1 receiver Lorg/jruby/RubyObject;
0 27 2 name Ljava/lang/String;
0 27 3 value [Ljava/lang/Object;
10 11 4 bEntries [Lorg/jruby/embed/variable/BiVariable;
18 19 5 pEntries [Lorg/jruby/embed/variable/BiVariable;
26 27 6 tEntries [Lorg/jruby/embed/variable/BiVariable;
MethodParameters:
Name Flags
behavior
receiver
name
value
private static org.jruby.embed.variable.BiVariable resolve(org.jruby.embed.variable.BiVariable[]);
descriptor: ([Lorg/jruby/embed/variable/BiVariable;)Lorg/jruby/embed/variable/BiVariable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: org.jruby.embed.variable.BiVariable[] top int int org.jruby.embed.variable.BiVariable[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 entries [Lorg/jruby/embed/variable/BiVariable;
2 4 1 e Lorg/jruby/embed/variable/BiVariable;
MethodParameters:
Name Flags
entries
public static void inject(org.jruby.embed.internal.BiVariableMap, org.jruby.Ruby, org.jruby.runtime.scope.ManyVarsDynamicScope, int, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/embed/internal/BiVariableMap;Lorg/jruby/Ruby;Lorg/jruby/runtime/scope/ManyVarsDynamicScope;ILorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnull 8
aload 2
invokevirtual org.jruby.runtime.scope.ManyVarsDynamicScope.getValues:()[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
ifle 8
1: aload 0
invokevirtual org.jruby.embed.internal.BiVariableMap.getLocalVarValues:()[Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 2: aload 5
ifnull 8
aload 5
arraylength
ifle 8
3: iconst_0
istore 6
start local 6 4: goto 7
5: StackMap locals: org.jruby.runtime.builtin.IRubyObject[] int
StackMap stack:
aload 2
iload 6
aload 5
iload 6
aaload
iload 3
invokevirtual org.jruby.runtime.scope.ManyVarsDynamicScope.setValue:(ILorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
pop
6: iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
aload 5
arraylength
if_icmplt 5
end local 6 end local 5 8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.embed.internal.BiVariableMap.getVariables:()Ljava/util/List;
astore 5
start local 5 9: aload 5
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: org.jruby.embed.internal.BiVariableMap org.jruby.Ruby org.jruby.runtime.scope.ManyVarsDynamicScope int org.jruby.runtime.builtin.IRubyObject java.util.Collection top java.util.Iterator
StackMap stack:
10: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.embed.variable.BiVariable
astore 6
start local 6 11: aload 6
invokeinterface org.jruby.embed.variable.BiVariable.inject:()V
end local 6 StackMap locals:
StackMap stack:
12: aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: 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 14 0 map Lorg/jruby/embed/internal/BiVariableMap;
0 14 1 runtime Lorg/jruby/Ruby;
0 14 2 scope Lorg/jruby/runtime/scope/ManyVarsDynamicScope;
0 14 3 depth I
0 14 4 receiver Lorg/jruby/runtime/builtin/IRubyObject;
2 8 5 values4Injection [Lorg/jruby/runtime/builtin/IRubyObject;
4 8 6 i I
9 14 5 variables Ljava/util/Collection<Lorg/jruby/embed/variable/BiVariable;>;
11 12 6 var Lorg/jruby/embed/variable/BiVariable;
MethodParameters:
Name Flags
map
runtime
scope
depth
receiver
public static void retrieve(org.jruby.embed.LocalVariableBehavior, org.jruby.embed.internal.BiVariableMap, org.jruby.RubyObject);
descriptor: (Lorg/jruby/embed/LocalVariableBehavior;Lorg/jruby/embed/internal/BiVariableMap;Lorg/jruby/RubyObject;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokestatic org.jruby.embed.variable.Argv.retrieve:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;)V
1: invokestatic org.jruby.embed.variable.VariableInterceptor.$SWITCH_TABLE$org$jruby$embed$LocalVariableBehavior:()[I
aload 0
invokevirtual org.jruby.embed.LocalVariableBehavior.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 2
2: 6
3: 7
4: 4
default: 7
}
2: StackMap locals:
StackMap stack:
aload 2
aload 1
invokestatic org.jruby.embed.variable.LocalGlobalVariable.retrieve:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;)V
3: goto 11
4: StackMap locals:
StackMap stack:
aload 2
aload 1
invokestatic org.jruby.embed.variable.PersistentLocalVariable.retrieve:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;)V
5: goto 11
6: StackMap locals:
StackMap stack:
aload 2
aload 1
invokestatic org.jruby.embed.variable.PersistentLocalVariable.retrieve:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;)V
7: StackMap locals:
StackMap stack:
aload 2
aload 1
invokestatic org.jruby.embed.variable.InstanceVariable.retrieve:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;)V
8: aload 2
aload 1
invokestatic org.jruby.embed.variable.GlobalVariable.retrieve:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/embed/internal/BiVariableMap;)V
9: aload 2
aload 1
invokestatic org.jruby.embed.variable.ClassVariable.retrieve:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;)V
10: aload 2
aload 1
invokestatic org.jruby.embed.variable.Constant.retrieve:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;)V
11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 behavior Lorg/jruby/embed/LocalVariableBehavior;
0 12 1 map Lorg/jruby/embed/internal/BiVariableMap;
0 12 2 receiver Lorg/jruby/RubyObject;
MethodParameters:
Name Flags
behavior
map
receiver
public static void tryLazyRetrieval(org.jruby.embed.LocalVariableBehavior, org.jruby.embed.internal.BiVariableMap, org.jruby.runtime.builtin.IRubyObject, java.lang.Object);
descriptor: (Lorg/jruby/embed/LocalVariableBehavior;Lorg/jruby/embed/internal/BiVariableMap;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic org.jruby.embed.variable.Argv.isValidName:(Ljava/lang/Object;)Z
ifeq 3
1: aload 2
checkcast org.jruby.RubyObject
aload 1
aload 3
checkcast java.lang.String
invokestatic org.jruby.embed.variable.Argv.retrieveByKey:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
invokestatic org.jruby.embed.variable.VariableInterceptor.$SWITCH_TABLE$org$jruby$embed$LocalVariableBehavior:()[I
aload 0
invokevirtual org.jruby.embed.LocalVariableBehavior.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 4
2: 8
3: 8
4: 7
default: 8
}
4: StackMap locals:
StackMap stack:
aload 3
invokestatic org.jruby.embed.variable.LocalGlobalVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 19
5: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
aload 1
aload 3
checkcast java.lang.String
invokestatic org.jruby.embed.variable.LocalGlobalVariable.retrieveByKey:(Lorg/jruby/Ruby;Lorg/jruby/embed/internal/BiVariableMap;Ljava/lang/String;)V
6: goto 19
7: StackMap locals:
StackMap stack:
goto 19
8: StackMap locals:
StackMap stack:
aload 3
invokestatic org.jruby.embed.variable.GlobalVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 11
9: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
aload 1
aload 3
checkcast java.lang.String
invokestatic org.jruby.embed.variable.GlobalVariable.retrieveByKey:(Lorg/jruby/Ruby;Lorg/jruby/embed/internal/BiVariableMap;Ljava/lang/String;)V
10: goto 19
StackMap locals:
StackMap stack:
11: aload 3
invokestatic org.jruby.embed.variable.InstanceVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 14
12: aload 2
checkcast org.jruby.RubyObject
aload 1
aload 3
checkcast java.lang.String
invokestatic org.jruby.embed.variable.InstanceVariable.retrieveByKey:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;Ljava/lang/String;)V
13: goto 19
StackMap locals:
StackMap stack:
14: aload 3
invokestatic org.jruby.embed.variable.ClassVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 17
15: aload 2
checkcast org.jruby.RubyObject
aload 1
aload 3
checkcast java.lang.String
invokestatic org.jruby.embed.variable.ClassVariable.retrieveByKey:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;Ljava/lang/String;)V
16: goto 19
StackMap locals:
StackMap stack:
17: aload 3
invokestatic org.jruby.embed.variable.Constant.isValidName:(Ljava/lang/Object;)Z
ifeq 19
18: aload 2
checkcast org.jruby.RubyObject
aload 1
aload 3
checkcast java.lang.String
invokestatic org.jruby.embed.variable.Constant.retrieveByKey:(Lorg/jruby/RubyObject;Lorg/jruby/embed/internal/BiVariableMap;Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 behavior Lorg/jruby/embed/LocalVariableBehavior;
0 20 1 map Lorg/jruby/embed/internal/BiVariableMap;
0 20 2 receiver Lorg/jruby/runtime/builtin/IRubyObject;
0 20 3 key Ljava/lang/Object;
MethodParameters:
Name Flags
behavior
map
receiver
key
public static void terminateGlobalVariables(org.jruby.embed.LocalVariableBehavior, java.util.Collection<org.jruby.embed.variable.BiVariable>, org.jruby.Ruby);
descriptor: (Lorg/jruby/embed/LocalVariableBehavior;Ljava/util/Collection;Lorg/jruby/Ruby;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
getstatic org.jruby.embed.LocalVariableBehavior.GLOBAL:Lorg/jruby/embed/LocalVariableBehavior;
aload 0
if_acmpne 11
2: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: org.jruby.embed.LocalVariableBehavior java.util.Collection org.jruby.Ruby top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.embed.variable.BiVariable
astore 3
start local 3 4: getstatic org.jruby.embed.variable.BiVariable$Type.LocalGlobalVariable:Lorg/jruby/embed/variable/BiVariable$Type;
aload 3
invokeinterface org.jruby.embed.variable.BiVariable.getType:()Lorg/jruby/embed/variable/BiVariable$Type;
if_acmpne 10
5: aload 3
invokeinterface org.jruby.embed.variable.BiVariable.getName:()Ljava/lang/String;
astore 5
start local 5 6: aload 5
ldc "$"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 7
aload 5
goto 8
StackMap locals: org.jruby.embed.LocalVariableBehavior java.util.Collection org.jruby.Ruby org.jruby.embed.variable.BiVariable java.util.Iterator java.lang.String
StackMap stack:
7: new java.lang.StringBuilder
dup
ldc "$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
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
8: astore 5
9: aload 2
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
aload 5
aload 2
invokevirtual org.jruby.Ruby.getNil:()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 5 end local 3 10: StackMap locals: org.jruby.embed.LocalVariableBehavior java.util.Collection org.jruby.Ruby top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: StackMap locals: org.jruby.embed.LocalVariableBehavior java.util.Collection org.jruby.Ruby
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 behavior Lorg/jruby/embed/LocalVariableBehavior;
0 12 1 variables Ljava/util/Collection<Lorg/jruby/embed/variable/BiVariable;>;
0 12 2 runtime Lorg/jruby/Ruby;
4 10 3 var Lorg/jruby/embed/variable/BiVariable;
6 10 5 name Ljava/lang/String;
Signature: (Lorg/jruby/embed/LocalVariableBehavior;Ljava/util/Collection<Lorg/jruby/embed/variable/BiVariable;>;Lorg/jruby/Ruby;)V
MethodParameters:
Name Flags
behavior
variables
runtime
public static void terminateLocalVariables(org.jruby.embed.LocalVariableBehavior, java.util.List<java.lang.String>, java.util.List<org.jruby.embed.variable.BiVariable>);
descriptor: (Lorg/jruby/embed/LocalVariableBehavior;Ljava/util/List;Ljava/util/List;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
getstatic org.jruby.embed.LocalVariableBehavior.TRANSIENT:Lorg/jruby/embed/LocalVariableBehavior;
aload 0
if_acmpne 9
2: iconst_0
istore 3
start local 3 3: goto 8
4: StackMap locals: int
StackMap stack:
getstatic org.jruby.embed.variable.BiVariable$Type.LocalVariable:Lorg/jruby/embed/variable/BiVariable$Type;
aload 2
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.jruby.embed.variable.BiVariable
invokeinterface org.jruby.embed.variable.BiVariable.getType:()Lorg/jruby/embed/variable/BiVariable$Type;
if_acmpne 7
5: aload 1
iload 3
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
6: aload 2
iload 3
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 2
invokeinterface java.util.List.size:()I
if_icmplt 4
end local 3 9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 behavior Lorg/jruby/embed/LocalVariableBehavior;
0 10 1 varNames Ljava/util/List<Ljava/lang/String;>;
0 10 2 variables Ljava/util/List<Lorg/jruby/embed/variable/BiVariable;>;
3 9 3 i I
Signature: (Lorg/jruby/embed/LocalVariableBehavior;Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Lorg/jruby/embed/variable/BiVariable;>;)V
MethodParameters:
Name Flags
behavior
varNames
variables
public static boolean isKindOfRubyVariable(org.jruby.embed.LocalVariableBehavior, java.lang.String);
descriptor: (Lorg/jruby/embed/LocalVariableBehavior;Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc "ARGV"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
invokestatic org.jruby.embed.variable.VariableInterceptor.$SWITCH_TABLE$org$jruby$embed$LocalVariableBehavior:()[I
aload 0
invokevirtual org.jruby.embed.LocalVariableBehavior.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 2
2: 6
3: 12
4: 3
default: 12
}
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.LocalGlobalVariable.isValidName:(Ljava/lang/Object;)Z
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.PersistentLocalVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 4
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.GlobalVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 5
iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.GlobalVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 7
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.PersistentLocalVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 8
iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.InstanceVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 9
iconst_1
ireturn
9: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.Constant.isValidName:(Ljava/lang/Object;)Z
ifeq 10
iconst_1
ireturn
10: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.ClassVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 11
iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.GlobalVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 13
iconst_1
ireturn
13: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.TransientLocalVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 14
iconst_1
ireturn
14: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.InstanceVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 15
iconst_1
ireturn
15: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.Constant.isValidName:(Ljava/lang/Object;)Z
ifeq 16
iconst_1
ireturn
16: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.embed.variable.ClassVariable.isValidName:(Ljava/lang/Object;)Z
ifeq 17
iconst_1
ireturn
17: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 behavior Lorg/jruby/embed/LocalVariableBehavior;
0 18 1 name Ljava/lang/String;
MethodParameters:
Name Flags
behavior
name
static int[] $SWITCH_TABLE$org$jruby$embed$LocalVariableBehavior();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.embed.variable.VariableInterceptor.$SWITCH_TABLE$org$jruby$embed$LocalVariableBehavior:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.jruby.embed.LocalVariableBehavior.values:()[Lorg/jruby/embed/LocalVariableBehavior;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.jruby.embed.LocalVariableBehavior.BSF:Lorg/jruby/embed/LocalVariableBehavior;
invokevirtual org.jruby.embed.LocalVariableBehavior.ordinal:()I
iconst_4
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.jruby.embed.LocalVariableBehavior.GLOBAL:Lorg/jruby/embed/LocalVariableBehavior;
invokevirtual org.jruby.embed.LocalVariableBehavior.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.jruby.embed.LocalVariableBehavior.PERSISTENT:Lorg/jruby/embed/LocalVariableBehavior;
invokevirtual org.jruby.embed.LocalVariableBehavior.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.jruby.embed.LocalVariableBehavior.TRANSIENT:Lorg/jruby/embed/LocalVariableBehavior;
invokevirtual org.jruby.embed.LocalVariableBehavior.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic org.jruby.embed.variable.VariableInterceptor.$SWITCH_TABLE$org$jruby$embed$LocalVariableBehavior:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
}
SourceFile: "VariableInterceptor.java"
InnerClasses:
public final Type = org.jruby.embed.variable.BiVariable$Type of org.jruby.embed.variable.BiVariable