public class org.jruby.java.proxies.JavaProxy$ClassMethods
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.java.proxies.JavaProxy$ClassMethods
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/java/proxies/JavaProxy$ClassMethods;
public static org.jruby.runtime.builtin.IRubyObject const_missing(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=3, 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
invokestatic org.jruby.javasupport.Java.get_inner_class:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 name Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"const_missing"}, required = 1, meta = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;, frame = true)
MethodParameters:
Name Flags
context
self
name
public static 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: (0x0009) ACC_PUBLIC, ACC_STATIC
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
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.getRubyMethod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Ljava/lang/Class;)Lorg/jruby/AbstractRubyMethod;
areturn
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 proxyClass Lorg/jruby/runtime/builtin/IRubyObject;
0 2 2 rubyName Lorg/jruby/runtime/builtin/IRubyObject;
1 2 3 name Ljava/lang/String;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
context
proxyClass
rubyName
public static org.jruby.runtime.builtin.IRubyObject java_method(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: (0x0009) ACC_PUBLIC, ACC_STATIC
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
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.getRubyMethod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Ljava/lang/Class;)Lorg/jruby/AbstractRubyMethod;
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 context Lorg/jruby/runtime/ThreadContext;
0 4 1 proxyClass Lorg/jruby/runtime/builtin/IRubyObject;
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(meta = true)
MethodParameters:
Name Flags
context
proxyClass
rubyName
argTypes
public static 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: (0x0009) ACC_PUBLIC, ACC_STATIC
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 0
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
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.getMethodFromClass:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;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 0
invokevirtual org.jruby.javasupport.JavaMethod.invokeStaticDirect:(Lorg/jruby/runtime/ThreadContext;)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 context Lorg/jruby/runtime/ThreadContext;
0 4 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
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(meta = true)
MethodParameters:
Name Flags
context
recv
rubyName
public static 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: (0x0009) ACC_PUBLIC, ACC_STATIC
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 0
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
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.getMethodFromClass:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;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 0
invokevirtual org.jruby.javasupport.JavaMethod.invokeStaticDirect:(Lorg/jruby/runtime/ThreadContext;)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 context Lorg/jruby/runtime/ThreadContext;
0 6 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
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(meta = true)
MethodParameters:
Name Flags
context
recv
rubyName
argTypes
public static 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, 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;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
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 0
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
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.getMethodFromClass:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;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 0
aload 4
aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
invokevirtual org.jruby.javasupport.JavaMethod.invokeStaticDirect:(Lorg/jruby/runtime/ThreadContext;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 context Lorg/jruby/runtime/ThreadContext;
0 7 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
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(meta = true)
MethodParameters:
Name Flags
context
recv
rubyName
argTypes
arg0
public static 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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
tableswitch { // 1 - 3
1: 1
2: 2
3: 3
default: 4
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iconst_0
aaload
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.java_send:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iconst_0
aaload
aload 2
iconst_1
aaload
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.java_send:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iconst_0
aaload
aload 2
iconst_1
aaload
aload 2
iconst_2
aaload
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.java_send:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals:
StackMap stack:
aload 0
5: getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 6: aload 2
iconst_0
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 4
start local 4 7: aload 2
iconst_1
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
astore 5
start local 5 8: aload 2
arraylength
iconst_2
isub
istore 6
start local 6 9: aload 3
iload 6
aload 5
invokestatic org.jruby.java.proxies.JavaProxy.checkArgSizeMismatch:(Lorg/jruby/Ruby;ILorg/jruby/RubyArray;)V
10: 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 11: iload 6
anewarray java.lang.Object
astore 8
start local 8 12: iconst_0
istore 9
start local 9 13: goto 16
14: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject 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
15: iinc 9 1
StackMap locals:
StackMap stack:
16: iload 9
iload 6
if_icmplt 14
end local 9 17: new org.jruby.javasupport.JavaMethod
dup
aload 3
aload 0
aload 1
aload 4
aload 7
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.getMethodFromClass:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;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 18: aload 9
aload 0
aload 8
invokevirtual org.jruby.javasupport.JavaMethod.invokeStaticDirect:(Lorg/jruby/runtime/ThreadContext;[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 19 0 context Lorg/jruby/runtime/ThreadContext;
0 19 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 19 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
6 19 3 runtime Lorg/jruby/Ruby;
7 19 4 name Ljava/lang/String;
8 19 5 argTypesAry Lorg/jruby/RubyArray;
9 19 6 argsLen I
11 19 7 argTypesClasses [Ljava/lang/Class;
12 19 8 javaArgs [Ljava/lang/Object;
13 17 9 i I
18 19 9 method Lorg/jruby/javasupport/JavaMethod;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(required = 1, rest = true, meta = true)
MethodParameters:
Name Flags
context
recv
args
public static org.jruby.runtime.builtin.IRubyObject java_alias(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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, 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
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newEmptyArray:()Lorg/jruby/RubyArray;
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.java_alias:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)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 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 clazz Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 newName Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 rubyName Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
context
clazz
newName
rubyName
public static org.jruby.runtime.builtin.IRubyObject java_alias(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, 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;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 5
start local 5 1: aload 1
instanceof org.jruby.RubyClass
ifne 3
2: aload 5
aload 1
aload 5
invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 1
checkcast org.jruby.RubyClass
astore 6
start local 6 4: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 7
start local 7 5: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 8
start local 8 6: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
astore 9
start local 9 7: aload 9
aload 9
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 10
start local 10 8: aload 0
aload 1
aload 7
aload 10
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.getMethodFromClass:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 11
start local 11 9: aload 11
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 13
10: new org.jruby.java.invokers.StaticMethodInvoker
dup
aload 6
invokevirtual org.jruby.RubyClass.getMetaClass:()Lorg/jruby/RubyClass;
aload 11
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$ClassMethods.lambda$0(Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method; (6)
()[Ljava/lang/reflect/Method;
aload 8
invokespecial org.jruby.java.invokers.StaticMethodInvoker.<init>:(Lorg/jruby/RubyModule;Ljava/util/function/Supplier;Ljava/lang/String;)V
astore 12
start local 12 11: aload 6
invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
aload 8
aload 12
invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
12: goto 15
end local 12 13: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyClass java.lang.String java.lang.String org.jruby.RubyArray java.lang.Class[] java.lang.reflect.Method
StackMap stack:
new org.jruby.java.invokers.InstanceMethodInvoker
dup
aload 6
aload 11
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$ClassMethods.lambda$1(Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method; (6)
()[Ljava/lang/reflect/Method;
aload 8
invokespecial org.jruby.java.invokers.InstanceMethodInvoker.<init>:(Lorg/jruby/RubyModule;Ljava/util/function/Supplier;Ljava/lang/String;)V
astore 12
start local 12 14: aload 6
aload 8
aload 12
invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
15: StackMap locals: org.jruby.java.invokers.MethodInvoker
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 12 end local 11 end local 10 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 16 0 context Lorg/jruby/runtime/ThreadContext;
0 16 1 clazz Lorg/jruby/runtime/builtin/IRubyObject;
0 16 2 newName Lorg/jruby/runtime/builtin/IRubyObject;
0 16 3 rubyName Lorg/jruby/runtime/builtin/IRubyObject;
0 16 4 argTypes Lorg/jruby/runtime/builtin/IRubyObject;
1 16 5 runtime Lorg/jruby/Ruby;
4 16 6 proxyClass Lorg/jruby/RubyClass;
5 16 7 name Ljava/lang/String;
6 16 8 newNameStr Ljava/lang/String;
7 16 9 argTypesAry Lorg/jruby/RubyArray;
8 16 10 argTypesClasses [Ljava/lang/Class;
9 16 11 method Ljava/lang/reflect/Method;
11 13 12 invoker Lorg/jruby/java/invokers/MethodInvoker;
14 16 12 invoker Lorg/jruby/java/invokers/MethodInvoker;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
context
clazz
newName
rubyName
argTypes
private static org.jruby.AbstractRubyMethod getRubyMethod(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, java.lang.String, java.lang.Class[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Ljava/lang/Class;)Lorg/jruby/AbstractRubyMethod;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=9, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 1
instanceof org.jruby.RubyModule
ifne 3
2: aload 4
aload 1
aload 4
invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 1
checkcast org.jruby.RubyModule
astore 5
start local 5 4: aload 0
aload 1
aload 2
aload 3
invokestatic org.jruby.java.proxies.JavaProxy$ClassMethods.getMethodFromClass:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 6
start local 6 5: 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;
astore 7
start local 7 6: aload 6
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 9
7: new org.jruby.java.invokers.StaticMethodInvoker
dup
aload 5
aload 6
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$ClassMethods.lambda$2(Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method; (6)
()[Ljava/lang/reflect/Method;
aload 2
invokespecial org.jruby.java.invokers.StaticMethodInvoker.<init>:(Lorg/jruby/RubyModule;Ljava/util/function/Supplier;Ljava/lang/String;)V
astore 8
start local 8 8: aload 5
aload 7
aload 5
aload 2
new org.jruby.runtime.callsite.CacheEntry
dup
aload 8
aload 5
aload 5
invokevirtual org.jruby.RubyModule.getGeneration:()I
invokespecial org.jruby.runtime.callsite.CacheEntry.<init>:(Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)V
aload 1
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 8 9: StackMap locals: org.jruby.RubyModule java.lang.reflect.Method java.lang.String
StackMap stack:
new org.jruby.java.invokers.InstanceMethodInvoker
dup
aload 5
aload 6
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$ClassMethods.lambda$3(Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method; (6)
()[Ljava/lang/reflect/Method;
aload 2
invokespecial org.jruby.java.invokers.InstanceMethodInvoker.<init>:(Lorg/jruby/RubyModule;Ljava/util/function/Supplier;Ljava/lang/String;)V
astore 8
start local 8 10: aload 5
aload 7
aload 5
aload 2
new org.jruby.runtime.callsite.CacheEntry
dup
aload 8
aload 5
aload 5
invokevirtual org.jruby.RubyModule.getGeneration:()I
invokespecial org.jruby.runtime.callsite.CacheEntry.<init>:(Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)V
invokestatic org.jruby.RubyUnboundMethod.newUnboundMethod:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;)Lorg/jruby/RubyUnboundMethod;
areturn
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 11 0 context Lorg/jruby/runtime/ThreadContext;
0 11 1 clazz Lorg/jruby/runtime/builtin/IRubyObject;
0 11 2 name Ljava/lang/String;
0 11 3 argTypesClasses [Ljava/lang/Class;
1 11 4 runtime Lorg/jruby/Ruby;
4 11 5 proxyClass Lorg/jruby/RubyModule;
5 11 6 method Ljava/lang/reflect/Method;
6 11 7 prettyName Ljava/lang/String;
8 9 8 invoker Lorg/jruby/java/invokers/MethodInvoker;
10 11 8 invoker Lorg/jruby/java/invokers/MethodInvoker;
MethodParameters:
Name Flags
context
clazz
name
argTypesClasses
private static java.lang.reflect.Method getMethodFromClass(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, java.lang.String, java.lang.Class[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
checkcast org.jruby.RubyModule
invokestatic org.jruby.javasupport.JavaClass.getJavaClass:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)Ljava/lang/Class;
astore 4
start local 4 1: aload 4
aload 2
aload 3
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
2: areturn
3: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject java.lang.String java.lang.Class[] java.lang.Class
StackMap stack: java.lang.NoSuchMethodException
pop
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;
astore 5
start local 5 5: new java.lang.StringBuilder
dup
aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 6: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "Java method not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokevirtual org.jruby.Ruby.newNameError:(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 7 0 context Lorg/jruby/runtime/ThreadContext;
0 7 1 proxyClass Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 name Ljava/lang/String;
0 7 3 argTypes [Ljava/lang/Class;
1 7 4 clazz Ljava/lang/Class<*>;
5 7 5 prettyName Ljava/lang/String;
6 7 6 errorName Ljava/lang/String;
Exception table:
from to target type
1 2 3 Class java.lang.NoSuchMethodException
MethodParameters:
Name Flags
context final
proxyClass final
name final
argTypes final
private static java.lang.reflect.Method[] lambda$0(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$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
private static java.lang.reflect.Method[] lambda$3(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"
NestHost: org.jruby.java.proxies.JavaProxy
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public ClassMethods = org.jruby.java.proxies.JavaProxy$ClassMethods of org.jruby.java.proxies.JavaProxy