public class org.jruby.javasupport.JavaField extends org.jruby.javasupport.JavaAccessibleObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.javasupport.JavaField
  super_class: org.jruby.javasupport.JavaAccessibleObject
{
  private final java.lang.reflect.Field field;
    descriptor: Ljava/lang/reflect/Field;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public final java.lang.reflect.Field getValue();
    descriptor: ()Ljava/lang/reflect/Field;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 58
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            areturn
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaField;

  public static org.jruby.RubyClass createJavaFieldClass(org.jruby.Ruby, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyModule javaModule
         0: .line 63
            aload 1 /* javaModule */
            ldc "JavaField"
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            getstatic org.jruby.runtime.ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            invokevirtual org.jruby.RubyModule.defineClassUnder:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 2 /* result */
        start local 2 // org.jruby.RubyClass result
         1: .line 65
            aload 0 /* runtime */
            aload 2 /* result */
            invokestatic org.jruby.javasupport.JavaAccessibleObject.registerRubyMethods:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         2: .line 67
            aload 2 /* result */
            ldc Lorg/jruby/javasupport/JavaField;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         3: .line 69
            aload 2 /* result */
            areturn
        end local 2 // org.jruby.RubyClass result
        end local 1 // org.jruby.RubyModule javaModule
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0     runtime  Lorg/jruby/Ruby;
            0    4     1  javaModule  Lorg/jruby/RubyModule;
            1    4     2      result  Lorg/jruby/RubyClass;
    MethodParameters:
            Name  Flags
      runtime     
      javaModule  

  public void <init>(org.jruby.Ruby, java.lang.reflect.Field);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/reflect/Field;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.javasupport.JavaField this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.reflect.Field field
         0: .line 73
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getJavaSupport:()Lorg/jruby/javasupport/JavaSupport;
            invokevirtual org.jruby.javasupport.JavaSupport.getJavaFieldClass:()Lorg/jruby/RubyClass;
            invokespecial org.jruby.javasupport.JavaAccessibleObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 74
            aload 0 /* this */
            aload 2 /* field */
            putfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
         2: .line 75
            return
        end local 2 // java.lang.reflect.Field field
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/javasupport/JavaField;
            0    3     1  runtime  Lorg/jruby/Ruby;
            0    3     2    field  Ljava/lang/reflect/Field;
    MethodParameters:
         Name  Flags
      runtime  
      field    

  public final boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.javasupport.JavaField this
        start local 1 // java.lang.Object other
         0: .line 78
            aload 1 /* other */
            instanceof org.jruby.javasupport.JavaField
            ifeq 1
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            aload 1 /* other */
            checkcast org.jruby.javasupport.JavaField
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/javasupport/JavaField;
            0    2     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public final int hashCode();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 82
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.hashCode:()I
            ireturn
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaField;

  public org.jruby.RubyString value_type();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 87
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaField;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  public org.jruby.RubyBoolean public_p();
    descriptor: ()Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 92
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaField;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"public?"})

  public org.jruby.RubyBoolean static_p();
    descriptor: ()Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 97
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaField;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"static?"})

  public org.jruby.RubyBoolean enum_constant_p();
    descriptor: ()Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 102
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.isEnumConstant:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaField;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"enum_constant?"})

  public org.jruby.RubyString to_generic_string();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 107
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.toGenericString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaField;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  public org.jruby.runtime.builtin.IRubyObject field_type();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 112
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            invokestatic org.jruby.javasupport.JavaClass.get:(Lorg/jruby/Ruby;Ljava/lang/Class;)Lorg/jruby/javasupport/JavaClass;
            areturn
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaField;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"type"})

  public org.jruby.runtime.builtin.IRubyObject value(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.javasupport.JavaField this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject object
         0: .line 117
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 120
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifne 4
         2: .line 121
            aload 0 /* this */
            aload 2 /* object */
            invokevirtual org.jruby.javasupport.JavaField.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            astore 4 /* javaObject */
        start local 4 // java.lang.Object javaObject
         3: .line 122
            goto 5
        end local 4 // java.lang.Object javaObject
         4: .line 124
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aconst_null
            astore 4 /* javaObject */
        start local 4 // java.lang.Object javaObject
         5: .line 128
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* runtime */
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            aload 4 /* javaObject */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaField.convertToRuby:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
         6: areturn
         7: .line 130
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
         8: .line 131
            aload 3 /* runtime */
            ldc "illegal access"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // java.lang.Object javaObject
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject object
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/jruby/javasupport/JavaField;
            0    9     1     context  Lorg/jruby/runtime/ThreadContext;
            0    9     2      object  Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     3     runtime  Lorg/jruby/Ruby;
            3    4     4  javaObject  Ljava/lang/Object;
            5    9     4  javaObject  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.IllegalAccessException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      object   

  public org.jruby.runtime.builtin.IRubyObject set_value(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.javasupport.JavaField this
        start local 1 // org.jruby.runtime.builtin.IRubyObject object
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 138
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifne 3
         1: .line 139
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual org.jruby.javasupport.JavaField.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            astore 3 /* javaObject */
        start local 3 // java.lang.Object javaObject
         2: .line 140
            goto 4
        end local 3 // java.lang.Object javaObject
         3: .line 142
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* javaObject */
        start local 3 // java.lang.Object javaObject
         4: .line 145
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.jruby.javasupport.JavaField.convertValueToJava:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            astore 4 /* javaValue */
        start local 4 // java.lang.Object javaValue
         5: .line 147
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            aload 3 /* javaObject */
            aload 4 /* javaValue */
            invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 148
            goto 15
         7: .line 149
      StackMap locals: org.jruby.javasupport.JavaField org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.Object java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 5 /* iae */
        start local 5 // java.lang.IllegalAccessException iae
         8: .line 150
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "illegal access on setting variable: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* iae */
            invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 5 // java.lang.IllegalAccessException iae
         9: .line 152
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
        10: .line 153
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "wrong type for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()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;
        11: .line 154
            aload 4 /* javaValue */
            ifnonnull 12
            aconst_null
            goto 13
      StackMap locals: org.jruby.javasupport.JavaField org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.Object java.lang.Object
      StackMap stack: org.jruby.Ruby java.lang.StringBuilder
        12: aload 4 /* javaValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
      StackMap locals: org.jruby.javasupport.JavaField org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.Object java.lang.Object
      StackMap stack: org.jruby.Ruby java.lang.StringBuilder java.lang.String
        13: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 153
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 156
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 4 // java.lang.Object javaValue
        end local 3 // java.lang.Object javaObject
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject object
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/jruby/javasupport/JavaField;
            0   16     1      object  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     2       value  Lorg/jruby/runtime/builtin/IRubyObject;
            2    3     3  javaObject  Ljava/lang/Object;
            4   16     3  javaObject  Ljava/lang/Object;
            5   16     4   javaValue  Ljava/lang/Object;
            8    9     5         iae  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.IllegalAccessException
           5     6       9  Class java.lang.IllegalArgumentException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
        Name  Flags
      object  
      value   

  public org.jruby.RubyBoolean final_p();
    descriptor: ()Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 161
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaField;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"final?"})

  public org.jruby.runtime.builtin.IRubyObject static_value();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 167
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaField.convertToRuby:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
         1: areturn
         2: .line 169
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* iae */
        start local 1 // java.lang.IllegalAccessException iae
         3: .line 170
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "illegal static value access: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* iae */
            invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // java.lang.IllegalAccessException iae
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/javasupport/JavaField;
            3    4     1   iae  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  public org.jruby.runtime.builtin.IRubyObject set_static_value(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.jruby.javasupport.JavaField this
        start local 1 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 176
            aload 1 /* value */
            instanceof org.jruby.javasupport.JavaObject
            ifne 2
         1: .line 177
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "not a java object:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.jruby.javasupport.JavaField.convertValueToJava:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            astore 2 /* javaValue */
        start local 2 // java.lang.Object javaValue
         3: .line 181
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            aconst_null
            aload 2 /* javaValue */
            invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 182
            goto 15
         5: .line 183
      StackMap locals: org.jruby.javasupport.JavaField org.jruby.runtime.builtin.IRubyObject java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* iae */
        start local 3 // java.lang.IllegalAccessException iae
         6: .line 184
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
         7: .line 185
            new java.lang.StringBuilder
            dup
            ldc "illegal access on setting static variable: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* iae */
            invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 184
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // java.lang.IllegalAccessException iae
         9: .line 187
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
        10: .line 188
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "wrong type for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()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;
        11: .line 189
            aload 2 /* javaValue */
            ifnonnull 12
            aconst_null
            goto 13
      StackMap locals: org.jruby.javasupport.JavaField org.jruby.runtime.builtin.IRubyObject java.lang.Object
      StackMap stack: org.jruby.Ruby java.lang.StringBuilder
        12: aload 2 /* javaValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
      StackMap locals: org.jruby.javasupport.JavaField org.jruby.runtime.builtin.IRubyObject java.lang.Object
      StackMap stack: org.jruby.Ruby java.lang.StringBuilder java.lang.String
        13: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 188
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 191
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 2 // java.lang.Object javaValue
        end local 1 // org.jruby.runtime.builtin.IRubyObject value
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/jruby/javasupport/JavaField;
            0   16     1      value  Lorg/jruby/runtime/builtin/IRubyObject;
            3   16     2  javaValue  Ljava/lang/Object;
            6    9     3        iae  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.IllegalAccessException
           3     4       9  Class java.lang.IllegalArgumentException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
       Name  Flags
      value  

  public org.jruby.RubyString name();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 196
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaField;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  public java.lang.reflect.AccessibleObject accessibleObject();
    descriptor: ()Ljava/lang/reflect/AccessibleObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaField this
         0: .line 201
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            areturn
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaField;

  private java.lang.Object unwrapJavaObject(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.javasupport.JavaField this
        start local 1 // org.jruby.runtime.builtin.IRubyObject object
         0: .line 205
            aload 1 /* object */
            invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaValue:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            astore 2 /* javaObject */
        start local 2 // java.lang.Object javaObject
         1: .line 206
            aload 2 /* javaObject */
            ifnonnull 3
         2: .line 207
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "not a java object: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* object */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 209
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* javaObject */
            areturn
        end local 2 // java.lang.Object javaObject
        end local 1 // org.jruby.runtime.builtin.IRubyObject object
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/jruby/javasupport/JavaField;
            0    4     1      object  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2  javaObject  Ljava/lang/Object;
    Exceptions:
      throws org.jruby.exceptions.RaiseException
    MethodParameters:
        Name  Flags
      object  final

  private java.lang.Object convertValueToJava(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.javasupport.JavaField this
        start local 1 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 213
            aload 1 /* value */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.dataGetStruct:()Ljava/lang/Object;
            astore 2 /* val */
        start local 2 // java.lang.Object val
         1: .line 214
            aload 2 /* val */
            instanceof org.jruby.javasupport.JavaObject
            ifeq 2
            aload 2 /* val */
            checkcast org.jruby.runtime.builtin.IRubyObject
            astore 1 /* value */
         2: .line 215
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* value */
            aload 0 /* this */
            getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object val
        end local 1 // org.jruby.runtime.builtin.IRubyObject value
        end local 0 // org.jruby.javasupport.JavaField this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/javasupport/JavaField;
            0    3     1  value  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     2    val  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  private static org.jruby.runtime.builtin.IRubyObject convertToRuby(org.jruby.Ruby, java.lang.Object);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.Object javaValue
         0: .line 219
            aload 0 /* runtime */
            aload 1 /* javaValue */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.Object javaValue
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0    runtime  Lorg/jruby/Ruby;
            0    1     1  javaValue  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      runtime    final
      javaValue  final

  public org.jruby.runtime.builtin.IRubyObject name();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.jruby.javasupport.JavaField.name:()Lorg/jruby/RubyString;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JavaField.java"
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"Java::JavaField"})