public class org.jruby.java.invokers.StaticFieldGetter extends org.jruby.java.invokers.FieldMethodZero
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.java.invokers.StaticFieldGetter
  super_class: org.jruby.java.invokers.FieldMethodZero
{
  private boolean warnConstant;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.String, org.jruby.RubyModule, java.lang.reflect.Field, boolean);
    descriptor: (Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/reflect/Field;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.java.invokers.StaticFieldGetter this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.RubyModule host
        start local 3 // java.lang.reflect.Field field
        start local 4 // boolean warnConstant
         0: .line 14
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* host */
            aload 3 /* field */
            invokespecial org.jruby.java.invokers.FieldMethodZero.<init>:(Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/reflect/Field;)V
         1: .line 16
            aload 0 /* this */
            iload 4 /* warnConstant */
            putfield org.jruby.java.invokers.StaticFieldGetter.warnConstant:Z
         2: .line 17
            return
        end local 4 // boolean warnConstant
        end local 3 // java.lang.reflect.Field field
        end local 2 // org.jruby.RubyModule host
        end local 1 // java.lang.String name
        end local 0 // org.jruby.java.invokers.StaticFieldGetter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/jruby/java/invokers/StaticFieldGetter;
            0    3     1          name  Ljava/lang/String;
            0    3     2          host  Lorg/jruby/RubyModule;
            0    3     3         field  Ljava/lang/reflect/Field;
            0    3     4  warnConstant  Z
    MethodParameters:
              Name  Flags
      name          
      host          
      field         
      warnConstant  

  public final org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.jruby.java.invokers.StaticFieldGetter this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule clazz
        start local 4 // java.lang.String name
         0: .line 21
            aload 0 /* this */
            getfield org.jruby.java.invokers.StaticFieldGetter.warnConstant:Z
            ifeq 3
         1: .line 24
            aload 0 /* this */
            iconst_0
            putfield org.jruby.java.invokers.StaticFieldGetter.warnConstant:Z
         2: .line 25
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            new java.lang.StringBuilder
            dup
            ldc "DEPRECATED: Accessing Java interface constant via accessor method. This behavior will go away in JRuby 9.3, please use constant-style A::B syntax for accessing '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jruby.java.invokers.StaticFieldGetter.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warning:(Ljava/lang/String;)V
         3: .line 29
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.java.invokers.StaticFieldGetter.field:Ljava/lang/reflect/Field;
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
         4: areturn
         5: .line 31
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 5 /* ex */
        start local 5 // java.lang.IllegalAccessException ex
         6: aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 5 /* ex */
            invokevirtual org.jruby.java.invokers.StaticFieldGetter.handleGetException:(Lorg/jruby/Ruby;Ljava/lang/IllegalAccessException;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // java.lang.IllegalAccessException ex
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule clazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.java.invokers.StaticFieldGetter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/java/invokers/StaticFieldGetter;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     3    clazz  Lorg/jruby/RubyModule;
            0    7     4     name  Ljava/lang/String;
            6    7     5       ex  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.IllegalAccessException
    MethodParameters:
         Name  Flags
      context  
      self     
      clazz    
      name     
}
SourceFile: "StaticFieldGetter.java"