public class org.jruby.javasupport.binding.StaticFieldGetterInstaller extends org.jruby.javasupport.binding.FieldInstaller
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.javasupport.binding.StaticFieldGetterInstaller
super_class: org.jruby.javasupport.binding.FieldInstaller
{
final boolean warnConstant;
descriptor: Z
flags: (0x0010) ACC_FINAL
public void <init>(java.lang.String, java.lang.reflect.Field, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/reflect/Field;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 // org.jruby.javasupport.binding.StaticFieldGetterInstaller this
start local 1 // java.lang.String name
start local 2 // java.lang.reflect.Field field
start local 3 // boolean warnConstant
0: .line 15
aload 0 /* this */
aload 1 /* name */
iconst_1
aload 2 /* field */
invokespecial org.jruby.javasupport.binding.FieldInstaller.<init>:(Ljava/lang/String;ILjava/lang/reflect/Field;)V
1: .line 17
aload 0 /* this */
iload 3 /* warnConstant */
putfield org.jruby.javasupport.binding.StaticFieldGetterInstaller.warnConstant:Z
2: .line 18
return
end local 3 // boolean warnConstant
end local 2 // java.lang.reflect.Field field
end local 1 // java.lang.String name
end local 0 // org.jruby.javasupport.binding.StaticFieldGetterInstaller this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/javasupport/binding/StaticFieldGetterInstaller;
0 3 1 name Ljava/lang/String;
0 3 2 field Ljava/lang/reflect/Field;
0 3 3 warnConstant Z
MethodParameters:
Name Flags
name
field
warnConstant
void install(org.jruby.RubyModule);
descriptor: (Lorg/jruby/RubyModule;)V
flags: (0x0000)
Code:
stack=8, locals=2, args_size=2
start local 0 // org.jruby.javasupport.binding.StaticFieldGetterInstaller this
start local 1 // org.jruby.RubyModule proxy
0: .line 21
aload 0 /* this */
invokevirtual org.jruby.javasupport.binding.StaticFieldGetterInstaller.isAccessible:()Z
ifeq 2
1: .line 22
aload 1 /* proxy */
invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
aload 0 /* this */
getfield org.jruby.javasupport.binding.StaticFieldGetterInstaller.name:Ljava/lang/String;
new org.jruby.java.invokers.StaticFieldGetter
dup
aload 0 /* this */
getfield org.jruby.javasupport.binding.StaticFieldGetterInstaller.name:Ljava/lang/String;
aload 1 /* proxy */
aload 0 /* this */
getfield org.jruby.javasupport.binding.StaticFieldGetterInstaller.field:Ljava/lang/reflect/Field;
aload 0 /* this */
getfield org.jruby.javasupport.binding.StaticFieldGetterInstaller.warnConstant:Z
invokespecial org.jruby.java.invokers.StaticFieldGetter.<init>:(Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/reflect/Field;Z)V
invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
2: .line 24
StackMap locals:
StackMap stack:
return
end local 1 // org.jruby.RubyModule proxy
end local 0 // org.jruby.javasupport.binding.StaticFieldGetterInstaller this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/javasupport/binding/StaticFieldGetterInstaller;
0 3 1 proxy Lorg/jruby/RubyModule;
MethodParameters:
Name Flags
proxy final
}
SourceFile: "StaticFieldGetterInstaller.java"