public class org.jruby.java.dispatch.CallableSelector
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.java.dispatch.CallableSelector
super_class: java.lang.Object
{
private static final org.jruby.java.dispatch.CallableSelector$CallableAcceptor Exact;
descriptor: Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.java.dispatch.CallableSelector$CallableAcceptor AssignableAndPrimitivable;
descriptor: Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.java.dispatch.CallableSelector$CallableAcceptor AssignableOrDuckable;
descriptor: Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.java.dispatch.CallableSelector$CallableAcceptor AssignableAndPrimitivableWithVarargs;
descriptor: Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.java.dispatch.CallableSelector$Matcher EXACT;
descriptor: Lorg/jruby/java/dispatch/CallableSelector$Matcher;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.java.dispatch.CallableSelector$Matcher ASSIGNABLE;
descriptor: Lorg/jruby/java/dispatch/CallableSelector$Matcher;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.java.dispatch.CallableSelector$Matcher PRIMITIVABLE;
descriptor: Lorg/jruby/java/dispatch/CallableSelector$Matcher;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.java.dispatch.CallableSelector$Matcher DUCKABLE;
descriptor: Lorg/jruby/java/dispatch/CallableSelector$Matcher;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.jruby.java.dispatch.CallableSelector$1
dup
invokespecial org.jruby.java.dispatch.CallableSelector$1.<init>:()V
putstatic org.jruby.java.dispatch.CallableSelector.Exact:Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
1: new org.jruby.java.dispatch.CallableSelector$2
dup
invokespecial org.jruby.java.dispatch.CallableSelector$2.<init>:()V
putstatic org.jruby.java.dispatch.CallableSelector.AssignableAndPrimitivable:Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
2: new org.jruby.java.dispatch.CallableSelector$3
dup
invokespecial org.jruby.java.dispatch.CallableSelector$3.<init>:()V
putstatic org.jruby.java.dispatch.CallableSelector.AssignableOrDuckable:Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
3: new org.jruby.java.dispatch.CallableSelector$4
dup
invokespecial org.jruby.java.dispatch.CallableSelector$4.<init>:()V
putstatic org.jruby.java.dispatch.CallableSelector.AssignableAndPrimitivableWithVarargs:Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
4: new org.jruby.java.dispatch.CallableSelector$5
dup
invokespecial org.jruby.java.dispatch.CallableSelector$5.<init>:()V
putstatic org.jruby.java.dispatch.CallableSelector.EXACT:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
5: new org.jruby.java.dispatch.CallableSelector$6
dup
invokespecial org.jruby.java.dispatch.CallableSelector$6.<init>:()V
putstatic org.jruby.java.dispatch.CallableSelector.ASSIGNABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
6: new org.jruby.java.dispatch.CallableSelector$7
dup
invokespecial org.jruby.java.dispatch.CallableSelector$7.<init>:()V
putstatic org.jruby.java.dispatch.CallableSelector.PRIMITIVABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
7: new org.jruby.java.dispatch.CallableSelector$8
dup
invokespecial org.jruby.java.dispatch.CallableSelector$8.<init>:()V
putstatic org.jruby.java.dispatch.CallableSelector.DUCKABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
8: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
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/dispatch/CallableSelector;
public static <T extends org.jruby.javasupport.ParameterTypes> T matchingCallableArityN(org.jruby.Ruby, org.jruby.java.dispatch.CallableSelector$CallableCache<T>, T[], org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/java/dispatch/CallableSelector$CallableCache;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:([Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 4
start local 4 1: aload 1
iload 4
invokeinterface org.jruby.java.dispatch.CallableSelector$CallableCache.getSignature:(I)Lorg/jruby/javasupport/ParameterTypes;
astore 5
start local 5 2: aload 5
ifnonnull 5
3: aload 0
aload 2
aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 5
4: aload 5
ifnull 5
aload 1
iload 4
aload 5
invokeinterface org.jruby.java.dispatch.CallableSelector$CallableCache.putSignature:(ILorg/jruby/javasupport/ParameterTypes;)V
5: StackMap locals: int org.jruby.javasupport.ParameterTypes
StackMap stack:
aload 5
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 cache Lorg/jruby/java/dispatch/CallableSelector$CallableCache<TT;>;
0 6 2 methods [Lorg/jruby/javasupport/ParameterTypes;
0 6 3 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 6 4 signatureCode I
2 6 5 method TT;
Signature: <T::Lorg/jruby/javasupport/ParameterTypes;>(Lorg/jruby/Ruby;Lorg/jruby/java/dispatch/CallableSelector$CallableCache<TT;>;[TT;[Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime
cache
methods
args
public static <T extends org.jruby.javasupport.ParameterTypes> T matchingCallableArityOne(org.jruby.Ruby, org.jruby.java.dispatch.CallableSelector$CallableCache<T>, T[], org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/java/dispatch/CallableSelector$CallableCache;[Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 4
start local 4 1: aload 1
iload 4
invokeinterface org.jruby.java.dispatch.CallableSelector$CallableCache.getSignature:(I)Lorg/jruby/javasupport/ParameterTypes;
astore 5
start local 5 2: aload 5
ifnonnull 5
3: aload 0
aload 2
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 5
4: aload 5
ifnull 5
aload 1
iload 4
aload 5
invokeinterface org.jruby.java.dispatch.CallableSelector$CallableCache.putSignature:(ILorg/jruby/javasupport/ParameterTypes;)V
5: StackMap locals: int org.jruby.javasupport.ParameterTypes
StackMap stack:
aload 5
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 cache Lorg/jruby/java/dispatch/CallableSelector$CallableCache<TT;>;
0 6 2 methods [Lorg/jruby/javasupport/ParameterTypes;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 4 signatureCode I
2 6 5 method TT;
Signature: <T::Lorg/jruby/javasupport/ParameterTypes;>(Lorg/jruby/Ruby;Lorg/jruby/java/dispatch/CallableSelector$CallableCache<TT;>;[TT;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime
cache
methods
arg0
public static <T extends org.jruby.javasupport.ParameterTypes> T matchingCallableArityTwo(org.jruby.Ruby, org.jruby.java.dispatch.CallableSelector$CallableCache<T>, T[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/java/dispatch/CallableSelector$CallableCache;[Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
aload 4
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 5
start local 5 1: aload 1
iload 5
invokeinterface org.jruby.java.dispatch.CallableSelector$CallableCache.getSignature:(I)Lorg/jruby/javasupport/ParameterTypes;
astore 6
start local 6 2: aload 6
ifnonnull 5
3: aload 0
aload 2
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 6
4: aload 6
ifnull 5
aload 1
iload 5
aload 6
invokeinterface org.jruby.java.dispatch.CallableSelector$CallableCache.putSignature:(ILorg/jruby/javasupport/ParameterTypes;)V
5: StackMap locals: int org.jruby.javasupport.ParameterTypes
StackMap stack:
aload 6
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 cache Lorg/jruby/java/dispatch/CallableSelector$CallableCache<TT;>;
0 6 2 methods [Lorg/jruby/javasupport/ParameterTypes;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 5 signatureCode I
2 6 6 method TT;
Signature: <T::Lorg/jruby/javasupport/ParameterTypes;>(Lorg/jruby/Ruby;Lorg/jruby/java/dispatch/CallableSelector$CallableCache<TT;>;[TT;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime
cache
methods
arg0
arg1
public static <T extends org.jruby.javasupport.ParameterTypes> T matchingCallableArityThree(org.jruby.Ruby, org.jruby.java.dispatch.CallableSelector$CallableCache<T>, T[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/java/dispatch/CallableSelector$CallableCache;[Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
aload 4
aload 5
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 6
start local 6 1: aload 1
iload 6
invokeinterface org.jruby.java.dispatch.CallableSelector$CallableCache.getSignature:(I)Lorg/jruby/javasupport/ParameterTypes;
astore 7
start local 7 2: aload 7
ifnonnull 5
3: aload 0
aload 2
iconst_3
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 7
4: aload 7
ifnull 5
aload 1
iload 6
aload 7
invokeinterface org.jruby.java.dispatch.CallableSelector$CallableCache.putSignature:(ILorg/jruby/javasupport/ParameterTypes;)V
5: StackMap locals: int org.jruby.javasupport.ParameterTypes
StackMap stack:
aload 7
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 runtime Lorg/jruby/Ruby;
0 6 1 cache Lorg/jruby/java/dispatch/CallableSelector$CallableCache<TT;>;
0 6 2 methods [Lorg/jruby/javasupport/ParameterTypes;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 5 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 6 signatureCode I
2 6 7 method TT;
Signature: <T::Lorg/jruby/javasupport/ParameterTypes;>(Lorg/jruby/Ruby;Lorg/jruby/java/dispatch/CallableSelector$CallableCache<TT;>;[TT;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime
cache
methods
arg0
arg1
arg2
public static <T extends org.jruby.javasupport.ParameterTypes> T matchingCallableArityFour(org.jruby.Ruby, org.jruby.java.dispatch.CallableSelector$CallableCache<T>, T[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/java/dispatch/CallableSelector$CallableCache;[Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 3
aload 4
aload 5
aload 6
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 7
start local 7 1: aload 1
iload 7
invokeinterface org.jruby.java.dispatch.CallableSelector$CallableCache.getSignature:(I)Lorg/jruby/javasupport/ParameterTypes;
astore 8
start local 8 2: aload 8
ifnonnull 5
3: aload 0
aload 2
iconst_4
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
dup
iconst_3
aload 6
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 8
4: aload 8
ifnull 5
aload 1
iload 7
aload 8
invokeinterface org.jruby.java.dispatch.CallableSelector$CallableCache.putSignature:(ILorg/jruby/javasupport/ParameterTypes;)V
5: StackMap locals: int org.jruby.javasupport.ParameterTypes
StackMap stack:
aload 8
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 cache Lorg/jruby/java/dispatch/CallableSelector$CallableCache<TT;>;
0 6 2 methods [Lorg/jruby/javasupport/ParameterTypes;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 5 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 6 arg3 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 7 signatureCode I
2 6 8 method TT;
Signature: <T::Lorg/jruby/javasupport/ParameterTypes;>(Lorg/jruby/Ruby;Lorg/jruby/java/dispatch/CallableSelector$CallableCache<TT;>;[TT;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime
cache
methods
arg0
arg1
arg2
arg3
public static <T extends org.jruby.javasupport.JavaCallable> T matchingCallableArityN(org.jruby.Ruby, org.jruby.java.invokers.RubyToJavaInvoker<T>, T[], org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:([Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 4
start local 4 1: aload 1
iload 4
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.getSignature:(I)Lorg/jruby/javasupport/JavaCallable;
astore 5
start local 5 2: aload 5
ifnonnull 5
3: aload 0
aload 2
aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
checkcast org.jruby.javasupport.JavaCallable
astore 5
4: aload 5
ifnull 5
aload 1
iload 4
aload 5
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.putSignature:(ILorg/jruby/javasupport/JavaCallable;)V
5: StackMap locals: int org.jruby.javasupport.JavaCallable
StackMap stack:
aload 5
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 invoker Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 6 2 methods [Lorg/jruby/javasupport/JavaCallable;
0 6 3 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 6 4 signatureCode I
2 6 5 method TT;
Signature: <T:Lorg/jruby/javasupport/JavaCallable;>(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;[TT;[Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime
invoker
methods
args
public static <T extends org.jruby.javasupport.JavaCallable> T matchingCallableArityZero(org.jruby.Ruby, org.jruby.java.invokers.RubyToJavaInvoker<T>, );
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_0
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.getSignature:(I)Lorg/jruby/javasupport/JavaCallable;
astore 3
start local 3 1: aload 3
ifnonnull 4
2: aload 0
aload 2
iconst_0
anewarray org.jruby.runtime.builtin.IRubyObject
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
checkcast org.jruby.javasupport.JavaCallable
astore 3
3: aload 3
ifnull 4
aload 1
iconst_0
aload 3
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.putSignature:(ILorg/jruby/javasupport/JavaCallable;)V
4: StackMap locals: org.jruby.javasupport.JavaCallable
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 runtime Lorg/jruby/Ruby;
0 5 1 invoker Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 5 2 methods [Lorg/jruby/javasupport/JavaCallable;
1 5 3 method TT;
Signature: <T:Lorg/jruby/javasupport/JavaCallable;>(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;[TT;)TT;
MethodParameters:
Name Flags
runtime
invoker
methods
public static <T extends org.jruby.javasupport.JavaCallable> T matchingCallableArityOne(org.jruby.Ruby, org.jruby.java.invokers.RubyToJavaInvoker<T>, T[], org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 4
start local 4 1: aload 1
iload 4
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.getSignature:(I)Lorg/jruby/javasupport/JavaCallable;
astore 5
start local 5 2: aload 5
ifnonnull 5
3: aload 0
aload 2
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
checkcast org.jruby.javasupport.JavaCallable
astore 5
4: aload 5
ifnull 5
aload 1
iload 4
aload 5
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.putSignature:(ILorg/jruby/javasupport/JavaCallable;)V
5: StackMap locals: int org.jruby.javasupport.JavaCallable
StackMap stack:
aload 5
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 invoker Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 6 2 methods [Lorg/jruby/javasupport/JavaCallable;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 4 signatureCode I
2 6 5 method TT;
Signature: <T:Lorg/jruby/javasupport/JavaCallable;>(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;[TT;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime
invoker
methods
arg0
public static <T extends org.jruby.javasupport.JavaCallable> T matchingCallableArityTwo(org.jruby.Ruby, org.jruby.java.invokers.RubyToJavaInvoker<T>, T[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
aload 4
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 5
start local 5 1: aload 1
iload 5
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.getSignature:(I)Lorg/jruby/javasupport/JavaCallable;
astore 6
start local 6 2: aload 6
ifnonnull 5
3: aload 0
aload 2
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
checkcast org.jruby.javasupport.JavaCallable
astore 6
4: aload 6
ifnull 5
aload 1
iload 5
aload 6
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.putSignature:(ILorg/jruby/javasupport/JavaCallable;)V
5: StackMap locals: int org.jruby.javasupport.JavaCallable
StackMap stack:
aload 6
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 invoker Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 6 2 methods [Lorg/jruby/javasupport/JavaCallable;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 5 signatureCode I
2 6 6 method TT;
Signature: <T:Lorg/jruby/javasupport/JavaCallable;>(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;[TT;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime
invoker
methods
arg0
arg1
public static <T extends org.jruby.javasupport.JavaCallable> T matchingCallableArityThree(org.jruby.Ruby, org.jruby.java.invokers.RubyToJavaInvoker<T>, T[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
aload 4
aload 5
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 6
start local 6 1: aload 1
iload 6
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.getSignature:(I)Lorg/jruby/javasupport/JavaCallable;
astore 7
start local 7 2: aload 7
ifnonnull 5
3: aload 0
aload 2
iconst_3
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
checkcast org.jruby.javasupport.JavaCallable
astore 7
4: aload 7
ifnull 5
aload 1
iload 6
aload 7
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.putSignature:(ILorg/jruby/javasupport/JavaCallable;)V
5: StackMap locals: int org.jruby.javasupport.JavaCallable
StackMap stack:
aload 7
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 runtime Lorg/jruby/Ruby;
0 6 1 invoker Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 6 2 methods [Lorg/jruby/javasupport/JavaCallable;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 5 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 6 signatureCode I
2 6 7 method TT;
Signature: <T:Lorg/jruby/javasupport/JavaCallable;>(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;[TT;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime
invoker
methods
arg0
arg1
arg2
public static <T extends org.jruby.javasupport.JavaCallable> T matchingCallableArityFour(org.jruby.Ruby, org.jruby.java.invokers.RubyToJavaInvoker<T>, T[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 3
aload 4
aload 5
aload 6
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 7
start local 7 1: aload 1
iload 7
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.getSignature:(I)Lorg/jruby/javasupport/JavaCallable;
astore 8
start local 8 2: aload 8
ifnonnull 5
3: aload 0
aload 2
iconst_4
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
dup
iconst_3
aload 6
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
checkcast org.jruby.javasupport.JavaCallable
astore 8
4: aload 8
ifnull 5
aload 1
iload 7
aload 8
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.putSignature:(ILorg/jruby/javasupport/JavaCallable;)V
5: StackMap locals: int org.jruby.javasupport.JavaCallable
StackMap stack:
aload 8
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 invoker Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 6 2 methods [Lorg/jruby/javasupport/JavaCallable;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 5 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 6 arg3 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 7 signatureCode I
2 6 8 method TT;
Signature: <T:Lorg/jruby/javasupport/JavaCallable;>(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;[TT;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime
invoker
methods
arg0
arg1
arg2
arg3
private static <T extends org.jruby.javasupport.ParameterTypes> T findMatchingCallableForArgs(org.jruby.Ruby, T[], org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=22, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.findCallableCandidates:([Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/util/List;
astore 4
start local 4 2: aload 4
invokeinterface java.util.List.size:()I
istore 5
start local 5 3: iload 5
ifle 103
4: iload 5
iconst_1
if_icmpne 5
aload 4
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.jruby.javasupport.ParameterTypes
astore 3
goto 103
5: StackMap locals: org.jruby.javasupport.ParameterTypes java.util.List int
StackMap stack:
aload 4
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.jruby.javasupport.ParameterTypes
astore 6
start local 6 6: aload 6
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 7
start local 7 7: iconst_0
istore 8
start local 8 8: aload 2
arraylength
ifle 9
aload 2
aload 2
arraylength
iconst_1
isub
aaload
goto 10
StackMap locals: org.jruby.javasupport.ParameterTypes java.lang.Class[] int
StackMap stack:
9: aconst_null
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
10: astore 9
start local 9 11: ldc -2147483648
istore 10
start local 10 12: aload 9
instanceof org.jruby.RubyProc
ifeq 20
13: aload 7
arraylength
iconst_1
isub
istore 13
start local 13 14: iload 13
iflt 18
aload 7
iload 13
aaload
invokevirtual java.lang.Class.isInterface:()Z
ifeq 18
15: aload 7
iload 13
aaload
invokestatic org.jruby.javasupport.Java.getFunctionalInterfaceMethod:(Ljava/lang/Class;)Ljava/lang/reflect/Method;
dup
astore 12
start local 12 16: ifnull 18
17: aload 12
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
arraylength
istore 10
end local 12 18: StackMap locals: org.jruby.Ruby org.jruby.javasupport.ParameterTypes[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.javasupport.ParameterTypes java.util.List int org.jruby.javasupport.ParameterTypes java.lang.Class[] int org.jruby.runtime.builtin.IRubyObject int top top int
StackMap stack:
aload 9
invokestatic org.jruby.java.dispatch.CallableSelector.procArityValue:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 11
end local 13 start local 11 19: goto 21
end local 11 20: StackMap locals: org.jruby.Ruby org.jruby.javasupport.ParameterTypes[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.javasupport.ParameterTypes java.util.List int org.jruby.javasupport.ParameterTypes java.lang.Class[] int org.jruby.runtime.builtin.IRubyObject int
StackMap stack:
ldc -2147483648
istore 11
start local 11 21: StackMap locals: int
StackMap stack:
iconst_1
istore 12
start local 12 22: goto 85
23: StackMap locals: int
StackMap stack:
aload 4
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.jruby.javasupport.ParameterTypes
astore 13
start local 13 24: aload 13
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 14
start local 14 25: iload 11
ldc -2147483648
if_icmpeq 26
iconst_1
goto 27
StackMap locals: org.jruby.javasupport.ParameterTypes java.lang.Class[]
StackMap stack:
26: iconst_0
StackMap locals:
StackMap stack: int
27: istore 15
start local 15 28: aload 7
aload 14
iload 15
invokestatic org.jruby.java.dispatch.CallableSelector.moreSpecificTypes:([Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/Boolean;
astore 16
start local 16 29: aload 16
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpne 32
30: aload 13
astore 6
aload 14
astore 7
31: iconst_0
istore 8
goto 84
32: StackMap locals: int java.lang.Boolean
StackMap stack:
iconst_0
istore 17
start local 17 33: goto 42
34: StackMap locals: int
StackMap stack:
aload 7
iload 17
aaload
astore 18
start local 18 35: aload 14
iload 17
aaload
astore 19
start local 19 36: aload 18
aload 19
if_acmpeq 37
aload 18
aload 19
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 37
aload 19
aload 18
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 38
37: StackMap locals: java.lang.Class java.lang.Class
StackMap stack:
iconst_0
istore 8
goto 43
38: StackMap locals:
StackMap stack:
aload 19
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 40
aload 18
aload 19
invokestatic org.jruby.util.CodegenUtils.getBoxType:(Ljava/lang/Class;)Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 40
39: iconst_0
istore 8
goto 43
40: StackMap locals:
StackMap stack:
iconst_1
istore 8
end local 19 end local 18 41: iinc 17 1
StackMap locals:
StackMap stack:
42: iload 17
aload 7
arraylength
if_icmplt 34
end local 17 43: StackMap locals:
StackMap stack:
iload 15
ifeq 72
44: aload 14
arraylength
iconst_1
isub
istore 18
start local 18 45: iload 18
iflt 72
aload 14
iload 18
aaload
invokevirtual java.lang.Class.isInterface:()Z
ifeq 72
aload 14
iload 18
aaload
invokestatic org.jruby.javasupport.Java.getFunctionalInterfaceMethod:(Ljava/lang/Class;)Ljava/lang/reflect/Method;
dup
astore 17
start local 17 46: ifnull 72
47: aload 17
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
arraylength
istore 19
start local 19 48: iload 19
iload 11
if_icmpne 53
49: iload 10
iload 19
if_icmpne 50
iconst_1
istore 8
goto 84
50: StackMap locals: java.lang.reflect.Method int int
StackMap stack:
aload 13
astore 6
aload 14
astore 7
51: iload 11
istore 10
iconst_0
istore 8
52: goto 84
53: StackMap locals:
StackMap stack:
iload 10
iload 11
if_icmpeq 71
54: iload 19
iload 11
if_icmpge 60
55: iload 10
iload 19
if_icmpne 56
iconst_1
istore 8
goto 84
56: StackMap locals:
StackMap stack:
iload 10
iload 19
if_icmpge 84
57: aload 13
astore 6
aload 14
astore 7
58: iload 19
istore 10
iconst_0
istore 8
59: goto 84
60: StackMap locals:
StackMap stack:
iload 11
ifge 72
iload 19
iload 11
iconst_1
iadd
ineg
if_icmplt 72
61: iload 10
iload 19
if_icmpne 62
iconst_1
istore 8
goto 84
62: StackMap locals:
StackMap stack:
iload 10
iload 11
iadd
istore 20
start local 20 63: iload 19
iload 11
iadd
istore 21
start local 21 64: iload 20
ifge 65
iload 21
ifge 65
iload 20
iload 21
if_icmplt 67
65: StackMap locals: int int
StackMap stack:
iload 20
iflt 66
iload 21
iflt 66
iload 20
iload 21
if_icmpgt 67
66: StackMap locals:
StackMap stack:
iload 20
iload 21
if_icmple 69
67: StackMap locals:
StackMap stack:
aload 13
astore 6
aload 14
astore 7
68: iload 19
istore 10
69: StackMap locals:
StackMap stack:
iconst_0
istore 8
end local 21 end local 20 70: goto 84
71: StackMap locals:
StackMap stack:
iconst_0
istore 8
end local 19 end local 18 end local 17 72: StackMap locals:
StackMap stack:
iload 8
ifeq 84
73: iconst_0
istore 17
start local 17 74: iconst_0
istore 18
start local 18 75: iconst_0
istore 19
start local 19 76: goto 82
77: StackMap locals: int int int
StackMap stack:
aload 7
iload 19
aaload
astore 20
start local 20 78: aload 14
iload 19
aaload
astore 21
start local 21 79: iload 17
aload 20
aload 2
iload 19
aaload
invokestatic org.jruby.java.dispatch.CallableSelector.calcTypePreference:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)I
iadd
istore 17
80: iload 18
aload 21
aload 2
iload 19
aaload
invokestatic org.jruby.java.dispatch.CallableSelector.calcTypePreference:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)I
iadd
istore 18
end local 21 end local 20 81: iinc 19 1
StackMap locals:
StackMap stack:
82: iload 19
aload 7
arraylength
if_icmplt 77
end local 19 83: iload 17
iload 18
if_icmple 84
iconst_0
istore 8
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 84: StackMap locals: org.jruby.Ruby org.jruby.javasupport.ParameterTypes[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.javasupport.ParameterTypes java.util.List int org.jruby.javasupport.ParameterTypes java.lang.Class[] int org.jruby.runtime.builtin.IRubyObject int int int
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
85: iload 12
iload 5
if_icmplt 23
end local 12 86: aload 6
astore 3
87: iload 8
ifeq 103
88: getstatic org.jruby.util.cli.Options.JI_AMBIGUOUS_CALLS_DEBUG:Lcom/headius/options/Option;
invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 97
89: aload 0
90: new java.lang.StringBuilder
dup
ldc "multiple Java methods found, dumping backtrace and choosing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
91: aload 3
checkcast org.jruby.javasupport.JavaCallable
invokevirtual org.jruby.javasupport.JavaCallable.accessibleObject:()Ljava/lang/reflect/AccessibleObject;
checkcast java.lang.reflect.Member
invokeinterface java.lang.reflect.Member.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
92: aload 7
invokestatic org.jruby.util.CodegenUtils.prettyParams:([Ljava/lang/Class;)Ljava/lang/CharSequence;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
93: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
94: invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
95: aload 0
invokevirtual org.jruby.Ruby.getErr:()Ljava/io/PrintStream;
invokevirtual org.jruby.exceptions.RaiseException.printStackTrace:(Ljava/io/PrintStream;)V
96: goto 103
97: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
98: new java.lang.StringBuilder
dup
ldc "multiple Java methods found, use -X"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.jruby.util.cli.Options.JI_AMBIGUOUS_CALLS_DEBUG:Lcom/headius/options/Option;
invokevirtual com.headius.options.Option.propertyName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for backtrace. Choosing "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
99: aload 3
checkcast org.jruby.javasupport.JavaCallable
invokevirtual org.jruby.javasupport.JavaCallable.accessibleObject:()Ljava/lang/reflect/AccessibleObject;
checkcast java.lang.reflect.Member
invokeinterface java.lang.reflect.Member.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
100: aload 7
invokestatic org.jruby.util.CodegenUtils.prettyParams:([Ljava/lang/Class;)Ljava/lang/CharSequence;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
101: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
102: invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 103: StackMap locals: org.jruby.Ruby org.jruby.javasupport.ParameterTypes[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.javasupport.ParameterTypes java.util.List int
StackMap stack:
aload 3
ifnonnull 105
104: aload 0
aload 1
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgsFallback:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 3
105: StackMap locals:
StackMap stack:
aload 3
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 106 0 runtime Lorg/jruby/Ruby;
0 106 1 methods [Lorg/jruby/javasupport/ParameterTypes;
0 106 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 106 3 method TT;
2 106 4 candidates Ljava/util/List<TT;>;
3 106 5 size I
6 103 6 mostSpecific TT;
7 103 7 msTypes [Ljava/lang/Class;
8 103 8 ambiguous Z
11 103 9 lastArg Lorg/jruby/runtime/builtin/IRubyObject;
12 103 10 mostSpecificArity I
19 20 11 procArity I
21 103 11 procArity I
16 18 12 implMethod Ljava/lang/reflect/Method;
14 19 13 last I
22 86 12 c I
24 84 13 candidate TT;
25 84 14 cTypes [Ljava/lang/Class;
28 84 15 lastArgProc Z
29 84 16 moreSpecific Ljava/lang/Boolean;
33 43 17 i I
35 41 18 msType Ljava/lang/Class<*>;
36 41 19 cType Ljava/lang/Class<*>;
46 72 17 implMethod Ljava/lang/reflect/Method;
45 72 18 last I
48 72 19 methodArity I
63 70 20 msa I
64 70 21 ma I
74 84 17 msPref I
75 84 18 cPref I
76 83 19 i I
78 81 20 msType Ljava/lang/Class<*>;
79 81 21 cType Ljava/lang/Class<*>;
Signature: <T::Lorg/jruby/javasupport/ParameterTypes;>(Lorg/jruby/Ruby;[TT;[Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime final
methods final
args final
private static java.lang.Boolean moreSpecificTypes(java.lang.Class[], java.lang.Class[], boolean);
descriptor: ([Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/Boolean;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iconst_1
isub
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iconst_0
istore 7
start local 7 3: goto 13
4: StackMap locals: java.lang.Class[] java.lang.Class[] int int int top top int
StackMap stack:
aload 0
iload 7
aaload
astore 5
start local 5 5: aload 1
iload 7
aaload
astore 6
start local 6 6: aload 5
aload 6
if_acmpne 7
goto 12
7: StackMap locals: java.lang.Class[] java.lang.Class[] int int int java.lang.Class java.lang.Class int
StackMap stack:
aload 5
aload 6
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 10
8: iinc 4 1
9: goto 12
10: StackMap locals:
StackMap stack:
aload 6
aload 5
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 12
11: iinc 4 -1
12: StackMap locals:
StackMap stack:
iinc 7 1
end local 6 end local 5 StackMap locals: java.lang.Class[] java.lang.Class[] int int int top top int
StackMap stack:
13: iload 7
iload 3
if_icmplt 4
end local 7 14: iload 3
iflt 28
15: aload 0
iload 3
aaload
astore 5
start local 5 16: aload 1
iload 3
aaload
astore 6
start local 6 17: iload 2
ifeq 22
18: aload 6
ldc Lorg/jruby/RubyProc;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 21
19: aload 5
ldc Lorg/jruby/RubyProc;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 28
iinc 4 1
20: goto 28
21: StackMap locals: java.lang.Class[] java.lang.Class[] int int int java.lang.Class java.lang.Class
StackMap stack:
aconst_null
areturn
22: StackMap locals:
StackMap stack:
aload 5
aload 6
if_acmpne 23
goto 28
23: StackMap locals:
StackMap stack:
aload 5
aload 6
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 26
24: iinc 4 1
25: goto 28
26: StackMap locals:
StackMap stack:
aload 6
aload 5
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 28
27: iinc 4 -1
end local 6 end local 5 28: StackMap locals:
StackMap stack:
iload 4
ifle 29
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
goto 30
StackMap locals:
StackMap stack:
29: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
StackMap locals:
StackMap stack: java.lang.Boolean
30: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 msTypes [Ljava/lang/Class;
0 31 1 cTypes [Ljava/lang/Class;
0 31 2 lastArgProc Z
1 31 3 last I
2 31 4 moreSpecific I
5 13 5 msType Ljava/lang/Class<*>;
16 28 5 msType Ljava/lang/Class<*>;
6 13 6 cType Ljava/lang/Class<*>;
17 28 6 cType Ljava/lang/Class<*>;
3 14 7 i I
MethodParameters:
Name Flags
msTypes final
cTypes final
lastArgProc final
private static <T extends org.jruby.javasupport.ParameterTypes> T findMatchingCallableForArgsFallback(org.jruby.Ruby, T[], org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic org.jruby.java.dispatch.CallableSelector.Exact:Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.findCallable:([Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 3
start local 3 1: aload 3
ifnonnull 9
2: aload 1
getstatic org.jruby.java.dispatch.CallableSelector.AssignableAndPrimitivable:Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.findCallable:([Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 3
3: aload 3
ifnonnull 9
4: aload 1
getstatic org.jruby.java.dispatch.CallableSelector.AssignableOrDuckable:Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.findCallable:([Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 3
5: aload 3
ifnonnull 9
6: aload 1
getstatic org.jruby.java.dispatch.CallableSelector.AssignableOrDuckable:Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.findCallable:([Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 3
7: aload 3
ifnonnull 9
8: aload 1
getstatic org.jruby.java.dispatch.CallableSelector.AssignableAndPrimitivableWithVarargs:Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.findCallable:([Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 3
9: StackMap locals: org.jruby.javasupport.ParameterTypes
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 runtime Lorg/jruby/Ruby;
0 10 1 methods [Lorg/jruby/javasupport/ParameterTypes;
0 10 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 10 3 method TT;
Signature: <T::Lorg/jruby/javasupport/ParameterTypes;>(Lorg/jruby/Ruby;[TT;[Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
runtime final
methods final
args final
private static <T extends org.jruby.javasupport.ParameterTypes> T findCallable(T[], org.jruby.java.dispatch.CallableSelector$CallableAcceptor, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: ([Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: iconst_m1
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 10
4: StackMap locals: org.jruby.javasupport.ParameterTypes int int
StackMap stack:
aload 0
iload 5
aaload
astore 6
start local 6 5: aload 1
aload 6
aload 2
invokeinterface org.jruby.java.dispatch.CallableSelector$CallableAcceptor.accept:(Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 9
6: aload 6
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.calcExactnessScore:(Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 7
start local 7 7: iload 7
iload 4
if_icmple 9
8: aload 6
astore 3
iload 7
istore 4
end local 7 end local 6 9: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
aload 0
arraylength
if_icmplt 4
end local 5 11: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 callables [Lorg/jruby/javasupport/ParameterTypes;
0 12 1 acceptor Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;
0 12 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 12 3 bestCallable TT;
2 12 4 bestScore I
3 11 5 i I
5 9 6 callable TT;
7 9 7 currentScore I
Signature: <T::Lorg/jruby/javasupport/ParameterTypes;>([TT;Lorg/jruby/java/dispatch/CallableSelector$CallableAcceptor;[Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
callables
acceptor
args
private static <T extends org.jruby.javasupport.ParameterTypes> java.util.List<T> findCallableCandidates(T[], org.jruby.runtime.builtin.IRubyObject[]);
descriptor: ([Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
aaload
astore 3
start local 3 3: aload 3
aload 1
invokestatic org.jruby.java.dispatch.CallableSelector.exactMatch:(Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 4
aload 3
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
end local 3 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 2
end local 2 6: new java.util.ArrayList
dup
aload 0
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 7: aload 0
invokevirtual org.jruby.javasupport.ParameterTypes[].clone:()Ljava/lang/Object;
checkcast org.jruby.javasupport.ParameterTypes[]
astore 3
start local 3 8: iconst_0
istore 4
start local 4 9: goto 43
10: StackMap locals: org.jruby.javasupport.ParameterTypes[] org.jruby.runtime.builtin.IRubyObject[] java.util.ArrayList org.jruby.javasupport.ParameterTypes[] int
StackMap stack:
aload 2
invokevirtual java.util.ArrayList.clear:()V
11: iconst_0
istore 5
start local 5 12: goto 20
13: StackMap locals: int
StackMap stack:
aload 3
iload 5
aaload
astore 6
start local 6 14: aload 6
ifnonnull 15
goto 19
15: StackMap locals: org.jruby.javasupport.ParameterTypes
StackMap stack:
aload 6
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 7
start local 7 16: getstatic org.jruby.java.dispatch.CallableSelector.PRIMITIVABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 7
iload 4
aaload
aload 1
iload 4
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 19
17: aload 2
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
18: aload 3
iload 5
aconst_null
aastore
end local 7 end local 6 19: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
20: iload 5
aload 3
arraylength
if_icmplt 13
end local 5 21: iconst_0
istore 5
start local 5 22: goto 30
23: StackMap locals:
StackMap stack:
aload 3
iload 5
aaload
astore 6
start local 6 24: aload 6
ifnonnull 25
goto 29
25: StackMap locals: org.jruby.javasupport.ParameterTypes
StackMap stack:
aload 6
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 7
start local 7 26: getstatic org.jruby.java.dispatch.CallableSelector.ASSIGNABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 7
iload 4
aaload
aload 1
iload 4
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 29
27: aload 2
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
28: aload 3
iload 5
aconst_null
aastore
end local 7 end local 6 29: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
aload 3
arraylength
if_icmplt 23
end local 5 31: aload 2
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 41
32: iconst_0
istore 5
start local 5 33: goto 40
34: StackMap locals:
StackMap stack:
aload 3
iload 5
aaload
astore 6
start local 6 35: aload 6
ifnonnull 36
goto 39
36: StackMap locals: org.jruby.javasupport.ParameterTypes
StackMap stack:
aload 6
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 7
start local 7 37: getstatic org.jruby.java.dispatch.CallableSelector.DUCKABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 7
iload 4
aaload
aload 1
iload 4
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 39
38: aload 2
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 39: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
40: iload 5
aload 3
arraylength
if_icmplt 34
end local 5 41: StackMap locals:
StackMap stack:
aload 2
aload 2
invokevirtual java.util.ArrayList.size:()I
anewarray org.jruby.javasupport.ParameterTypes
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.jruby.javasupport.ParameterTypes[]
astore 3
42: iinc 4 1
StackMap locals:
StackMap stack:
43: iload 4
aload 1
arraylength
if_icmplt 10
end local 4 44: iconst_0
istore 4
start local 4 45: iconst_0
istore 5
start local 5 46: goto 53
47: StackMap locals: int
StackMap stack:
aload 2
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.jruby.javasupport.ParameterTypes
astore 6
start local 6 48: aload 6
invokeinterface org.jruby.javasupport.ParameterTypes.isVarArgs:()Z
ifeq 50
49: aload 6
invokeinterface org.jruby.javasupport.ParameterTypes.getArity:()I
aload 1
arraylength
iconst_1
isub
if_icmple 51
goto 52
50: StackMap locals: org.jruby.javasupport.ParameterTypes
StackMap stack:
aload 6
invokeinterface org.jruby.javasupport.ParameterTypes.getArity:()I
aload 1
arraylength
if_icmpeq 51
goto 52
51: StackMap locals:
StackMap stack:
aload 2
iload 4
iinc 4 1
aload 6
invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 6 52: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
53: iload 5
aload 2
invokevirtual java.util.ArrayList.size:()I
if_icmplt 47
end local 5 54: iload 4
aload 2
invokevirtual java.util.ArrayList.size:()I
if_icmpge 55
aload 2
iconst_0
iload 4
invokevirtual java.util.ArrayList.subList:(II)Ljava/util/List;
goto 56
StackMap locals:
StackMap stack:
55: aload 2
StackMap locals:
StackMap stack: java.util.List
56: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 callables [Lorg/jruby/javasupport/ParameterTypes;
0 57 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 6 2 c I
3 4 3 callable TT;
7 57 2 retained Ljava/util/ArrayList<TT;>;
8 57 3 incoming [Lorg/jruby/javasupport/ParameterTypes;
9 44 4 i I
12 21 5 c I
14 19 6 callable Lorg/jruby/javasupport/ParameterTypes;
16 19 7 types [Ljava/lang/Class;
22 31 5 c I
24 29 6 callable Lorg/jruby/javasupport/ParameterTypes;
26 29 7 types [Ljava/lang/Class;
33 41 5 c I
35 39 6 callable Lorg/jruby/javasupport/ParameterTypes;
37 39 7 types [Ljava/lang/Class;
45 57 4 j I
46 54 5 i I
48 52 6 callable TT;
Signature: <T::Lorg/jruby/javasupport/ParameterTypes;>([TT;[Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
callables final
args final
private static int calcExactnessScore(org.jruby.javasupport.ParameterTypes, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 0
invokeinterface org.jruby.javasupport.ParameterTypes.isVarArgs:()Z
ifeq 11
3: aload 2
arraylength
iconst_1
isub
istore 4
start local 4 4: iinc 3 1
5: iconst_0
istore 5
start local 5 6: goto 9
7: StackMap locals: org.jruby.javasupport.ParameterTypes org.jruby.runtime.builtin.IRubyObject[] java.lang.Class[] int int int
StackMap stack:
aload 2
iload 5
aaload
aload 1
iload 5
aaload
invokestatic org.jruby.java.dispatch.CallableSelector.getJavaClass:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Class;
if_acmpne 8
iinc 3 1
8: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 4
if_icmpge 16
iload 5
aload 1
arraylength
if_icmplt 7
end local 5 end local 4 10: goto 16
11: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 12: goto 15
13: StackMap locals: int
StackMap stack:
aload 2
iload 4
aaload
aload 1
iload 4
aaload
invokestatic org.jruby.java.dispatch.CallableSelector.getJavaClass:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Class;
if_acmpne 14
iinc 3 1
14: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
aload 1
arraylength
if_icmplt 13
end local 4 16: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 callable Lorg/jruby/javasupport/ParameterTypes;
0 17 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 17 2 types [Ljava/lang/Class;
2 17 3 count I
4 10 4 nonVarargs I
6 10 5 i I
12 16 4 i I
MethodParameters:
Name Flags
callable final
args final
private static boolean exactMatch(org.jruby.javasupport.ParameterTypes, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 2
start local 2 1: aload 1
arraylength
aload 2
arraylength
if_icmpeq 2
iconst_0
ireturn
2: StackMap locals: java.lang.Class[]
StackMap stack:
iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: int
StackMap stack:
getstatic org.jruby.java.dispatch.CallableSelector.EXACT:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 2
iload 3
aaload
aload 1
iload 3
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 8: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 paramTypes Lorg/jruby/javasupport/ParameterTypes;
0 9 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 9 2 types [Ljava/lang/Class;
3 8 3 i I
MethodParameters:
Name Flags
paramTypes
args
private static boolean assignableAndPrimitivable(org.jruby.javasupport.ParameterTypes, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 2
start local 2 1: aload 1
arraylength
aload 2
arraylength
if_icmpeq 2
iconst_0
ireturn
2: StackMap locals: java.lang.Class[]
StackMap stack:
iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: int
StackMap stack:
getstatic org.jruby.java.dispatch.CallableSelector.ASSIGNABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 2
iload 3
aaload
aload 1
iload 3
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 5
getstatic org.jruby.java.dispatch.CallableSelector.PRIMITIVABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 2
iload 3
aaload
aload 1
iload 3
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 6
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 8: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 paramTypes Lorg/jruby/javasupport/ParameterTypes;
0 9 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 9 2 types [Ljava/lang/Class;
3 8 3 i I
MethodParameters:
Name Flags
paramTypes
args
private static boolean assignableOrDuckable(org.jruby.javasupport.ParameterTypes, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 2
start local 2 1: aload 1
arraylength
aload 2
arraylength
if_icmpeq 2
iconst_0
ireturn
2: StackMap locals: java.lang.Class[]
StackMap stack:
iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: int
StackMap stack:
getstatic org.jruby.java.dispatch.CallableSelector.ASSIGNABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 2
iload 3
aaload
aload 1
iload 3
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 6
getstatic org.jruby.java.dispatch.CallableSelector.DUCKABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 2
iload 3
aaload
aload 1
iload 3
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 8: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 paramTypes Lorg/jruby/javasupport/ParameterTypes;
0 9 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 9 2 types [Ljava/lang/Class;
3 8 3 i I
MethodParameters:
Name Flags
paramTypes
args
private static boolean assignableAndPrimitivableWithVarargs(org.jruby.javasupport.ParameterTypes, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.javasupport.ParameterTypes.isVarArgs:()Z
ifne 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 2
start local 2 2: aload 1
arraylength
ifne 4
aload 2
arraylength
iconst_1
if_icmpgt 3
iconst_1
ireturn
StackMap locals: java.lang.Class[]
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 2
arraylength
iconst_1
isub
istore 3
start local 3 5: aload 1
arraylength
iload 3
if_icmpge 6
iconst_0
ireturn
6: StackMap locals: int
StackMap stack:
iconst_0
istore 4
start local 4 7: goto 11
8: StackMap locals: int
StackMap stack:
getstatic org.jruby.java.dispatch.CallableSelector.ASSIGNABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 2
iload 4
aaload
aload 1
iload 4
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 10
getstatic org.jruby.java.dispatch.CallableSelector.PRIMITIVABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 2
iload 4
aaload
aload 1
iload 4
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 10
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 3
if_icmplt 8
end local 4 12: aload 2
iload 3
aaload
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 4
start local 4 13: iload 3
istore 5
start local 5 14: goto 18
15: StackMap locals: org.jruby.javasupport.ParameterTypes org.jruby.runtime.builtin.IRubyObject[] java.lang.Class[] int java.lang.Class int
StackMap stack:
getstatic org.jruby.java.dispatch.CallableSelector.ASSIGNABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 4
aload 1
iload 5
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 17
getstatic org.jruby.java.dispatch.CallableSelector.PRIMITIVABLE:Lorg/jruby/java/dispatch/CallableSelector$Matcher;
aload 4
aload 1
iload 5
aaload
invokeinterface org.jruby.java.dispatch.CallableSelector$Matcher.match:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 17
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
aload 1
arraylength
if_icmplt 15
end local 5 19: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 paramTypes Lorg/jruby/javasupport/ParameterTypes;
0 20 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
2 20 2 types [Ljava/lang/Class;
5 20 3 last I
7 12 4 i I
13 20 4 varArgType Ljava/lang/Class;
14 19 5 i I
MethodParameters:
Name Flags
paramTypes
args
private static boolean assignable(java.lang.Class<?>, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.java.dispatch.CallableSelector.getJavaClass:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Class;
invokestatic org.jruby.javasupport.JavaClass.assignable:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 3
1: aload 1
ifnull 2
aload 0
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 type Ljava/lang/Class<*>;
0 4 1 arg Lorg/jruby/runtime/builtin/IRubyObject;
Signature: (Ljava/lang/Class<*>;Lorg/jruby/runtime/builtin/IRubyObject;)Z
MethodParameters:
Name Flags
type
arg final
private static boolean primitivable(java.lang.Class<?>, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.jruby.java.dispatch.CallableSelector.getJavaClass:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Class;
astore 2
start local 2 1: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 27
2: aload 0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpeq 3
aload 0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpeq 3
aload 0
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpeq 3
aload 0
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 15
3: StackMap locals: java.lang.Class
StackMap stack:
aload 2
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpeq 14
4: aload 2
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpeq 14
5: aload 2
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpeq 14
6: aload 2
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpeq 14
7: aload 2
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpeq 14
8: aload 2
ldc Ljava/lang/Long;
if_acmpeq 14
9: aload 2
ldc Ljava/lang/Byte;
if_acmpeq 14
10: aload 2
ldc Ljava/lang/Short;
if_acmpeq 14
11: aload 2
ldc Ljava/lang/Character;
if_acmpeq 14
12: aload 2
ldc Ljava/lang/Integer;
if_acmpeq 14
13: iconst_0
ireturn
StackMap locals:
StackMap stack:
14: iconst_1
ireturn
15: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpeq 16
aload 0
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 22
16: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpeq 21
17: aload 2
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpeq 21
18: aload 2
ldc Ljava/lang/Float;
if_acmpeq 21
19: aload 2
ldc Ljava/lang/Double;
if_acmpeq 21
20: iconst_0
ireturn
StackMap locals:
StackMap stack:
21: iconst_1
ireturn
22: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 27
23: aload 2
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpeq 26
24: aload 2
ldc Ljava/lang/Boolean;
if_acmpeq 26
25: iconst_0
ireturn
StackMap locals:
StackMap stack:
26: iconst_1
ireturn
27: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 type Ljava/lang/Class<*>;
0 28 1 arg Lorg/jruby/runtime/builtin/IRubyObject;
1 28 2 argClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Lorg/jruby/runtime/builtin/IRubyObject;)Z
MethodParameters:
Name Flags
type final
arg final
private static int calcTypePreference(java.lang.Class<?>, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
istore 2
start local 2 1: iload 2
ifeq 2
aload 0
invokestatic org.jruby.util.CodegenUtils.getBoxType:(Ljava/lang/Class;)Ljava/lang/Class;
astore 0
2: StackMap locals: int
StackMap stack:
ldc Ljava/lang/Number;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 3
ldc Ljava/lang/Character;
aload 0
if_acmpne 32
3: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.RubyFixnum
ifeq 12
4: aload 0
ldc Ljava/lang/Long;
if_acmpne 5
bipush 10
ireturn
5: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Integer;
if_acmpne 6
bipush 8
ireturn
6: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/math/BigInteger;
if_acmpne 7
bipush 7
ireturn
7: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Short;
if_acmpne 8
bipush 6
ireturn
8: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Byte;
if_acmpne 9
iconst_4
ireturn
9: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Float;
if_acmpne 10
iconst_3
ireturn
10: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Double;
if_acmpne 11
iconst_2
ireturn
11: StackMap locals:
StackMap stack:
iconst_1
ireturn
12: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.RubyBignum
ifeq 18
13: aload 0
ldc Ljava/math/BigInteger;
if_acmpne 14
bipush 10
ireturn
14: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Long;
if_acmpne 15
iconst_4
ireturn
15: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Double;
if_acmpne 16
bipush 6
ireturn
16: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Float;
if_acmpne 17
iconst_5
ireturn
17: StackMap locals:
StackMap stack:
iconst_1
ireturn
18: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.RubyInteger
ifeq 24
19: aload 0
ldc Ljava/lang/Long;
if_acmpne 20
bipush 10
ireturn
20: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Integer;
if_acmpne 21
bipush 8
ireturn
21: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Float;
if_acmpne 22
iconst_3
ireturn
22: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Double;
if_acmpne 23
iconst_2
ireturn
23: StackMap locals:
StackMap stack:
iconst_1
ireturn
24: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.RubyFloat
ifeq 39
25: aload 0
ldc Ljava/lang/Double;
if_acmpne 26
bipush 10
ireturn
26: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Float;
if_acmpne 27
bipush 8
ireturn
27: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/math/BigDecimal;
if_acmpne 28
bipush 6
ireturn
28: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Long;
if_acmpne 29
iconst_4
ireturn
29: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Integer;
if_acmpne 30
iconst_3
ireturn
30: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Short;
if_acmpne 31
iconst_2
ireturn
31: StackMap locals:
StackMap stack:
iconst_1
ireturn
32: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.RubyString
ifeq 37
33: aload 0
ldc Ljava/lang/String;
if_acmpne 34
bipush 10
ireturn
34: StackMap locals:
StackMap stack:
aload 0
ldc [B
if_acmpne 35
bipush 8
ireturn
35: StackMap locals:
StackMap stack:
ldc Ljava/lang/CharSequence;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 36
bipush 7
ireturn
36: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Character;
if_acmpne 39
iconst_1
ireturn
37: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.RubyBoolean
ifeq 39
38: aload 0
ldc Ljava/lang/Boolean;
if_acmpne 39
bipush 10
ireturn
39: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 type Ljava/lang/Class<*>;
0 40 1 arg Lorg/jruby/runtime/builtin/IRubyObject;
1 40 2 primitive Z
Signature: (Ljava/lang/Class<*>;Lorg/jruby/runtime/builtin/IRubyObject;)I
MethodParameters:
Name Flags
type
arg final
private static boolean duckable(java.lang.Class<?>, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.jruby.java.dispatch.CallableSelector.getJavaClass:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Class;
aload 0
invokestatic org.jruby.javasupport.JavaUtil.isDuckTypeConvertable:(Ljava/lang/Class;Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/Class<*>;
0 1 1 arg Lorg/jruby/runtime/builtin/IRubyObject;
Signature: (Ljava/lang/Class<*>;Lorg/jruby/runtime/builtin/IRubyObject;)Z
MethodParameters:
Name Flags
type final
arg final
private static int argsHashCode(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush 31
aload 0
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassOrProcHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a0 Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
a0
private static int argsHashCode(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: bipush 17
bipush 31
aload 0
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
iadd
imul
1: aload 1
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassOrProcHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
2: iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a0 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 1 a1 Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
a0
a1
private static int argsHashCode(org.jruby.runtime.builtin.IRubyObject, 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;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: bipush 17
bipush 17
bipush 31
aload 0
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
iadd
imul
aload 1
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
iadd
imul
1: aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassOrProcHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
2: iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a0 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 1 a1 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 a2 Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
a0
a1
a2
private static int argsHashCode(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, 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;Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: bipush 17
bipush 17
bipush 17
bipush 31
aload 0
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
iadd
imul
aload 1
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
iadd
imul
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
iadd
imul
1: aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassOrProcHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
2: iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a0 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 1 a1 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 a2 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 3 a3 Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
a0
a1
a2
a3
private static int argsHashCode(org.jruby.runtime.builtin.IRubyObject[]);
descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
isub
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 2
iconst_0
ireturn
2: StackMap locals: int
StackMap stack:
bipush 31
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 7
5: StackMap locals: int int
StackMap stack:
bipush 17
iload 2
aload 0
iload 3
aaload
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
iadd
imul
istore 2
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 1
if_icmplt 5
end local 3 8: iload 2
aload 0
iload 1
aaload
invokestatic org.jruby.java.dispatch.CallableSelector.javaClassOrProcHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 9 1 last I
3 9 2 result I
4 8 3 i I
MethodParameters:
Name Flags
args final
private static int javaClassHashCode(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getJavaClass:()Ljava/lang/Class;
invokevirtual java.lang.Object.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
arg final
private static int javaClassOrProcHashCode(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getJavaClass:()Ljava/lang/Class;
astore 1
start local 1 1: aload 1
ldc Lorg/jruby/RubyProc;
if_acmpne 2
bipush 11
aload 0
invokestatic org.jruby.java.dispatch.CallableSelector.procArityValue:(Lorg/jruby/runtime/builtin/IRubyObject;)I
imul
goto 3
StackMap locals: java.lang.Class
StackMap stack:
2: aload 1
invokevirtual java.lang.Object.hashCode:()I
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 arg Lorg/jruby/runtime/builtin/IRubyObject;
1 4 1 javaClass Ljava/lang/Class<*>;
MethodParameters:
Name Flags
arg final
private static int procArityValue(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast org.jruby.RubyProc
invokevirtual org.jruby.RubyProc.getBlock:()Lorg/jruby/runtime/Block;
invokevirtual org.jruby.runtime.Block.getSignature:()Lorg/jruby/runtime/Signature;
invokevirtual org.jruby.runtime.Signature.arityValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 proc Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
proc final
private static java.lang.Class<?> getJavaClass(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getJavaClass:()Ljava/lang/Class;
goto 2
StackMap locals:
StackMap stack:
1: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 arg Lorg/jruby/runtime/builtin/IRubyObject;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
arg final
public static <T extends org.jruby.javasupport.ParameterTypes> org.jruby.util.collections.IntHashMap<T> newCallableCache();
descriptor: ()Lorg/jruby/util/collections/IntHashMap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new org.jruby.util.collections.IntHashMap
dup
bipush 8
invokespecial org.jruby.util.collections.IntHashMap.<init>:(I)V
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <T::Lorg/jruby/javasupport/ParameterTypes;>()Lorg/jruby/util/collections/IntHashMap<TT;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static org.jruby.javasupport.ParameterTypes matchingCallableArityN(org.jruby.Ruby, java.util.Map, org.jruby.javasupport.ParameterTypes[], org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/Ruby;Ljava/util/Map;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:([Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 4
start local 4 1: aload 1
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.ParameterTypes
astore 5
start local 5 2: aload 5
ifnonnull 5
3: aload 0
aload 2
aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
astore 5
4: aload 5
ifnull 5
aload 1
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: int org.jruby.javasupport.ParameterTypes
StackMap stack:
aload 5
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 cache Ljava/util/Map;
0 6 2 methods [Lorg/jruby/javasupport/ParameterTypes;
0 6 3 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 6 4 signatureCode I
2 6 5 method Lorg/jruby/javasupport/ParameterTypes;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
runtime
cache
methods
args
public static org.jruby.javasupport.JavaCallable matchingCallableArityN(org.jruby.Ruby, java.util.Map, org.jruby.javasupport.JavaCallable[], org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/Ruby;Ljava/util/Map;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:([Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 4
start local 4 1: aload 1
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.JavaCallable
astore 5
start local 5 2: aload 5
ifnonnull 5
3: aload 0
aload 2
aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
checkcast org.jruby.javasupport.JavaCallable
astore 5
4: aload 5
ifnull 5
aload 1
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: int org.jruby.javasupport.JavaCallable
StackMap stack:
aload 5
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 cache Ljava/util/Map;
0 6 2 methods [Lorg/jruby/javasupport/JavaCallable;
0 6 3 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 6 4 signatureCode I
2 6 5 method Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
runtime
cache
methods
args
public static org.jruby.javasupport.JavaCallable matchingCallableArityOne(org.jruby.Ruby, java.util.Map, org.jruby.javasupport.JavaCallable[], org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Ljava/util/Map;[Lorg/jruby/javasupport/JavaCallable;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 4
start local 4 1: aload 1
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.JavaCallable
astore 5
start local 5 2: aload 5
ifnonnull 5
3: aload 0
aload 2
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
checkcast org.jruby.javasupport.JavaCallable
astore 5
4: aload 5
ifnull 5
aload 1
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: int org.jruby.javasupport.JavaCallable
StackMap stack:
aload 5
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 cache Ljava/util/Map;
0 6 2 methods [Lorg/jruby/javasupport/JavaCallable;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 4 signatureCode I
2 6 5 method Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
runtime
cache
methods
arg0
public static org.jruby.javasupport.JavaCallable matchingCallableArityTwo(org.jruby.Ruby, java.util.Map, org.jruby.javasupport.JavaCallable[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Ljava/util/Map;[Lorg/jruby/javasupport/JavaCallable;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
aload 4
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 5
start local 5 1: aload 1
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.JavaCallable
astore 6
start local 6 2: aload 6
ifnonnull 5
3: aload 0
aload 2
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
checkcast org.jruby.javasupport.JavaCallable
astore 6
4: aload 6
ifnull 5
aload 1
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: int org.jruby.javasupport.JavaCallable
StackMap stack:
aload 6
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 cache Ljava/util/Map;
0 6 2 methods [Lorg/jruby/javasupport/JavaCallable;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 5 signatureCode I
2 6 6 method Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
runtime
cache
methods
arg0
arg1
public static org.jruby.javasupport.JavaCallable matchingCallableArityThree(org.jruby.Ruby, java.util.Map, org.jruby.javasupport.JavaCallable[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Ljava/util/Map;[Lorg/jruby/javasupport/JavaCallable;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
aload 4
aload 5
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 6
start local 6 1: aload 1
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.JavaCallable
astore 7
start local 7 2: aload 7
ifnonnull 5
3: aload 0
aload 2
iconst_3
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
checkcast org.jruby.javasupport.JavaCallable
astore 7
4: aload 7
ifnull 5
aload 1
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: int org.jruby.javasupport.JavaCallable
StackMap stack:
aload 7
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 runtime Lorg/jruby/Ruby;
0 6 1 cache Ljava/util/Map;
0 6 2 methods [Lorg/jruby/javasupport/JavaCallable;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 5 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 6 signatureCode I
2 6 7 method Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
runtime
cache
methods
arg0
arg1
arg2
public static org.jruby.javasupport.JavaCallable matchingCallableArityFour(org.jruby.Ruby, java.util.Map, org.jruby.javasupport.JavaCallable[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Ljava/util/Map;[Lorg/jruby/javasupport/JavaCallable;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 3
aload 4
aload 5
aload 6
invokestatic org.jruby.java.dispatch.CallableSelector.argsHashCode:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 7
start local 7 1: aload 1
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.JavaCallable
astore 8
start local 8 2: aload 8
ifnonnull 5
3: aload 0
aload 2
iconst_4
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
dup
iconst_3
aload 6
aastore
invokestatic org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs:(Lorg/jruby/Ruby;[Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/ParameterTypes;
checkcast org.jruby.javasupport.JavaCallable
astore 8
4: aload 8
ifnull 5
aload 1
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: int org.jruby.javasupport.JavaCallable
StackMap stack:
aload 8
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 6 0 runtime Lorg/jruby/Ruby;
0 6 1 cache Ljava/util/Map;
0 6 2 methods [Lorg/jruby/javasupport/JavaCallable;
0 6 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 5 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
0 6 6 arg3 Lorg/jruby/runtime/builtin/IRubyObject;
1 6 7 signatureCode I
2 6 8 method Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
runtime
cache
methods
arg0
arg1
arg2
arg3
}
SourceFile: "CallableSelector.java"
NestMembers:
org.jruby.java.dispatch.CallableSelector$1 org.jruby.java.dispatch.CallableSelector$2 org.jruby.java.dispatch.CallableSelector$3 org.jruby.java.dispatch.CallableSelector$4 org.jruby.java.dispatch.CallableSelector$5 org.jruby.java.dispatch.CallableSelector$6 org.jruby.java.dispatch.CallableSelector$7 org.jruby.java.dispatch.CallableSelector$8 org.jruby.java.dispatch.CallableSelector$CallableAcceptor org.jruby.java.dispatch.CallableSelector$CallableCache org.jruby.java.dispatch.CallableSelector$Matcher
InnerClasses:
org.jruby.java.dispatch.CallableSelector$1
org.jruby.java.dispatch.CallableSelector$2
org.jruby.java.dispatch.CallableSelector$3
org.jruby.java.dispatch.CallableSelector$4
org.jruby.java.dispatch.CallableSelector$5
org.jruby.java.dispatch.CallableSelector$6
org.jruby.java.dispatch.CallableSelector$7
org.jruby.java.dispatch.CallableSelector$8
private abstract CallableAcceptor = org.jruby.java.dispatch.CallableSelector$CallableAcceptor of org.jruby.java.dispatch.CallableSelector
public abstract CallableCache = org.jruby.java.dispatch.CallableSelector$CallableCache of org.jruby.java.dispatch.CallableSelector
private abstract Matcher = org.jruby.java.dispatch.CallableSelector$Matcher of org.jruby.java.dispatch.CallableSelector