public class org.jruby.javasupport.binding.ConstantField
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.javasupport.binding.ConstantField
super_class: java.lang.Object
{
final java.lang.reflect.Field field;
descriptor: Ljava/lang/reflect/Field;
flags: (0x0010) ACC_FINAL
public void <init>(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.jruby.javasupport.binding.ConstantField this
start local 1 // java.lang.reflect.Field field
0: .line 16
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
aload 0 /* this */
aload 1 /* field */
putfield org.jruby.javasupport.binding.ConstantField.field:Ljava/lang/reflect/Field;
return
end local 1 // java.lang.reflect.Field field
end local 0 // org.jruby.javasupport.binding.ConstantField this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/binding/ConstantField;
0 1 1 field Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
field
void install(org.jruby.RubyModule);
descriptor: (Lorg/jruby/RubyModule;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 // org.jruby.javasupport.binding.ConstantField this
start local 1 // org.jruby.RubyModule proxy
0: .line 19
aload 0 /* this */
getfield org.jruby.javasupport.binding.ConstantField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
astore 2 /* name */
start local 2 // java.lang.String name
1: .line 20
aload 1 /* proxy */
aload 2 /* name */
invokevirtual org.jruby.RubyModule.getConstantAt:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
ifnonnull 6
2: .line 22
aload 0 /* this */
getfield org.jruby.javasupport.binding.ConstantField.field:Ljava/lang/reflect/Field;
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3 /* value */
start local 3 // java.lang.Object value
3: .line 23
aload 1 /* proxy */
aload 2 /* name */
aload 1 /* proxy */
invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
aload 3 /* value */
invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 3 // java.lang.Object value
4: .line 24
goto 6
5: .line 25
StackMap locals: org.jruby.javasupport.binding.ConstantField org.jruby.RubyModule java.lang.String
StackMap stack: java.lang.IllegalAccessException
pop
6: .line 29
StackMap locals:
StackMap stack:
return
end local 2 // java.lang.String name
end local 1 // org.jruby.RubyModule proxy
end local 0 // org.jruby.javasupport.binding.ConstantField this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/javasupport/binding/ConstantField;
0 7 1 proxy Lorg/jruby/RubyModule;
1 7 2 name Ljava/lang/String;
3 4 3 value Ljava/lang/Object;
Exception table:
from to target type
2 4 5 Class java.lang.IllegalAccessException
MethodParameters:
Name Flags
proxy final
}
SourceFile: "ConstantField.java"