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 0: aload 0
getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
areturn
end local 0 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 start local 1 0: aload 1
ldc "JavaField"
aload 0
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
start local 2 1: aload 0
aload 2
invokestatic org.jruby.javasupport.JavaAccessibleObject.registerRubyMethods:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
2: aload 2
ldc Lorg/jruby/javasupport/JavaField;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
3: aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 1
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: aload 0
aload 2
putfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
2: return
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
instanceof org.jruby.javasupport.JavaField
ifeq 1
aload 0
getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
aload 1
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 end local 0 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 0: aload 0
getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.hashCode:()I
ireturn
end local 0 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 0: aload 0
invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
aload 0
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 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 0: aload 0
invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
aload 0
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 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 0: aload 0
invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
aload 0
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 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 0: aload 0
invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
aload 0
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 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 0: aload 0
invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
aload 0
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 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 0: aload 0
invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
aload 0
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 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 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 0
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: aload 0
aload 2
invokevirtual org.jruby.javasupport.JavaField.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
astore 4
start local 4 3: goto 5
end local 4 4: StackMap locals: org.jruby.Ruby
StackMap stack:
aconst_null
astore 4
start local 4 5: StackMap locals: java.lang.Object
StackMap stack:
aload 3
aload 0
getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
aload 4
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: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
pop
8: aload 3
ldc "illegal access"
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
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: aload 0
aload 1
invokevirtual org.jruby.javasupport.JavaField.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
astore 3
start local 3 2: goto 4
end local 3 3: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.javasupport.JavaField.convertValueToJava:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
astore 4
start local 4 5: aload 0
getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
aload 3
aload 4
invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
6: goto 15
7: 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
start local 5 8: aload 0
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
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 9: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
pop
10: aload 0
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
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: aload 4
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
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: invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
15: StackMap locals:
StackMap stack:
aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
aload 0
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 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 0: aload 0
invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
aload 0
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: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 1
start local 1 3: aload 0
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
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 end local 0 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 start local 1 0: aload 1
instanceof org.jruby.javasupport.JavaObject
ifne 2
1: aload 0
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
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: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.javasupport.JavaField.convertValueToJava:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
astore 2
start local 2 3: aload 0
getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
aconst_null
aload 2
invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
4: goto 15
5: StackMap locals: org.jruby.javasupport.JavaField org.jruby.runtime.builtin.IRubyObject java.lang.Object
StackMap stack: java.lang.IllegalAccessException
astore 3
start local 3 6: aload 0
invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
7: new java.lang.StringBuilder
dup
ldc "illegal access on setting static variable: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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: invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 3 9: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
pop
10: aload 0
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
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: aload 2
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
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: invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
15: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual org.jruby.javasupport.JavaField.getRuntime:()Lorg/jruby/Ruby;
aload 0
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 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 0: aload 0
getfield org.jruby.javasupport.JavaField.field:Ljava/lang/reflect/Field;
areturn
end local 0 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 start local 1 0: aload 1
invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaValue:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aload 0
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
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: StackMap locals: java.lang.Object
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.dataGetStruct:()Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof org.jruby.javasupport.JavaObject
ifeq 2
aload 2
checkcast org.jruby.runtime.builtin.IRubyObject
astore 1
2: StackMap locals: java.lang.Object
StackMap stack:
aload 1
aload 0
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 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 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: 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"})