public class org.jruby.java.proxies.JavaProxy extends org.jruby.RubyObject
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.java.proxies.JavaProxy
super_class: org.jruby.RubyObject
{
private transient org.jruby.javasupport.JavaObject javaObject;
descriptor: Lorg/jruby/javasupport/JavaObject;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
java.lang.Object object;
descriptor: Ljava/lang/Object;
flags: (0x0000)
private static final org.jruby.runtime.ObjectAllocator ALLOCATOR;
descriptor: Lorg/jruby/runtime/ObjectAllocator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.RubyHash$VisitorWithState<java.util.Map> MapPopulatorVisitor;
descriptor: Lorg/jruby/RubyHash$VisitorWithState;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lorg/jruby/RubyHash$VisitorWithState<Ljava/util/Map;>;
private static final java.lang.String NONPERSISTENT_IVAR_MESSAGE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "instance vars on non-persistent Java type {0} (http://wiki.jruby.org/Persistence)"
private static final java.lang.String NONPERSISTENT_SINGLETON_MESSAGE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "singleton on non-persistent Java type {0} (http://wiki.jruby.org/Persistence)"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.jruby.java.proxies.JavaProxy$1
dup
invokespecial org.jruby.java.proxies.JavaProxy$1.<init>:()V
putstatic org.jruby.java.proxies.JavaProxy.ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
1: new org.jruby.java.proxies.JavaProxy$2
dup
invokespecial org.jruby.java.proxies.JavaProxy$2.<init>:()V
putstatic org.jruby.java.proxies.JavaProxy.MapPopulatorVisitor:Lorg/jruby/RubyHash$VisitorWithState;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.jruby.Ruby, org.jruby.RubyClass);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)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 2
invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/java/proxies/JavaProxy;
0 2 1 runtime Lorg/jruby/Ruby;
0 2 2 klazz Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
runtime
klazz
public void <init>(org.jruby.Ruby, org.jruby.RubyClass, java.lang.Object);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
aload 3
putfield org.jruby.java.proxies.JavaProxy.object:Ljava/lang/Object;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/java/proxies/JavaProxy;
0 3 1 runtime Lorg/jruby/Ruby;
0 3 2 klazz Lorg/jruby/RubyClass;
0 3 3 object Ljava/lang/Object;
MethodParameters:
Name Flags
runtime
klazz
object
public static org.jruby.RubyClass createJavaProxy(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 1
start local 1 1: aload 1
ldc "JavaProxy"
aload 1
invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
getstatic org.jruby.java.proxies.JavaProxy.ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
astore 2
start local 2 2: aload 2
invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
aload 0
ldc "java_class"
invokevirtual org.jruby.RubyClass.addReadWriteAttribute:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
3: aload 2
ldc Lorg/jruby/java/proxies/JavaProxy;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
4: aload 2
aload 1
ldc "JavaProxyMethods"
invokevirtual org.jruby.Ruby.getModule:(Ljava/lang/String;)Lorg/jruby/RubyModule;
invokevirtual org.jruby.RubyClass.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Lorg/jruby/runtime/ThreadContext;
1 6 1 runtime Lorg/jruby/Ruby;
2 6 2 JavaProxy Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
context
public final java.lang.Object dataGetStruct();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.java.proxies.JavaProxy.javaObject:Lorg/jruby/javasupport/JavaObject;
ifnonnull 2
1: aload 0
aload 0
aload 0
getfield org.jruby.java.proxies.JavaProxy.object:Ljava/lang/Object;
invokevirtual org.jruby.java.proxies.JavaProxy.asJavaObject:(Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
putfield org.jruby.java.proxies.JavaProxy.javaObject:Lorg/jruby/javasupport/JavaObject;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.java.proxies.JavaProxy.javaObject:Lorg/jruby/javasupport/JavaObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/java/proxies/JavaProxy;
public final void dataWrapStruct(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
checkcast org.jruby.javasupport.JavaObject
putfield org.jruby.java.proxies.JavaProxy.javaObject:Lorg/jruby/javasupport/JavaObject;
1: aload 0
aload 0
getfield org.jruby.java.proxies.JavaProxy.javaObject:Lorg/jruby/javasupport/JavaObject;
invokevirtual org.jruby.javasupport.JavaObject.getValue:()Ljava/lang/Object;
putfield org.jruby.java.proxies.JavaProxy.object:Ljava/lang/Object;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/java/proxies/JavaProxy;
0 3 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public final java.lang.Object getObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.java.proxies.JavaProxy.object:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/java/proxies/JavaProxy;
public void setObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.jruby.java.proxies.JavaProxy.object:Ljava/lang/Object;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/java/proxies/JavaProxy;
0 2 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public java.lang.Object unwrap();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/java/proxies/JavaProxy;
protected org.jruby.javasupport.JavaObject asJavaObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getRuntime:()Lorg/jruby/Ruby;
aload 1
invokestatic org.jruby.javasupport.JavaObject.wrap:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/java/proxies/JavaProxy;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object final
public java.lang.Class<?> getJavaClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/java/proxies/JavaProxy;
Signature: ()Ljava/lang/Class<*>;
static org.jruby.javasupport.JavaClass java_class(org.jruby.runtime.ThreadContext, org.jruby.RubyModule);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)Lorg/jruby/javasupport/JavaClass;
flags: (0x0008) 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.JavaClass.java_class:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.javasupport.JavaClass
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 module Lorg/jruby/RubyModule;
MethodParameters:
Name Flags
context final
module final
public static org.jruby.runtime.builtin.IRubyObject inherited(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
checkcast org.jruby.RubyClass
invokestatic org.jruby.javasupport.JavaClass.java_class:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 1: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 4
2: aload 0
aload 1
checkcast org.jruby.RubyClass
invokestatic org.jruby.javasupport.JavaClass.java_class:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
3: aload 0
aload 2
ldc "java_class="
aload 3
invokestatic org.jruby.runtime.Helpers.invoke:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
4: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
aload 2
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
invokestatic org.jruby.runtime.Helpers.invokeSuper:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 context Lorg/jruby/runtime/ThreadContext;
0 5 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 5 2 subclass Lorg/jruby/runtime/builtin/IRubyObject;
1 5 3 subJavaClass Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true, frame = true)
MethodParameters:
Name Flags
context
recv
subclass
public static org.jruby.RubyClass singleton_class(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast org.jruby.RubyClass
invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 self Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
self final
public static org.jruby.runtime.builtin.IRubyObject op_aref(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast org.jruby.RubyModule
invokestatic org.jruby.java.proxies.JavaProxy.java_class:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)Lorg/jruby/javasupport/JavaClass;
astore 3
start local 3 1: aload 2
arraylength
ifle 3
2: new org.jruby.java.proxies.ArrayJavaProxyCreator
dup
aload 0
aload 3
aload 2
invokespecial org.jruby.java.proxies.ArrayJavaProxyCreator.<init>:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/javasupport/JavaClass;[Lorg/jruby/runtime/builtin/IRubyObject;)V
areturn
3: StackMap locals: org.jruby.javasupport.JavaClass
StackMap stack:
aload 3
aload 0
aload 3
ldc "array_class"
invokestatic org.jruby.runtime.Helpers.invoke:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.javasupport.Java.get_proxy_class:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lorg/jruby/runtime/ThreadContext;
0 4 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 4 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 4 3 javaClass Lorg/jruby/javasupport/JavaClass;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"[]"}, meta = true, rest = true)
MethodParameters:
Name Flags
context
self
args
public static org.jruby.runtime.builtin.IRubyObject new_array(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast org.jruby.RubyModule
invokestatic org.jruby.java.proxies.JavaProxy.java_class:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)Lorg/jruby/javasupport/JavaClass;
astore 3
start local 3 1: aload 3
invokevirtual org.jruby.javasupport.JavaClass.javaClass:()Ljava/lang/Class;
astore 4
start local 4 2: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getLongValue:()J
l2i
istore 5
start local 5 3: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
iconst_1
newarray 10
dup
iconst_0
iload 5
iastore
invokestatic org.jruby.java.proxies.ArrayJavaProxy.newArray:(Lorg/jruby/Ruby;Ljava/lang/Class;[I)Lorg/jruby/java/proxies/ArrayJavaProxy;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lorg/jruby/runtime/ThreadContext;
0 4 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 4 2 len Lorg/jruby/runtime/builtin/IRubyObject;
1 4 3 javaClass Lorg/jruby/javasupport/JavaClass;
2 4 4 componentType Ljava/lang/Class<*>;
3 4 5 length I
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
context
self
len
public static org.jruby.runtime.builtin.IRubyObject persistent(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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
checkcast org.jruby.RubyClass
invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
invokevirtual org.jruby.RubyClass.setCacheProxy:(Z)V
1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 clazz Lorg/jruby/runtime/builtin/IRubyObject;
0 2 1 value Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"__persistent__="}, meta = true)
MethodParameters:
Name Flags
clazz final
value final
public static org.jruby.runtime.builtin.IRubyObject persistent(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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
checkcast org.jruby.RubyClass
invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getCacheProxy:()Z
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 clazz Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"__persistent__"}, meta = true)
MethodParameters:
Name Flags
context final
clazz final
public org.jruby.runtime.builtin.IRubyObject initialize_copy(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.jruby.RubyObject.initialize_copy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
1: aload 0
aload 1
checkcast org.jruby.java.proxies.JavaProxy
invokevirtual org.jruby.java.proxies.JavaProxy.cloneObject:()Ljava/lang/Object;
invokevirtual org.jruby.java.proxies.JavaProxy.setObject:(Ljava/lang/Object;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/java/proxies/JavaProxy;
0 3 1 original Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
original
protected java.lang.Object cloneObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
astore 1
start local 1 1: aload 1
instanceof java.lang.Cloneable
ifeq 6
2: aload 1
invokestatic org.jruby.javasupport.JavaUtil.clone:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 3: aload 2
ifnonnull 4
aload 1
goto 5
StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
4: aload 2
StackMap locals:
StackMap stack: java.lang.Object
5: areturn
end local 2 6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/java/proxies/JavaProxy;
1 7 1 object Ljava/lang/Object;
3 6 2 clone Ljava/lang/Object;
private static java.util.Map<java.lang.String, java.lang.String> getFieldListFromArgs(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
aload 1
arraylength
fconst_1
invokespecial java.util.HashMap.<init>:(IF)V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 10
3: StackMap locals: java.util.HashMap int
StackMap stack:
aload 1
iload 3
aaload
astore 4
start local 4 4: aload 4
instanceof org.jruby.RubyHash
ifeq 7
5: aload 4
checkcast org.jruby.RubyHash
aload 0
getstatic org.jruby.java.proxies.JavaProxy.MapPopulatorVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
6: goto 9
7: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
astore 5
start local 5 8: aload 2
aload 5
aload 5
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 11: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 context Lorg/jruby/runtime/ThreadContext;
0 12 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 12 2 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
2 11 3 i I
4 9 4 arg Lorg/jruby/runtime/builtin/IRubyObject;
8 9 5 value Ljava/lang/String;
Signature: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
context
args
private static void installField(org.jruby.runtime.ThreadContext, java.util.Map<java.lang.String, java.lang.String>, java.lang.reflect.Field, org.jruby.RubyModule, boolean, );
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/util/Map;Ljava/lang/reflect/Field;Lorg/jruby/RubyModule;ZZ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
astore 6
start local 6 1: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
start local 7 2: goto 7
3: StackMap locals: java.lang.String java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 8
start local 8 4: aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 0
aload 8
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
aload 2
aload 3
iload 4
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.jruby.java.proxies.JavaProxy.installField:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/reflect/Field;Lorg/jruby/RubyModule;ZLjava/lang/Boolean;)V
6: aload 7
invokeinterface java.util.Iterator.remove:()V
goto 8
end local 8 7: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 context Lorg/jruby/runtime/ThreadContext;
0 9 1 fieldMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 9 2 field Ljava/lang/reflect/Field;
0 9 3 module Lorg/jruby/RubyModule;
0 9 4 asReader Z
0 9 5 asWriter Z
1 9 6 fieldName Ljava/lang/String;
2 9 7 iter Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;
4 7 8 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
Signature: (Lorg/jruby/runtime/ThreadContext;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/reflect/Field;Lorg/jruby/RubyModule;ZZ)V
MethodParameters:
Name Flags
context final
fieldMap final
field final
module final
asReader
asWriter
private static void installField(org.jruby.runtime.ThreadContext, java.lang.String, java.lang.reflect.Field, org.jruby.RubyModule, boolean, java.lang.Boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/reflect/Field;Lorg/jruby/RubyModule;ZLjava/lang/Boolean;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: invokestatic org.jruby.Ruby.isSecurityRestricted:()Z
ifeq 2
aload 2
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 2
1: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "Cannot change accessibility on field in restricted mode '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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.Ruby.newSecurityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
astore 6
start local 6 3: aload 2
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 12
4: iload 4
ifeq 6
5: aload 3
invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
aload 1
new org.jruby.java.invokers.StaticFieldGetter
dup
aload 6
aload 3
aload 2
iconst_0
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
6: StackMap locals: java.lang.String
StackMap stack:
aload 5
ifnull 7
aload 5
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 19
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifeq 10
8: aload 5
ifnonnull 9
return
9: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "Cannot change final field '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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.Ruby.newSecurityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
10: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
new org.jruby.java.invokers.StaticFieldSetter
dup
aload 6
aload 3
aload 2
invokespecial org.jruby.java.invokers.StaticFieldSetter.<init>:(Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/reflect/Field;)V
invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
11: goto 19
12: StackMap locals:
StackMap stack:
iload 4
ifeq 14
13: aload 3
aload 1
new org.jruby.java.invokers.InstanceFieldGetter
dup
aload 6
aload 3
aload 2
invokespecial org.jruby.java.invokers.InstanceFieldGetter.<init>:(Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/reflect/Field;)V
invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
14: StackMap locals:
StackMap stack:
aload 5
ifnull 15
aload 5
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 19
15: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifeq 18
16: aload 5
ifnonnull 17
return
17: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "Cannot change final field '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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.Ruby.newSecurityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
18: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
new org.jruby.java.invokers.InstanceFieldSetter
dup
aload 6
aload 3
aload 2
invokespecial org.jruby.java.invokers.InstanceFieldSetter.<init>:(Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/reflect/Field;)V
invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
19: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 context Lorg/jruby/runtime/ThreadContext;
0 20 1 asName Ljava/lang/String;
0 20 2 field Ljava/lang/reflect/Field;
0 20 3 target Lorg/jruby/RubyModule;
0 20 4 asReader Z
0 20 5 asWriter Ljava/lang/Boolean;
3 20 6 fieldName Ljava/lang/String;
MethodParameters:
Name Flags
context final
asName final
field final
target final
asReader
asWriter
public static void installField(org.jruby.runtime.ThreadContext, java.lang.String, java.lang.reflect.Field, org.jruby.RubyModule);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/reflect/Field;Lorg/jruby/RubyModule;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_1
aconst_null
invokestatic org.jruby.java.proxies.JavaProxy.installField:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/reflect/Field;Lorg/jruby/RubyModule;ZLjava/lang/Boolean;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 asName Ljava/lang/String;
0 2 2 field Ljava/lang/reflect/Field;
0 2 3 target Lorg/jruby/RubyModule;
MethodParameters:
Name Flags
context final
asName final
field final
target final
private static void findFields(org.jruby.runtime.ThreadContext, org.jruby.RubyModule, org.jruby.runtime.builtin.IRubyObject[], boolean, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;[Lorg/jruby/runtime/builtin/IRubyObject;ZZ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
invokestatic org.jruby.java.proxies.JavaProxy.getFieldListFromArgs:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/util/Map;
astore 5
start local 5 1: aload 1
astore 6
start local 6 2: goto 12
3: StackMap locals: java.util.Map org.jruby.RubyModule
StackMap stack:
aload 0
aload 6
invokestatic org.jruby.javasupport.JavaClass.getJavaClassIfProxy:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)Ljava/lang/Class;
astore 7
start local 7 4: aload 7
ifnonnull 5
goto 11
5: StackMap locals: java.lang.Class
StackMap stack:
aload 7
invokestatic org.jruby.javasupport.JavaClass.getDeclaredFields:(Ljava/lang/Class;)[Ljava/lang/reflect/Field;
astore 8
start local 8 6: iconst_0
istore 9
start local 9 7: goto 10
8: StackMap locals: java.lang.reflect.Field[] int
StackMap stack:
aload 0
aload 5
aload 8
iload 9
aaload
aload 6
iload 3
iload 4
invokestatic org.jruby.java.proxies.JavaProxy.installField:(Lorg/jruby/runtime/ThreadContext;Ljava/util/Map;Ljava/lang/reflect/Field;Lorg/jruby/RubyModule;ZZ)V
9: iinc 9 1
StackMap locals:
StackMap stack:
10: iload 9
aload 8
arraylength
if_icmplt 8
end local 9 end local 8 end local 7 11: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
astore 6
StackMap locals:
StackMap stack:
12: aload 6
ifnonnull 3
end local 6 13: aload 5
invokeinterface java.util.Map.isEmpty:()Z
ifne 15
14: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
aload 5
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
invokestatic org.jruby.javasupport.JavaClass.undefinedFieldError:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
15: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 context Lorg/jruby/runtime/ThreadContext;
0 16 1 topModule Lorg/jruby/RubyModule;
0 16 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 16 3 asReader Z
0 16 4 asWriter Z
1 16 5 fieldMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
2 13 6 module Lorg/jruby/RubyModule;
4 11 7 javaClass Ljava/lang/Class<*>;
6 11 8 fields [Ljava/lang/reflect/Field;
7 11 9 j I
MethodParameters:
Name Flags
context final
topModule final
args final
asReader final
asWriter final
public static org.jruby.runtime.builtin.IRubyObject field_accessor(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast org.jruby.RubyModule
aload 2
iconst_1
iconst_1
invokestatic org.jruby.java.proxies.JavaProxy.findFields:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;[Lorg/jruby/runtime/builtin/IRubyObject;ZZ)V
1: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 2 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true, rest = true)
MethodParameters:
Name Flags
context
self
args
public static org.jruby.runtime.builtin.IRubyObject field_reader(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast org.jruby.RubyModule
aload 2
iconst_1
iconst_0
invokestatic org.jruby.java.proxies.JavaProxy.findFields:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;[Lorg/jruby/runtime/builtin/IRubyObject;ZZ)V
1: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 2 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true, rest = true)
MethodParameters:
Name Flags
context
self
args
public static org.jruby.runtime.builtin.IRubyObject field_writer(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast org.jruby.RubyModule
aload 2
iconst_0
iconst_1
invokestatic org.jruby.java.proxies.JavaProxy.findFields:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;[Lorg/jruby/runtime/builtin/IRubyObject;ZZ)V
1: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 2 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true, rest = true)
MethodParameters:
Name Flags
context
self
args
public org.jruby.runtime.builtin.IRubyObject equal_p(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=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.java.proxies.JavaProxy
ifeq 5
1: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
aload 2
checkcast org.jruby.java.proxies.JavaProxy
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
if_acmpne 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: aload 1
iload 3
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 3 5: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/java/proxies/JavaProxy;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 other Lorg/jruby/runtime/builtin/IRubyObject;
4 5 3 equal Z
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"equal?"})
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject java_send(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=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 3
start local 3 1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 2: new org.jruby.javasupport.JavaMethod
dup
aload 4
aload 0
aload 1
aload 3
iconst_0
anewarray java.lang.Class
invokevirtual org.jruby.java.proxies.JavaProxy.getMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
invokespecial org.jruby.javasupport.JavaMethod.<init>:(Lorg/jruby/Ruby;Ljava/lang/reflect/Method;)V
astore 5
start local 5 3: aload 5
aload 1
aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
invokevirtual org.jruby.javasupport.JavaMethod.invokeDirect:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/java/proxies/JavaProxy;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 rubyName Lorg/jruby/runtime/builtin/IRubyObject;
1 4 3 name Ljava/lang/String;
2 4 4 runtime Lorg/jruby/Ruby;
3 4 5 method Lorg/jruby/javasupport/JavaMethod;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
rubyName
public org.jruby.runtime.builtin.IRubyObject java_send(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 4
start local 4 1: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
astore 5
start local 5 2: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 6
start local 6 3: aload 6
iconst_0
aload 5
invokestatic org.jruby.java.proxies.JavaProxy.checkArgSizeMismatch:(Lorg/jruby/Ruby;ILorg/jruby/RubyArray;)V
4: new org.jruby.javasupport.JavaMethod
dup
aload 6
aload 0
aload 1
aload 4
iconst_0
anewarray java.lang.Class
invokevirtual org.jruby.java.proxies.JavaProxy.getMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
invokespecial org.jruby.javasupport.JavaMethod.<init>:(Lorg/jruby/Ruby;Ljava/lang/reflect/Method;)V
astore 7
start local 7 5: aload 7
aload 1
aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
invokevirtual org.jruby.javasupport.JavaMethod.invokeDirect:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/java/proxies/JavaProxy;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 rubyName Lorg/jruby/runtime/builtin/IRubyObject;
0 6 3 argTypes Lorg/jruby/runtime/builtin/IRubyObject;
1 6 4 name Ljava/lang/String;
2 6 5 argTypesAry Lorg/jruby/RubyArray;
3 6 6 runtime Lorg/jruby/Ruby;
5 6 7 method Lorg/jruby/javasupport/JavaMethod;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
rubyName
argTypes
public org.jruby.runtime.builtin.IRubyObject java_send(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 5
start local 5 1: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
astore 6
start local 6 2: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 7
start local 7 3: aload 7
iconst_1
aload 6
invokestatic org.jruby.java.proxies.JavaProxy.checkArgSizeMismatch:(Lorg/jruby/Ruby;ILorg/jruby/RubyArray;)V
4: aload 6
iconst_0
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
ldc Ljava/lang/Class;
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Class
astore 8
start local 8 5: new org.jruby.javasupport.JavaMethod
dup
aload 7
aload 0
aload 1
aload 5
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 8
aastore
invokevirtual org.jruby.java.proxies.JavaProxy.getMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
invokespecial org.jruby.javasupport.JavaMethod.<init>:(Lorg/jruby/Ruby;Ljava/lang/reflect/Method;)V
astore 9
start local 9 6: aload 9
aload 1
aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
aload 4
aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
invokevirtual org.jruby.javasupport.JavaMethod.invokeDirect:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/java/proxies/JavaProxy;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 rubyName Lorg/jruby/runtime/builtin/IRubyObject;
0 7 3 argTypes Lorg/jruby/runtime/builtin/IRubyObject;
0 7 4 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
1 7 5 name Ljava/lang/String;
2 7 6 argTypesAry Lorg/jruby/RubyArray;
3 7 7 runtime Lorg/jruby/Ruby;
5 7 8 argTypeClass Ljava/lang/Class;
6 7 9 method Lorg/jruby/javasupport/JavaMethod;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
rubyName
argTypes
arg0
public org.jruby.runtime.builtin.IRubyObject java_send(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=7, locals=10, 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 2
iconst_0
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 4
start local 4 2: aload 2
iconst_1
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
astore 5
start local 5 3: aload 2
arraylength
iconst_2
isub
istore 6
start local 6 4: aload 3
iload 6
aload 5
invokestatic org.jruby.java.proxies.JavaProxy.checkArgSizeMismatch:(Lorg/jruby/Ruby;ILorg/jruby/RubyArray;)V
5: aload 5
iload 6
anewarray java.lang.Class
invokevirtual org.jruby.RubyArray.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
astore 7
start local 7 6: iload 6
anewarray java.lang.Object
astore 8
start local 8 7: iconst_0
istore 9
start local 9 8: goto 11
9: StackMap locals: org.jruby.java.proxies.JavaProxy org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby java.lang.String org.jruby.RubyArray int java.lang.Class[] java.lang.Object[] int
StackMap stack:
aload 8
iload 9
aload 2
iload 9
iconst_2
iadd
aaload
aload 7
iload 9
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
aastore
10: iinc 9 1
StackMap locals:
StackMap stack:
11: iload 9
iload 6
if_icmplt 9
end local 9 12: new org.jruby.javasupport.JavaMethod
dup
aload 3
aload 0
aload 1
aload 4
aload 7
invokevirtual org.jruby.java.proxies.JavaProxy.getMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
invokespecial org.jruby.javasupport.JavaMethod.<init>:(Lorg/jruby/Ruby;Ljava/lang/reflect/Method;)V
astore 9
start local 9 13: aload 9
aload 1
aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
aload 8
invokevirtual org.jruby.javasupport.JavaMethod.invokeDirect:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/jruby/java/proxies/JavaProxy;
0 14 1 context Lorg/jruby/runtime/ThreadContext;
0 14 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 14 3 runtime Lorg/jruby/Ruby;
2 14 4 name Ljava/lang/String;
3 14 5 argTypesAry Lorg/jruby/RubyArray;
4 14 6 argsLen I
6 14 7 argTypesClasses [Ljava/lang/Class;
7 14 8 javaArgs [Ljava/lang/Object;
8 12 9 i I
13 14 9 method Lorg/jruby/javasupport/JavaMethod;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(required = 1, rest = true)
MethodParameters:
Name Flags
context
args
private static void checkArgSizeMismatch(org.jruby.Ruby, int, org.jruby.RubyArray);
descriptor: (Lorg/jruby/Ruby;ILorg/jruby/RubyArray;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.RubyArray.size:()I
iload 1
if_icmpeq 3
1: aload 2
aload 2
invokevirtual org.jruby.RubyArray.size:()I
anewarray java.lang.Class
invokevirtual org.jruby.RubyArray.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
astore 3
start local 3 2: aload 0
aload 3
invokestatic org.jruby.javasupport.JavaMethod.newArgSizeMismatchError:(Lorg/jruby/Ruby;[Ljava/lang/Class;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 3 3: StackMap locals:
StackMap stack:
return
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 expected I
0 4 2 argTypes Lorg/jruby/RubyArray;
2 3 3 argTypesClasses [Ljava/lang/Class;
MethodParameters:
Name Flags
runtime final
expected final
argTypes final
public org.jruby.runtime.builtin.IRubyObject java_method(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=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
aload 1
aload 3
iconst_0
anewarray java.lang.Class
invokevirtual org.jruby.java.proxies.JavaProxy.getRubyMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Ljava/lang/Class;)Lorg/jruby/RubyMethod;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/java/proxies/JavaProxy;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 rubyName Lorg/jruby/runtime/builtin/IRubyObject;
1 2 3 name Ljava/lang/String;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
rubyName
public org.jruby.runtime.builtin.IRubyObject java_method(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 4
start local 4 1: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
astore 5
start local 5 2: aload 5
aload 5
invokevirtual org.jruby.RubyArray.size:()I
anewarray java.lang.Class
invokevirtual org.jruby.RubyArray.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
astore 6
start local 6 3: aload 0
aload 1
aload 4
aload 6
invokevirtual org.jruby.java.proxies.JavaProxy.getRubyMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Ljava/lang/Class;)Lorg/jruby/RubyMethod;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/java/proxies/JavaProxy;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 rubyName Lorg/jruby/runtime/builtin/IRubyObject;
0 4 3 argTypes Lorg/jruby/runtime/builtin/IRubyObject;
1 4 4 name Ljava/lang/String;
2 4 5 argTypesAry Lorg/jruby/RubyArray;
3 4 6 argTypesClasses [Ljava/lang/Class;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
rubyName
argTypes
public org.jruby.runtime.builtin.IRubyObject marshal_dump();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: ldc Ljava/io/Serializable;
aload 0
getfield org.jruby.java.proxies.JavaProxy.object:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 2
1: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getRuntime:()Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "Java type is not serializable, cannot be marshaled "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getJavaClass:()Ljava/lang/Class;
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:
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 3: new java.io.ObjectOutputStream
dup
aload 1
invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
aload 0
getfield org.jruby.java.proxies.JavaProxy.object:Ljava/lang/Object;
invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
4: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getRuntime:()Lorg/jruby/Ruby;
new org.jruby.util.ByteList
dup
aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BZ)V
invokevirtual org.jruby.Ruby.newString:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
5: areturn
end local 1 6: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 7: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getRuntime:()Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "Java type is not serializable: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.io.IOException.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 8 0 this Lorg/jruby/java/proxies/JavaProxy;
3 6 1 bytes Ljava/io/ByteArrayOutputStream;
7 8 1 ex Ljava/io/IOException;
Exception table:
from to target type
2 5 6 Class java.io.IOException
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public org.jruby.runtime.builtin.IRubyObject marshal_load(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=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 3
start local 3 1: new java.io.ByteArrayInputStream
dup
aload 3
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 3
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 3
invokevirtual org.jruby.util.ByteList.getRealSize:()I
invokespecial java.io.ByteArrayInputStream.<init>:([BII)V
astore 4
start local 4 2: aload 0
new org.jruby.util.JRubyObjectInputStream
dup
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokespecial org.jruby.util.JRubyObjectInputStream.<init>:(Lorg/jruby/Ruby;Ljava/io/InputStream;)V
invokevirtual org.jruby.util.JRubyObjectInputStream.readObject:()Ljava/lang/Object;
putfield org.jruby.java.proxies.JavaProxy.object:Ljava/lang/Object;
3: aload 0
4: areturn
end local 4 end local 3 5: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 6: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
invokevirtual org.jruby.Ruby.newIOErrorFromException:(Ljava/io/IOException;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 3 7: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 3
start local 3 8: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "Class not found unmarshaling Java type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.ClassNotFoundException.getLocalizedMessage:()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 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/java/proxies/JavaProxy;
0 9 1 context Lorg/jruby/runtime/ThreadContext;
0 9 2 str Lorg/jruby/runtime/builtin/IRubyObject;
1 5 3 byteList Lorg/jruby/util/ByteList;
2 5 4 bytes Ljava/io/ByteArrayInputStream;
6 7 3 ex Ljava/io/IOException;
8 9 3 ex Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
0 4 5 Class java.io.IOException
0 4 7 Class java.lang.ClassNotFoundException
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context final
str final
protected int inspectHashCode();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.java.proxies.JavaProxy.object:Ljava/lang/Object;
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/java/proxies/JavaProxy;
private java.lang.reflect.Method getMethod(org.jruby.runtime.ThreadContext, java.lang.String, java.lang.Class[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 4
start local 4 1: iconst_1
anewarray java.lang.reflect.Method
astore 5
start local 5 2: aload 2
aload 3
aload 5
invokedynamic test(Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/reflect/Method;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/jruby/java/proxies/JavaProxy.lambda$0(Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/reflect/Method;[Ljava/lang/reflect/Method;)Z (6)
([Ljava/lang/reflect/Method;)Z
astore 6
start local 6 3: aload 4
4: aload 6
aload 6
5: invokestatic org.jruby.javasupport.binding.MethodGatherer.eachAccessibleMethod:(Ljava/lang/Class;Ljava/util/function/Predicate;Ljava/util/function/Predicate;)V
6: aload 5
iconst_0
aaload
ifnull 7
aload 5
iconst_0
aaload
areturn
7: StackMap locals: java.lang.Class java.lang.reflect.Method[] java.util.function.Predicate
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokestatic org.jruby.util.CodegenUtils.prettyParams:([Ljava/lang/Class;)Ljava/lang/CharSequence;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokestatic org.jruby.javasupport.JavaMethod.newMethodNotFoundError:(Lorg/jruby/Ruby;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/java/proxies/JavaProxy;
0 8 1 context Lorg/jruby/runtime/ThreadContext;
0 8 2 name Ljava/lang/String;
0 8 3 argTypes [Ljava/lang/Class;
1 8 4 originalClass Ljava/lang/Class<*>;
2 8 5 holder [Ljava/lang/reflect/Method;
3 8 6 predicate Ljava/util/function/Predicate<[Ljava/lang/reflect/Method;>;
MethodParameters:
Name Flags
context
name
argTypes
private org.jruby.java.invokers.MethodInvoker getMethodInvoker(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Lorg/jruby/java/invokers/MethodInvoker;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 2
1: new org.jruby.java.invokers.StaticMethodInvoker
dup
aload 0
getfield org.jruby.java.proxies.JavaProxy.metaClass:Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getMetaClass:()Lorg/jruby/RubyClass;
aload 1
invokedynamic get(Ljava/lang/reflect/Method;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/jruby/java/proxies/JavaProxy.lambda$1(Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method; (6)
()[Ljava/lang/reflect/Method;
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokespecial org.jruby.java.invokers.StaticMethodInvoker.<init>:(Lorg/jruby/RubyModule;Ljava/util/function/Supplier;Ljava/lang/String;)V
areturn
2: StackMap locals:
StackMap stack:
new org.jruby.java.invokers.InstanceMethodInvoker
dup
aload 0
getfield org.jruby.java.proxies.JavaProxy.metaClass:Lorg/jruby/RubyClass;
aload 1
invokedynamic get(Ljava/lang/reflect/Method;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/jruby/java/proxies/JavaProxy.lambda$2(Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method; (6)
()[Ljava/lang/reflect/Method;
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokespecial org.jruby.java.invokers.InstanceMethodInvoker.<init>:(Lorg/jruby/RubyModule;Ljava/util/function/Supplier;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/java/proxies/JavaProxy;
0 3 1 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method
private org.jruby.RubyMethod getRubyMethod(org.jruby.runtime.ThreadContext, java.lang.String, java.lang.Class[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Ljava/lang/Class;)Lorg/jruby/RubyMethod;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=9, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.jruby.java.proxies.JavaProxy.getMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 4
start local 4 1: aload 4
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 10
2: aload 0
getfield org.jruby.java.proxies.JavaProxy.metaClass:Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
astore 5
start local 5 3: aload 5
4: aload 3
invokestatic org.jruby.util.CodegenUtils.prettyParams:([Ljava/lang/Class;)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
5: aload 5
6: aload 2
7: new org.jruby.runtime.callsite.CacheEntry
dup
aload 0
aload 4
invokevirtual org.jruby.java.proxies.JavaProxy.getMethodInvoker:(Ljava/lang/reflect/Method;)Lorg/jruby/java/invokers/MethodInvoker;
aload 5
aload 0
getfield org.jruby.java.proxies.JavaProxy.metaClass:Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getGeneration:()I
invokespecial org.jruby.runtime.callsite.CacheEntry.<init>:(Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)V
8: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getMetaClass:()Lorg/jruby/RubyClass;
9: invokestatic org.jruby.RubyMethod.newMethod:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyMethod;
areturn
end local 5 10: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 0
getfield org.jruby.java.proxies.JavaProxy.metaClass:Lorg/jruby/RubyClass;
astore 5
start local 5 11: aload 5
12: aload 3
invokestatic org.jruby.util.CodegenUtils.prettyParams:([Ljava/lang/Class;)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
13: aload 5
14: aload 2
15: new org.jruby.runtime.callsite.CacheEntry
dup
aload 0
aload 4
invokevirtual org.jruby.java.proxies.JavaProxy.getMethodInvoker:(Ljava/lang/reflect/Method;)Lorg/jruby/java/invokers/MethodInvoker;
aload 5
aload 0
getfield org.jruby.java.proxies.JavaProxy.metaClass:Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getGeneration:()I
invokespecial org.jruby.runtime.callsite.CacheEntry.<init>:(Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)V
16: aload 0
17: invokestatic org.jruby.RubyMethod.newMethod:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyMethod;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/jruby/java/proxies/JavaProxy;
0 18 1 context Lorg/jruby/runtime/ThreadContext;
0 18 2 name Ljava/lang/String;
0 18 3 argTypes [Ljava/lang/Class;
1 18 4 jmethod Ljava/lang/reflect/Method;
3 10 5 sourceModule Lorg/jruby/RubyClass;
11 18 5 sourceModule Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
context
name
argTypes
public <T> T toJava(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 3
start local 3 2: aload 1
aload 3
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 3
aload 1
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
3: StackMap locals: java.lang.Object java.lang.Class
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 4
aload 1
aload 0
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getRuntime:()Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "failed to coerce "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Class.getName:()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 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/java/proxies/JavaProxy;
0 5 1 type Ljava/lang/Class<TT;>;
1 5 2 object Ljava/lang/Object;
2 5 3 clazz Ljava/lang/Class<*>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
type
public java.lang.Object getVariable(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "instance vars on non-persistent Java type {0} (http://wiki.jruby.org/Persistence)"
invokevirtual org.jruby.java.proxies.JavaProxy.confirmCachedProxy:(Ljava/lang/String;)V
1: aload 0
iload 1
invokespecial org.jruby.RubyObject.getVariable:(I)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/java/proxies/JavaProxy;
0 2 1 index I
MethodParameters:
Name Flags
index
public void setVariable(int, java.lang.Object);
descriptor: (ILjava/lang/Object;)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
ldc "instance vars on non-persistent Java type {0} (http://wiki.jruby.org/Persistence)"
invokevirtual org.jruby.java.proxies.JavaProxy.confirmCachedProxy:(Ljava/lang/String;)V
1: aload 0
iload 1
aload 2
invokespecial org.jruby.RubyObject.setVariable:(ILjava/lang/Object;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/java/proxies/JavaProxy;
0 3 1 index I
0 3 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
index
value
public org.jruby.RubyClass getSingletonClass();
descriptor: ()Lorg/jruby/RubyClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "singleton on non-persistent Java type {0} (http://wiki.jruby.org/Persistence)"
invokevirtual org.jruby.java.proxies.JavaProxy.confirmCachedProxy:(Ljava/lang/String;)V
1: aload 0
invokespecial org.jruby.RubyObject.getSingletonClass:()Lorg/jruby/RubyClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/java/proxies/JavaProxy;
private void confirmCachedProxy(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.java.proxies.JavaProxy.metaClass:Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
astore 2
start local 2 1: aload 2
invokevirtual org.jruby.RubyClass.getCacheProxy:()Z
ifne 9
2: aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getRuntime:()Lorg/jruby/Ruby;
astore 3
start local 3 3: getstatic org.jruby.javasupport.Java.OBJECT_PROXY_CACHE:Z
ifeq 6
4: aload 3
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
getstatic org.jruby.common.IRubyWarnings$ID.NON_PERSISTENT_JAVA_PROXY:Lorg/jruby/common/IRubyWarnings$ID;
aload 1
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual org.jruby.common.RubyWarnings.warnOnce:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
5: goto 9
6: StackMap locals: org.jruby.RubyClass org.jruby.Ruby
StackMap stack:
aload 3
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
aload 1
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
7: aload 2
iconst_1
invokevirtual org.jruby.RubyClass.setCacheProxy:(Z)V
8: aload 3
invokevirtual org.jruby.Ruby.getJavaSupport:()Lorg/jruby/javasupport/JavaSupport;
invokevirtual org.jruby.javasupport.JavaSupport.getObjectProxyCache:()Lorg/jruby/javasupport/util/ObjectProxyCache;
aload 0
invokevirtual org.jruby.java.proxies.JavaProxy.getObject:()Ljava/lang/Object;
aload 0
invokevirtual org.jruby.javasupport.util.ObjectProxyCache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/java/proxies/JavaProxy;
0 10 1 message Ljava/lang/String;
1 10 2 realClass Lorg/jruby/RubyClass;
3 9 3 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
message
private static boolean lambda$0(java.lang.String, java.lang.Class[], java.lang.reflect.Method[], java.lang.reflect.Method[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/reflect/Method;[Ljava/lang/reflect/Method;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=8, args_size=4
start local 3 0: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 6
StackMap locals: java.lang.String java.lang.Class[] java.lang.reflect.Method[] java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
1: aload 7
iload 5
aaload
astore 4
start local 4 2: aload 4
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
aload 4
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
aload 1
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 5
3: aload 2
iconst_0
aload 4
aastore
4: iconst_0
ireturn
end local 4 5: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 6
if_icmplt 1
7: iconst_1
ireturn
end local 3 LocalVariableTable:
Start End Slot Name Signature
0 8 3 classMethods [Ljava/lang/reflect/Method;
2 5 4 method Ljava/lang/reflect/Method;
private static java.lang.reflect.Method[] lambda$1(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
0: iconst_1
anewarray java.lang.reflect.Method
dup
iconst_0
aload 0
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.reflect.Method[]
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.reflect.Method[] lambda$2(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
0: iconst_1
anewarray java.lang.reflect.Method
dup
iconst_0
aload 0
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.reflect.Method[]
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "JavaProxy.java"
NestMembers:
org.jruby.java.proxies.JavaProxy$1 org.jruby.java.proxies.JavaProxy$2 org.jruby.java.proxies.JavaProxy$ClassMethods
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract VisitorWithState = org.jruby.RubyHash$VisitorWithState of org.jruby.RubyHash
public final ID = org.jruby.common.IRubyWarnings$ID of org.jruby.common.IRubyWarnings
org.jruby.java.proxies.JavaProxy$1
org.jruby.java.proxies.JavaProxy$2
public ClassMethods = org.jruby.java.proxies.JavaProxy$ClassMethods of org.jruby.java.proxies.JavaProxy