public abstract class org.jruby.java.invokers.RubyToJavaInvoker<T extends org.jruby.javasupport.JavaCallable> extends org.jruby.internal.runtime.methods.JavaMethod
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jruby.java.invokers.RubyToJavaInvoker
super_class: org.jruby.internal.runtime.methods.JavaMethod
{
static final org.jruby.util.collections.NonBlockingHashMapLong NULL_CACHE;
descriptor: Lorg/jruby/util/collections/NonBlockingHashMapLong;
flags: (0x0018) ACC_STATIC, ACC_FINAL
protected T javaCallable;
descriptor: Lorg/jruby/javasupport/JavaCallable;
flags: (0x0004) ACC_PROTECTED
Signature: TT;
protected T[][] javaCallables;
descriptor: [[Lorg/jruby/javasupport/JavaCallable;
flags: (0x0004) ACC_PROTECTED
Signature: [[TT;
protected T[] javaVarargsCallables;
descriptor: [Lorg/jruby/javasupport/JavaCallable;
flags: (0x0004) ACC_PROTECTED
Signature: [TT;
org.jruby.util.collections.NonBlockingHashMapLong<T> cache;
descriptor: Lorg/jruby/util/collections/NonBlockingHashMapLong;
flags: (0x0000)
Signature: Lorg/jruby/util/collections/NonBlockingHashMapLong<TT;>;
volatile boolean initialized;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
private final org.jruby.Ruby runtime;
descriptor: Lorg/jruby/Ruby;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.function.Supplier<java.lang.reflect.Member[]> members;
descriptor: Ljava/util/function/Supplier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Supplier<[Ljava/lang/reflect/Member;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/jruby/java/invokers/RubyToJavaInvoker;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.jruby.java.invokers.RubyToJavaInvoker.$assertionsDisabled:Z
3: new org.jruby.java.invokers.RubyToJavaInvoker$NullHashMapLong
dup
invokespecial org.jruby.java.invokers.RubyToJavaInvoker$NullHashMapLong.<init>:()V
putstatic org.jruby.java.invokers.RubyToJavaInvoker.NULL_CACHE:Lorg/jruby/util/collections/NonBlockingHashMapLong;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.jruby.RubyModule, java.util.function.Supplier<java.lang.reflect.Member[]>, java.lang.String);
descriptor: (Lorg/jruby/RubyModule;Ljava/util/function/Supplier;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
aload 3
invokespecial org.jruby.internal.runtime.methods.JavaMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
1: aload 0
aload 1
invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
putfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
2: aload 0
aload 2
putfield org.jruby.java.invokers.RubyToJavaInvoker.members:Ljava/util/function/Supplier;
3: aload 0
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.initialize:()V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 5 1 host Lorg/jruby/RubyModule;
0 5 2 members Ljava/util/function/Supplier<[Ljava/lang/reflect/Member;>;
0 5 3 name Ljava/lang/String;
Signature: (Lorg/jruby/RubyModule;Ljava/util/function/Supplier<[Ljava/lang/reflect/Member;>;Ljava/lang/String;)V
MethodParameters:
Name Flags
host
members
name
void initialize();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=18, args_size=1
start local 0 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.initialized:Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
aload 0
dup
astore 1
monitorenter
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.initialized:Z
ifeq 4
aload 1
monitorexit
3: return
4: StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker
StackMap stack:
aconst_null
astore 4
start local 4 5: iconst_m1
istore 5
start local 5 6: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.members:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.lang.reflect.Member[]
astore 8
start local 8 7: aload 8
arraylength
istore 9
start local 9 8: iload 9
iconst_1
if_icmpne 18
9: aload 0
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 8
iconst_0
aaload
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.createCallable:(Lorg/jruby/Ruby;Ljava/lang/reflect/Member;)Lorg/jruby/javasupport/JavaCallable;
astore 2
start local 2 10: aload 2
invokevirtual org.jruby.javasupport.JavaCallable.getArity:()I
dup
istore 7
start local 7 11: istore 6
start local 6 12: aload 2
invokevirtual org.jruby.javasupport.JavaCallable.isVarArgs:()Z
ifeq 15
13: aload 0
aload 2
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.createCallableArray:(Lorg/jruby/javasupport/JavaCallable;)[Lorg/jruby/javasupport/JavaCallable;
astore 4
14: aload 0
aload 8
iconst_0
aaload
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.getMemberArity:(Ljava/lang/reflect/Member;)I
iconst_1
isub
istore 5
15: StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker org.jruby.java.invokers.RubyToJavaInvoker org.jruby.javasupport.JavaCallable top org.jruby.javasupport.JavaCallable[] int int int java.lang.reflect.Member[] int
StackMap stack:
aconst_null
astore 3
start local 3 16: aload 0
getstatic org.jruby.java.invokers.RubyToJavaInvoker.NULL_CACHE:Lorg/jruby/util/collections/NonBlockingHashMapLong;
putfield org.jruby.java.invokers.RubyToJavaInvoker.cache:Lorg/jruby/util/collections/NonBlockingHashMapLong;
17: goto 57
end local 7 end local 6 end local 3 end local 2 18: StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker org.jruby.java.invokers.RubyToJavaInvoker top top org.jruby.javasupport.JavaCallable[] int top top java.lang.reflect.Member[] int
StackMap stack:
aconst_null
astore 2
start local 2 19: iconst_m1
istore 6
start local 6 20: ldc 2147483647
istore 7
start local 7 21: new org.jruby.util.collections.IntHashMap
dup
iload 9
fconst_1
invokespecial org.jruby.util.collections.IntHashMap.<init>:(IF)V
astore 10
start local 10 22: aconst_null
astore 11
start local 11 23: iconst_0
istore 12
start local 12 24: goto 46
25: StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker org.jruby.java.invokers.RubyToJavaInvoker org.jruby.javasupport.JavaCallable top org.jruby.javasupport.JavaCallable[] int int int java.lang.reflect.Member[] int org.jruby.util.collections.IntHashMap java.util.ArrayList int
StackMap stack:
aload 8
iload 12
aaload
astore 13
start local 13 26: aload 0
aload 13
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.getMemberArity:(Ljava/lang/reflect/Member;)I
istore 14
start local 14 27: iload 14
iload 6
invokestatic java.lang.Math.max:(II)I
istore 6
28: iload 14
iload 7
invokestatic java.lang.Math.min:(II)I
istore 7
29: aload 0
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 13
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.createCallable:(Lorg/jruby/Ruby;Ljava/lang/reflect/Member;)Lorg/jruby/javasupport/JavaCallable;
astore 15
start local 15 30: aload 10
iload 14
invokevirtual org.jruby.util.collections.IntHashMap.get:(I)Ljava/lang/Object;
checkcast java.util.ArrayList
astore 16
start local 16 31: aload 16
ifnonnull 34
32: new java.util.ArrayList
dup
iload 9
invokespecial java.util.ArrayList.<init>:(I)V
astore 16
33: aload 10
iload 14
aload 16
invokevirtual org.jruby.util.collections.IntHashMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
pop
34: StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker org.jruby.java.invokers.RubyToJavaInvoker org.jruby.javasupport.JavaCallable top org.jruby.javasupport.JavaCallable[] int int int java.lang.reflect.Member[] int org.jruby.util.collections.IntHashMap java.util.ArrayList int java.lang.reflect.Member int org.jruby.javasupport.JavaCallable java.util.ArrayList
StackMap stack:
aload 16
aload 15
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
35: aload 15
invokevirtual org.jruby.javasupport.JavaCallable.isVarArgs:()Z
ifeq 45
36: iload 14
iconst_1
isub
istore 17
start local 17 37: aload 10
iload 17
invokevirtual org.jruby.util.collections.IntHashMap.get:(I)Ljava/lang/Object;
checkcast java.util.ArrayList
dup
astore 16
ifnonnull 40
38: new java.util.ArrayList
dup
iload 9
invokespecial java.util.ArrayList.<init>:(I)V
astore 16
39: aload 10
iload 17
aload 16
invokevirtual org.jruby.util.collections.IntHashMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
pop
40: StackMap locals: int
StackMap stack:
aload 16
aload 15
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
41: aload 11
ifnonnull 42
new java.util.ArrayList
dup
iload 9
invokespecial java.util.ArrayList.<init>:(I)V
astore 11
42: StackMap locals:
StackMap stack:
aload 11
aload 15
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
43: iload 5
iconst_m1
if_icmpne 44
ldc 2147483647
istore 5
44: StackMap locals:
StackMap stack:
iload 17
iload 5
invokestatic java.lang.Math.min:(II)I
istore 5
end local 17 end local 16 end local 15 end local 14 end local 13 45: StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker org.jruby.java.invokers.RubyToJavaInvoker org.jruby.javasupport.JavaCallable top org.jruby.javasupport.JavaCallable[] int int int java.lang.reflect.Member[] int org.jruby.util.collections.IntHashMap java.util.ArrayList int
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
46: iload 12
iload 9
if_icmplt 25
end local 12 47: aload 0
iload 6
iconst_1
iadd
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.createCallableArrayArray:(I)[[Lorg/jruby/javasupport/JavaCallable;
astore 3
start local 3 48: aload 10
invokevirtual org.jruby.util.collections.IntHashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 13
goto 53
StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker org.jruby.java.invokers.RubyToJavaInvoker org.jruby.javasupport.JavaCallable org.jruby.javasupport.JavaCallable[][] org.jruby.javasupport.JavaCallable[] int int int java.lang.reflect.Member[] int org.jruby.util.collections.IntHashMap java.util.ArrayList top java.util.Iterator
StackMap stack:
49: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.util.collections.IntHashMap$Entry
astore 12
start local 12 50: aload 12
invokevirtual org.jruby.util.collections.IntHashMap$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.ArrayList
astore 14
start local 14 51: aload 14
aload 0
aload 14
invokevirtual java.util.ArrayList.size:()I
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.createCallableArray:(I)[Lorg/jruby/javasupport/JavaCallable;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.jruby.javasupport.JavaCallable[]
astore 15
start local 15 52: aload 3
aload 12
invokevirtual org.jruby.util.collections.IntHashMap$Entry.getKey:()I
aload 15
aastore
end local 15 end local 14 end local 12 53: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 49
54: aload 11
ifnull 56
55: aload 11
aload 0
aload 11
invokevirtual java.util.ArrayList.size:()I
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.createCallableArray:(I)[Lorg/jruby/javasupport/JavaCallable;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.jruby.javasupport.JavaCallable[]
astore 4
56: StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker org.jruby.java.invokers.RubyToJavaInvoker org.jruby.javasupport.JavaCallable org.jruby.javasupport.JavaCallable[][] org.jruby.javasupport.JavaCallable[] int int int java.lang.reflect.Member[] int org.jruby.util.collections.IntHashMap java.util.ArrayList
StackMap stack:
aload 0
new org.jruby.util.collections.NonBlockingHashMapLong
dup
iconst_4
iconst_1
invokespecial org.jruby.util.collections.NonBlockingHashMapLong.<init>:(IZ)V
putfield org.jruby.java.invokers.RubyToJavaInvoker.cache:Lorg/jruby/util/collections/NonBlockingHashMapLong;
end local 11 end local 10 57: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
58: aload 0
aload 3
putfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
59: aload 0
aload 4
putfield org.jruby.java.invokers.RubyToJavaInvoker.javaVarargsCallables:[Lorg/jruby/javasupport/JavaCallable;
60: aload 0
iload 7
iload 6
iload 5
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.setArity:(III)V
61: aload 0
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.setupNativeCall:()V
62: aload 0
iconst_1
putfield org.jruby.java.invokers.RubyToJavaInvoker.initialized:Z
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 63: aload 1
monitorexit
64: goto 67
StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker org.jruby.java.invokers.RubyToJavaInvoker
StackMap stack: java.lang.Throwable
65: aload 1
monitorexit
66: athrow
67: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
10 18 2 callable TT;
19 63 2 callable TT;
16 18 3 callables [[Lorg/jruby/javasupport/JavaCallable;
48 63 3 callables [[Lorg/jruby/javasupport/JavaCallable;
5 63 4 varargsCallables [Lorg/jruby/javasupport/JavaCallable;
6 63 5 minVarArgsArity I
12 18 6 maxArity I
20 63 6 maxArity I
11 18 7 minArity I
21 63 7 minArity I
7 63 8 members [Ljava/lang/reflect/Member;
8 63 9 length I
22 57 10 arityMap Lorg/jruby/util/collections/IntHashMap<Ljava/util/ArrayList<TT;>;>;
23 57 11 varArgs Ljava/util/ArrayList<TT;>;
24 47 12 i I
26 45 13 method Ljava/lang/reflect/Member;
27 45 14 currentArity I
30 45 15 javaMethod TT;
31 45 16 methodsForArity Ljava/util/ArrayList<TT;>;
37 45 17 usableArity I
50 53 12 entry Lorg/jruby/util/collections/IntHashMap$Entry<Ljava/util/ArrayList<TT;>;>;
51 53 14 methodsForArity Ljava/util/ArrayList<TT;>;
52 53 15 methodsArray [Lorg/jruby/javasupport/JavaCallable;
Exception table:
from to target type
2 3 65 any
4 64 65 any
65 66 65 any
private void setArity(int, int, int);
descriptor: (III)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
iconst_m1
if_icmpne 6
1: iload 1
iload 2
if_icmpne 4
2: aload 0
iload 1
invokestatic org.jruby.runtime.Arity.fixed:(I)Lorg/jruby/runtime/Arity;
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.setArity:(Lorg/jruby/runtime/Arity;)V
3: goto 9
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokestatic org.jruby.runtime.Arity.required:(I)Lorg/jruby/runtime/Arity;
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.setArity:(Lorg/jruby/runtime/Arity;)V
5: goto 9
6: StackMap locals:
StackMap stack:
aload 0
iload 3
iload 1
if_icmpge 7
iload 3
goto 8
StackMap locals:
StackMap stack: org.jruby.java.invokers.RubyToJavaInvoker
7: iload 1
StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker int int int
StackMap stack: org.jruby.java.invokers.RubyToJavaInvoker int
8: invokestatic org.jruby.runtime.Arity.required:(I)Lorg/jruby/runtime/Arity;
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.setArity:(Lorg/jruby/runtime/Arity;)V
9: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 10 1 minArity I
0 10 2 maxArity I
0 10 3 minVarArgsArity I
MethodParameters:
Name Flags
minArity final
maxArity final
minVarArgsArity final
final void setupNativeCall();
descriptor: ()V
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
ifnull 4
1: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
instanceof org.jruby.javasupport.JavaMethod
ifeq 13
2: aload 0
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
checkcast org.jruby.javasupport.JavaMethod
invokevirtual org.jruby.javasupport.JavaMethod.getValue:()Ljava/lang/reflect/Method;
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.setNativeCallIfPublic:(Ljava/lang/reflect/Method;)Z
pop
3: goto 13
4: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 5: goto 12
6: StackMap locals: int
StackMap stack:
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
iload 1
aaload
astore 2
start local 2 7: aload 2
ifnull 11
aload 2
arraylength
iconst_1
if_icmpeq 8
goto 11
8: StackMap locals: org.jruby.javasupport.JavaCallable[]
StackMap stack:
aload 2
iconst_0
aaload
instanceof org.jruby.javasupport.JavaMethod
ifeq 11
9: aload 2
iconst_0
aaload
checkcast org.jruby.javasupport.JavaMethod
invokevirtual org.jruby.javasupport.JavaMethod.getValue:()Ljava/lang/reflect/Method;
astore 3
start local 3 10: aload 0
aload 3
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.setNativeCallIfPublic:(Ljava/lang/reflect/Method;)Z
ifeq 11
goto 13
end local 3 end local 2 11: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
12: iload 1
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
if_icmplt 6
end local 1 13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
5 13 1 i I
7 11 2 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
10 11 3 method Ljava/lang/reflect/Method;
private boolean setNativeCallIfPublic(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.reflect.Method.getModifiers:()I
istore 2
start local 2 1: iload 2
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 4
aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 4
2: aload 0
aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
iload 2
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
iconst_1
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.setNativeCall:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;ZZ)V
3: iconst_1
ireturn
4: StackMap locals: int
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 5 1 method Ljava/lang/reflect/Method;
1 5 2 mod I
MethodParameters:
Name Flags
method final
public final T getSignature();
descriptor: (I)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.cache:Lorg/jruby/util/collections/NonBlockingHashMapLong;
iload 1
i2l
invokevirtual org.jruby.util.collections.NonBlockingHashMapLong.get:(J)Ljava/lang/Object;
checkcast org.jruby.javasupport.JavaCallable
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 1 1 signatureCode I
Signature: (I)TT;
MethodParameters:
Name Flags
signatureCode
public final void putSignature(int, );
descriptor: (ILorg/jruby/javasupport/JavaCallable;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.cache:Lorg/jruby/util/collections/NonBlockingHashMapLong;
iload 1
i2l
aload 2
invokevirtual org.jruby.util.collections.NonBlockingHashMapLong.put:(JLjava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 2 1 signatureCode I
0 2 2 callable TT;
Signature: (ITT;)V
MethodParameters:
Name Flags
signatureCode
callable
protected abstract T createCallable(org.jruby.Ruby, java.lang.reflect.Member);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/reflect/Member;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Lorg/jruby/Ruby;Ljava/lang/reflect/Member;)TT;
MethodParameters:
Name Flags
runtime
member
protected abstract T[] createCallableArray();
descriptor: (Lorg/jruby/javasupport/JavaCallable;)[Lorg/jruby/javasupport/JavaCallable;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TT;)[TT;
MethodParameters:
Name Flags
callable
protected abstract T[] createCallableArray();
descriptor: (I)[Lorg/jruby/javasupport/JavaCallable;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (I)[TT;
MethodParameters:
Name Flags
size
protected abstract T[][] createCallableArrayArray();
descriptor: (I)[[Lorg/jruby/javasupport/JavaCallable;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (I)[[TT;
MethodParameters:
Name Flags
size
protected abstract java.lang.Class[] getMemberParameterTypes(java.lang.reflect.Member);
descriptor: (Ljava/lang/reflect/Member;)[Ljava/lang/Class;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
member
protected abstract boolean isMemberVarArgs(java.lang.reflect.Member);
descriptor: (Ljava/lang/reflect/Member;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
member
final int getMemberArity(java.lang.reflect.Member);
descriptor: (Ljava/lang/reflect/Member;)I
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.getMemberParameterTypes:(Ljava/lang/reflect/Member;)[Ljava/lang/Class;
arraylength
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 1 1 member Ljava/lang/reflect/Member;
MethodParameters:
Name Flags
member
public static java.lang.Object[] convertArguments(org.jruby.javasupport.ParameterTypes, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokestatic org.jruby.java.invokers.RubyToJavaInvoker.convertArguments:(Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;I)[Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 method Lorg/jruby/javasupport/ParameterTypes;
0 1 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
method final
args final
public static java.lang.Object[] convertArguments(org.jruby.javasupport.ParameterTypes, org.jruby.runtime.builtin.IRubyObject[], int);
descriptor: (Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;I)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 3
start local 3 1: aload 1
arraylength
istore 5
start local 5 2: aload 0
invokeinterface org.jruby.javasupport.ParameterTypes.isVarArgs:()Z
ifeq 12
3: aload 3
arraylength
iconst_1
isub
istore 6
start local 6 4: iload 6
iconst_1
iadd
iload 2
iadd
anewarray java.lang.Object
astore 4
start local 4 5: iconst_0
istore 7
start local 7 6: goto 9
7: StackMap locals: org.jruby.javasupport.ParameterTypes org.jruby.runtime.builtin.IRubyObject[] int java.lang.Class[] java.lang.Object[] int int int
StackMap stack:
aload 4
iload 7
aload 1
iload 7
aaload
aload 3
iload 7
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
aastore
8: iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
iload 6
if_icmplt 7
end local 7 10: aload 4
iload 6
aload 3
iload 6
aaload
iload 6
aload 1
invokestatic org.jruby.java.invokers.RubyToJavaInvoker.convertVarArgumentsOnly:(Ljava/lang/Class;I[Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
aastore
end local 6 11: goto 18
end local 4 12: StackMap locals: org.jruby.javasupport.ParameterTypes org.jruby.runtime.builtin.IRubyObject[] int java.lang.Class[] top int
StackMap stack:
iload 5
iload 2
iadd
anewarray java.lang.Object
astore 4
start local 4 13: iconst_0
istore 6
start local 6 14: goto 17
15: StackMap locals: org.jruby.javasupport.ParameterTypes org.jruby.runtime.builtin.IRubyObject[] int java.lang.Class[] java.lang.Object[] int int
StackMap stack:
aload 4
iload 6
aload 1
iload 6
aaload
aload 3
iload 6
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
aastore
16: iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
iload 5
if_icmplt 15
end local 6 18: StackMap locals:
StackMap stack:
aload 4
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 19 0 method Lorg/jruby/javasupport/ParameterTypes;
0 19 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 19 2 addSpace I
1 19 3 paramTypes [Ljava/lang/Class;
5 12 4 javaArgs [Ljava/lang/Object;
13 19 4 javaArgs [Ljava/lang/Object;
2 19 5 len I
4 11 6 last I
6 10 7 i I
14 18 6 i I
MethodParameters:
Name Flags
method final
args final
addSpace final
public static java.lang.Object[] convertArguments(org.jruby.javasupport.ParameterTypes, org.jruby.runtime.builtin.IRubyObject, int);
descriptor: (Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/runtime/builtin/IRubyObject;I)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 3
start local 3 1: aload 0
invokeinterface org.jruby.javasupport.ParameterTypes.isVarArgs:()Z
ifeq 5
2: iconst_1
iload 2
iadd
anewarray java.lang.Object
astore 4
start local 4 3: aload 4
iconst_0
aload 3
iconst_0
aaload
aload 1
invokestatic org.jruby.java.invokers.RubyToJavaInvoker.convertVarArgumentsOnly:(Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
aastore
4: goto 7
end local 4 5: StackMap locals: java.lang.Class[]
StackMap stack:
iconst_1
iload 2
iadd
anewarray java.lang.Object
astore 4
start local 4 6: aload 4
iconst_0
aload 1
aload 3
iconst_0
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
aastore
7: StackMap locals: java.lang.Object[]
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 method Lorg/jruby/javasupport/ParameterTypes;
0 8 1 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 8 2 addSpace I
1 8 3 paramTypes [Ljava/lang/Class;
3 5 4 javaArgs [Ljava/lang/Object;
6 8 4 javaArgs [Ljava/lang/Object;
MethodParameters:
Name Flags
method final
arg0 final
addSpace final
private static convertVarArgumentsOnly(java.lang.Class<?>, int, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Ljava/lang/Class;I[Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
iload 1
isub
istore 3
start local 3 1: aload 2
arraylength
ifeq 2
iload 3
ifgt 3
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
areturn
3: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmpne 5
aload 2
iload 1
aaload
instanceof org.jruby.java.proxies.ArrayJavaProxy
ifeq 5
4: aload 2
iload 1
aaload
aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 4
start local 4 6: aload 4
iload 3
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 11
9: StackMap locals: java.lang.Class java.lang.Object int
StackMap stack:
aload 5
iload 6
aload 2
iload 1
iload 6
iadd
aaload
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
10: iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 3
if_icmplt 9
end local 6 12: 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 13 0 varArrayType Ljava/lang/Class<*>;
0 13 1 varStart I
0 13 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 13 3 varCount I
6 13 4 compType Ljava/lang/Class<*>;
7 13 5 varArgs Ljava/lang/Object;
8 12 6 i I
Signature: (Ljava/lang/Class<*>;I[Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
MethodParameters:
Name Flags
varArrayType final
varStart final
args final
private static convertVarArgumentsOnly(java.lang.Class<?>, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Ljava/lang/Class;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.java.proxies.ArrayJavaProxy
ifeq 2
1: aload 1
aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 2
start local 2 3: aload 2
iconst_1
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 3
start local 3 4: aload 3
iconst_0
aload 1
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
5: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 varArrayType Ljava/lang/Class<*>;
0 6 1 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
3 6 2 compType Ljava/lang/Class<*>;
4 6 3 varArgs Ljava/lang/Object;
Signature: (Ljava/lang/Class<*>;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
MethodParameters:
Name Flags
varArrayType final
arg0 final
static org.jruby.java.proxies.JavaProxy castJavaProxy(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/java/proxies/JavaProxy;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic org.jruby.java.invokers.RubyToJavaInvoker.$assertionsDisabled:Z
ifne 1
aload 0
instanceof org.jruby.java.proxies.JavaProxy
ifne 1
new java.lang.AssertionError
dup
ldc "Java methods can only be invoked on Java objects"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
checkcast org.jruby.java.proxies.JavaProxy
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 self Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
self final
static <T extends java.lang.reflect.AccessibleObject extends java.lang.reflect.Member> T setAccessible();
descriptor: (Ljava/lang/reflect/AccessibleObject;)Ljava/lang/reflect/AccessibleObject;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.AccessibleObject.isAccessible:()Z
ifne 9
1: invokestatic org.jruby.Ruby.isSecurityRestricted:()Z
ifne 9
2: getstatic org.jruby.util.cli.Options.JI_SETACCESSIBLE:Lcom/headius/options/Option;
invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 9
3: aload 0
instanceof java.lang.reflect.Member
ifeq 9
4: aload 0
invokestatic org.jruby.javasupport.Java.trySetAccessible:(Ljava/lang/reflect/AccessibleObject;)Z
pop
5: goto 9
6: StackMap locals:
StackMap stack: java.lang.SecurityException
pop
goto 9
7: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 1
start local 1 8: aload 1
invokestatic org.jruby.java.invokers.RubyToJavaInvoker.rethrowIfNotInaccessibleObject:(Ljava/lang/RuntimeException;)V
end local 1 9: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 accessible TT;
8 9 1 re Ljava/lang/RuntimeException;
Exception table:
from to target type
4 5 6 Class java.lang.SecurityException
4 5 7 Class java.lang.RuntimeException
Signature: <T:Ljava/lang/reflect/AccessibleObject;:Ljava/lang/reflect/Member;>(TT;)TT;
MethodParameters:
Name Flags
accessible
static <T extends java.lang.reflect.AccessibleObject extends java.lang.reflect.Member> T[] setAccessible();
descriptor: ([Ljava/lang/reflect/AccessibleObject;)[Ljava/lang/reflect/AccessibleObject;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: invokestatic org.jruby.Ruby.isSecurityRestricted:()Z
ifne 13
1: getstatic org.jruby.util.cli.Options.JI_SETACCESSIBLE:Lcom/headius/options/Option;
invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 13
2: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 8
StackMap locals: java.lang.reflect.AccessibleObject[] top int int java.lang.reflect.AccessibleObject[]
StackMap stack:
3: aload 4
iload 2
aaload
astore 1
start local 1 4: aload 1
invokevirtual java.lang.reflect.AccessibleObject.isAccessible:()Z
ifeq 5
goto 7
5: StackMap locals: java.lang.reflect.AccessibleObject[] java.lang.reflect.AccessibleObject int int java.lang.reflect.AccessibleObject[]
StackMap stack:
aload 1
instanceof java.lang.reflect.Member
ifne 6
goto 7
6: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.javasupport.Java.trySetAccessible:(Ljava/lang/reflect/AccessibleObject;)Z
pop
end local 1 7: StackMap locals: java.lang.reflect.AccessibleObject[] top int int java.lang.reflect.AccessibleObject[]
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
iload 3
if_icmplt 3
9: goto 13
10: StackMap locals: java.lang.reflect.AccessibleObject[]
StackMap stack: java.lang.SecurityException
pop
goto 13
11: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 1
start local 1 12: aload 1
invokestatic org.jruby.java.invokers.RubyToJavaInvoker.rethrowIfNotInaccessibleObject:(Ljava/lang/RuntimeException;)V
end local 1 13: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 accessibles [Ljava/lang/reflect/AccessibleObject;
4 7 1 accessible TT;
12 13 1 re Ljava/lang/RuntimeException;
Exception table:
from to target type
2 9 10 Class java.lang.SecurityException
2 9 11 Class java.lang.RuntimeException
Signature: <T:Ljava/lang/reflect/AccessibleObject;:Ljava/lang/reflect/Member;>([TT;)[TT;
MethodParameters:
Name Flags
accessibles
private static void rethrowIfNotInaccessibleObject(java.lang.RuntimeException);
descriptor: (Ljava/lang/RuntimeException;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "java.lang.reflect.InaccessibleObjectException"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
1: aload 0
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 re Ljava/lang/RuntimeException;
MethodParameters:
Name Flags
re
private static <T extends java.lang.reflect.AccessibleObject> boolean allAreAccessible();
descriptor: ([Ljava/lang/reflect/AccessibleObject;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: java.lang.reflect.AccessibleObject[] top int int java.lang.reflect.AccessibleObject[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokevirtual java.lang.reflect.AccessibleObject.isAccessible:()Z
ifne 3
iconst_0
ireturn
end local 1 StackMap locals:
StackMap stack:
3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 accessibles [Ljava/lang/reflect/AccessibleObject;
2 3 1 accessible TT;
Signature: <T:Ljava/lang/reflect/AccessibleObject;>([TT;)Z
MethodParameters:
Name Flags
accessibles
private static <T extends java.lang.reflect.AccessibleObject> boolean allAreMember();
descriptor: ([Ljava/lang/reflect/AccessibleObject;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: java.lang.reflect.AccessibleObject[] top int int java.lang.reflect.AccessibleObject[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
instanceof java.lang.reflect.Member
ifne 3
iconst_0
ireturn
end local 1 StackMap locals:
StackMap stack:
3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 accessibles [Ljava/lang/reflect/AccessibleObject;
2 3 1 accessible TT;
Signature: <T:Ljava/lang/reflect/AccessibleObject;>([TT;)Z
MethodParameters:
Name Flags
accessibles
protected T findCallable(org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject[], );
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
tableswitch { // 0 - 4
0: 1
1: 2
2: 3
3: 4
4: 5
default: 6
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.findCallableArityZero:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/javasupport/JavaCallable;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iconst_0
aaload
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.findCallableArityOne:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iconst_0
aaload
aload 3
iconst_1
aaload
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.findCallableArityTwo:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iconst_0
aaload
aload 3
iconst_1
aaload
aload 3
iconst_2
aaload
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.findCallableArityThree:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iconst_0
aaload
aload 3
iconst_1
aaload
aload 3
iconst_2
aaload
aload 3
iconst_3
aaload
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.findCallableArityFour:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iload 4
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.findCallableArityN:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/javasupport/JavaCallable;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 7 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 name Ljava/lang/String;
0 7 3 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 7 4 arity I
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;I)TT;
MethodParameters:
Name Flags
self
name
args
arity final
protected final T findCallableArityZero(org.jruby.runtime.builtin.IRubyObject, java.lang.String);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
astore 3
start local 3 1: aload 3
ifnonnull 11
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
ifeq 4
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
iconst_0
aaload
dup
astore 4
start local 4 3: ifnonnull 7
end local 4 4: StackMap locals: org.jruby.javasupport.JavaCallable
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityZero:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 3
ifnonnull 6
5: aload 0
aload 1
aload 2
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueNoMatchingCallable:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
aload 3
areturn
start local 4 7: StackMap locals: org.jruby.javasupport.JavaCallable[]
StackMap stack:
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 4
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityZero:(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;)Lorg/jruby/javasupport/JavaCallable;
astore 3
8: aload 3
ifnonnull 12
9: aload 0
aload 1
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityZero:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 3
ifnonnull 12
10: aload 0
aload 1
aload 4
iconst_0
anewarray org.jruby.runtime.builtin.IRubyObject
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 4 11: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.jruby.javasupport.JavaCallable.isVarArgs:()Z
ifne 12
aload 0
aload 3
iconst_0
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.checkCallableArity:(Lorg/jruby/javasupport/JavaCallable;I)V
12: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 13 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 13 2 name Ljava/lang/String;
1 13 3 callable TT;
3 4 4 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
7 11 4 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)TT;
MethodParameters:
Name Flags
self
name
protected final T findCallableArityOne(org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
astore 4
start local 4 1: aload 4
ifnonnull 11
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
iconst_1
if_icmple 4
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
iconst_1
aaload
dup
astore 5
start local 5 3: ifnonnull 7
end local 5 4: StackMap locals: org.jruby.javasupport.JavaCallable
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityOne:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 4
ifnonnull 6
5: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
iconst_1
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
iconst_1
isub
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
aload 4
areturn
start local 5 7: StackMap locals: org.jruby.javasupport.JavaCallable[]
StackMap stack:
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 5
aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityOne:(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
astore 4
8: aload 4
ifnonnull 12
9: aload 0
aload 1
aload 3
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityOne:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 4
ifnonnull 12
10: aload 0
aload 1
aload 5
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 5 11: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.jruby.javasupport.JavaCallable.isVarArgs:()Z
ifne 12
aload 0
aload 4
iconst_1
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.checkCallableArity:(Lorg/jruby/javasupport/JavaCallable;I)V
12: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 13 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 13 2 name Ljava/lang/String;
0 13 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
1 13 4 callable TT;
3 4 5 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
7 11 5 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
self
name
arg0
protected final T findCallableArityTwo(org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
astore 5
start local 5 1: aload 5
ifnonnull 11
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
iconst_2
if_icmple 4
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
iconst_2
aaload
dup
astore 6
start local 6 3: ifnonnull 7
end local 6 4: StackMap locals: org.jruby.javasupport.JavaCallable
StackMap stack:
aload 0
aload 1
aload 3
aload 4
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityTwo:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 5
ifnonnull 6
5: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
iconst_2
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
iconst_1
isub
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
aload 5
areturn
start local 6 7: StackMap locals: org.jruby.javasupport.JavaCallable[]
StackMap stack:
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 6
aload 3
aload 4
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityTwo:(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;
astore 5
8: aload 5
ifnonnull 12
9: aload 0
aload 1
aload 3
aload 4
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityTwo:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 5
ifnonnull 12
10: aload 0
aload 1
aload 6
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 6 11: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.jruby.javasupport.JavaCallable.isVarArgs:()Z
ifne 12
aload 0
aload 5
iconst_2
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.checkCallableArity:(Lorg/jruby/javasupport/JavaCallable;I)V
12: StackMap locals:
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 13 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 13 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 13 2 name Ljava/lang/String;
0 13 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 13 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
1 13 5 callable TT;
3 4 6 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
7 11 6 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
self
name
arg0
arg1
protected final T findCallableArityThree(org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, 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 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
astore 6
start local 6 1: aload 6
ifnonnull 11
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
iconst_3
if_icmple 4
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
iconst_3
aaload
dup
astore 7
start local 7 3: ifnonnull 7
end local 7 4: StackMap locals: org.jruby.javasupport.JavaCallable
StackMap stack:
aload 0
aload 1
aload 3
aload 4
aload 5
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityThree:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 6
ifnonnull 6
5: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
iconst_3
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
iconst_1
isub
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
aload 6
areturn
start local 7 7: StackMap locals: org.jruby.javasupport.JavaCallable[]
StackMap stack:
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 7
aload 3
aload 4
aload 5
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityThree:(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;
astore 6
8: aload 6
ifnonnull 12
9: aload 0
aload 1
aload 3
aload 4
aload 5
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityThree:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 6
ifnonnull 12
10: aload 0
aload 1
aload 7
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
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 7 11: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.jruby.javasupport.JavaCallable.isVarArgs:()Z
ifne 12
aload 0
aload 6
iconst_3
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.checkCallableArity:(Lorg/jruby/javasupport/JavaCallable;I)V
12: StackMap locals:
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 13 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 13 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 13 2 name Ljava/lang/String;
0 13 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 13 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 13 5 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
1 13 6 callable TT;
3 4 7 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
7 11 7 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
self
name
arg0
arg1
arg2
protected final T findCallableArityFour(org.jruby.runtime.builtin.IRubyObject, java.lang.String, 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;Ljava/lang/String;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: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, 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 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
astore 7
start local 7 1: aload 7
ifnonnull 11
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
iconst_4
if_icmple 4
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
iconst_4
aaload
dup
astore 8
start local 8 3: ifnonnull 7
end local 8 4: StackMap locals: org.jruby.javasupport.JavaCallable
StackMap stack:
aload 0
aload 1
aload 3
aload 4
aload 5
aload 6
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityFour:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 7
ifnonnull 6
5: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
iconst_4
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
iconst_1
isub
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
aload 7
areturn
start local 8 7: StackMap locals: org.jruby.javasupport.JavaCallable[]
StackMap stack:
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 8
aload 3
aload 4
aload 5
aload 6
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityFour:(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;
astore 7
8: aload 7
ifnonnull 12
9: aload 0
aload 1
aload 3
aload 4
aload 5
aload 6
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityFour:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 7
ifnonnull 12
10: aload 0
aload 1
aload 8
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
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 8 11: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.jruby.javasupport.JavaCallable.isVarArgs:()Z
ifne 12
aload 0
aload 7
iconst_4
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.checkCallableArity:(Lorg/jruby/javasupport/JavaCallable;I)V
12: StackMap locals:
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 13 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 13 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 13 2 name Ljava/lang/String;
0 13 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 13 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 13 5 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
0 13 6 arg3 Lorg/jruby/runtime/builtin/IRubyObject;
1 13 7 callable TT;
3 4 8 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
7 11 8 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
self
name
arg0
arg1
arg2
arg3
private T findCallableArityN(org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject[], );
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
astore 5
start local 5 1: aload 5
ifnonnull 11
2: iload 4
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
if_icmpge 4
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
iload 4
aaload
dup
astore 6
start local 6 3: ifnonnull 7
end local 6 4: StackMap locals: org.jruby.javasupport.JavaCallable
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityN:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 5
ifnonnull 6
5: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 3
arraylength
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
iconst_1
isub
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
aload 5
areturn
start local 6 7: StackMap locals: org.jruby.javasupport.JavaCallable[]
StackMap stack:
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 6
aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityN:(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
astore 5
8: aload 5
ifnonnull 12
9: aload 0
aload 1
aload 3
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.matchVarArgsCallableArityN:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
dup
astore 5
ifnonnull 12
10: aload 0
aload 1
aload 6
aload 3
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 6 11: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.jruby.javasupport.JavaCallable.isVarArgs:()Z
ifne 12
aload 0
aload 5
aload 3
arraylength
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.checkCallableArity:(Lorg/jruby/javasupport/JavaCallable;I)V
12: StackMap locals:
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 13 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 13 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 13 2 name Ljava/lang/String;
0 13 3 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 13 4 arity I
1 13 5 callable TT;
3 4 6 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
7 11 6 callablesForArity [Lorg/jruby/javasupport/JavaCallable;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;I)TT;
MethodParameters:
Name Flags
self
name
args
arity
private T matchVarArgsCallableArityZero(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaVarargsCallables:[Lorg/jruby/javasupport/JavaCallable;
astore 2
start local 2 1: aload 2
ifnull 6
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityZero:(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;)Lorg/jruby/javasupport/JavaCallable;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: aload 0
aload 1
aload 2
iconst_0
anewarray org.jruby.runtime.builtin.IRubyObject
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: org.jruby.javasupport.JavaCallable[] org.jruby.javasupport.JavaCallable
StackMap stack:
aload 3
areturn
end local 3 6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 7 1 self Lorg/jruby/runtime/builtin/IRubyObject;
1 7 2 varArgsCallables [Lorg/jruby/javasupport/JavaCallable;
3 6 3 callable TT;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
self
private T matchVarArgsCallableArityOne(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaVarargsCallables:[Lorg/jruby/javasupport/JavaCallable;
astore 3
start local 3 1: aload 3
ifnull 6
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 3
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityOne:(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: aload 0
aload 1
aload 3
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 2
aastore
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: org.jruby.javasupport.JavaCallable[] org.jruby.javasupport.JavaCallable
StackMap stack:
aload 4
areturn
end local 4 6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 7 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
1 7 3 varArgsCallables [Lorg/jruby/javasupport/JavaCallable;
3 6 4 callable TT;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
self
arg0
private T matchVarArgsCallableArityTwo(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/javasupport/JavaCallable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaVarargsCallables:[Lorg/jruby/javasupport/JavaCallable;
astore 4
start local 4 1: aload 4
ifnull 6
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 4
aload 2
aload 3
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityTwo:(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;
astore 5
start local 5 3: aload 5
ifnonnull 5
4: aload 0
aload 1
aload 4
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: org.jruby.javasupport.JavaCallable[] org.jruby.javasupport.JavaCallable
StackMap stack:
aload 5
areturn
end local 5 6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 7 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 7 3 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
1 7 4 varArgsCallables [Lorg/jruby/javasupport/JavaCallable;
3 6 5 callable TT;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
self
arg0
arg1
private T matchVarArgsCallableArityThree(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;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaVarargsCallables:[Lorg/jruby/javasupport/JavaCallable;
astore 5
start local 5 1: aload 5
ifnull 6
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 5
aload 2
aload 3
aload 4
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityThree:(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;
astore 6
start local 6 3: aload 6
ifnonnull 5
4: aload 0
aload 1
aload 5
iconst_3
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: org.jruby.javasupport.JavaCallable[] org.jruby.javasupport.JavaCallable
StackMap stack:
aload 6
areturn
end local 6 6: StackMap locals:
StackMap stack:
aconst_null
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 7 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 7 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 7 3 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 7 4 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
1 7 5 varArgsCallables [Lorg/jruby/javasupport/JavaCallable;
3 6 6 callable TT;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
self
arg0
arg1
arg2
private T matchVarArgsCallableArityFour(org.jruby.runtime.builtin.IRubyObject, 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;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, 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 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaVarargsCallables:[Lorg/jruby/javasupport/JavaCallable;
astore 6
start local 6 1: aload 6
ifnull 6
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 6
aload 2
aload 3
aload 4
aload 5
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityFour:(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;
astore 7
start local 7 3: aload 7
ifnonnull 5
4: aload 0
aload 1
aload 6
iconst_4
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 5
aastore
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: org.jruby.javasupport.JavaCallable[] org.jruby.javasupport.JavaCallable
StackMap stack:
aload 7
areturn
end local 7 6: StackMap locals:
StackMap stack:
aconst_null
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 7 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 7 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 7 3 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 7 4 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
0 7 5 arg3 Lorg/jruby/runtime/builtin/IRubyObject;
1 7 6 varArgsCallables [Lorg/jruby/javasupport/JavaCallable;
3 6 7 callable TT;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
self
arg0
arg1
arg2
arg3
private T matchVarArgsCallableArityN(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaVarargsCallables:[Lorg/jruby/javasupport/JavaCallable;
astore 3
start local 3 1: aload 3
ifnull 6
2: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 0
aload 3
aload 2
invokestatic org.jruby.java.dispatch.CallableSelector.matchingCallableArityN:(Lorg/jruby/Ruby;Lorg/jruby/java/invokers/RubyToJavaInvoker;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaCallable;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: aload 0
aload 1
aload 3
aload 2
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.newErrorDueArgumentTypeMismatch:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: org.jruby.javasupport.JavaCallable[] org.jruby.javasupport.JavaCallable
StackMap stack:
aload 4
areturn
end local 4 6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 7 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 7 3 varArgsCallables [Lorg/jruby/javasupport/JavaCallable;
3 6 4 callable TT;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)TT;
MethodParameters:
Name Flags
self
args
private void checkCallableArity(T, );
descriptor: (Lorg/jruby/javasupport/JavaCallable;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.jruby.javasupport.JavaCallable.getArity:()I
istore 3
start local 3 1: iload 3
iload 2
if_icmpeq 2
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
iload 2
iload 3
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals: int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 3 1 callable TT;
0 3 2 expected I
1 3 3 arity I
Signature: (TT;I)V
MethodParameters:
Name Flags
callable final
expected final
private T someCallable();
descriptor: ()Lorg/jruby/javasupport/JavaCallable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
ifnonnull 13
1: iconst_0
istore 1
start local 1 2: goto 11
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
iload 1
aaload
astore 2
start local 2 4: aload 2
ifnull 10
aload 2
arraylength
ifle 10
5: iconst_0
istore 3
start local 3 6: goto 9
7: StackMap locals: org.jruby.javasupport.JavaCallable[] int
StackMap stack:
aload 2
iload 3
aaload
ifnull 8
aload 2
iload 3
aaload
areturn
8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 2
arraylength
if_icmplt 7
end local 3 end local 2 10: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
11: iload 1
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallables:[[Lorg/jruby/javasupport/JavaCallable;
arraylength
if_icmplt 3
end local 1 12: aconst_null
areturn
13: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.javaCallable:Lorg/jruby/javasupport/JavaCallable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
2 12 1 i I
4 10 2 callables [Lorg/jruby/javasupport/JavaCallable;
6 10 3 j I
Signature: ()TT;
private boolean isConstructor();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.someCallable:()Lorg/jruby/javasupport/JavaCallable;
instanceof org.jruby.javasupport.JavaConstructor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
org.jruby.exceptions.RaiseException newErrorDueArgumentTypeMismatch(org.jruby.runtime.builtin.IRubyObject, T[], org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/javasupport/JavaCallable;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
flags: (0x0080) ACC_VARARGS
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
arraylength
anewarray java.lang.Class
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 5
3: StackMap locals: java.lang.Class[] int
StackMap stack:
aload 4
iload 5
aload 3
iload 5
aaload
invokestatic org.jruby.java.invokers.RubyToJavaInvoker.getClass:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Class;
aastore
4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
aload 3
arraylength
if_icmplt 3
end local 5 6: new java.lang.StringBuilder
dup
bipush 64
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 7: aload 5
ldc "no "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 0
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.isConstructor:()Z
ifeq 9
aload 5
ldc "constructor"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 11
9: StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker org.jruby.runtime.builtin.IRubyObject org.jruby.javasupport.JavaCallable[] org.jruby.runtime.builtin.IRubyObject[] java.lang.Class[] java.lang.StringBuilder
StackMap stack:
aload 2
iconst_0
aaload
checkcast org.jruby.javasupport.JavaMethod
astore 6
start local 6 10: aload 5
ldc "method '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual org.jruby.javasupport.JavaMethod.getValue:()Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 11: StackMap locals:
StackMap stack:
aload 5
ldc " for arguments "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 5
aload 4
invokestatic org.jruby.util.CodegenUtils.prettyParams:(Ljava/lang/StringBuilder;[Ljava/lang/Class;)Ljava/lang/StringBuilder;
pop
13: aload 5
ldc " on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokestatic org.jruby.java.invokers.RubyToJavaInvoker.formatReceiver:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: aload 2
arraylength
iconst_1
if_icmple 22
15: aload 5
ldc "\n available overloads:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 2
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 21
StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker org.jruby.runtime.builtin.IRubyObject org.jruby.javasupport.JavaCallable[] org.jruby.runtime.builtin.IRubyObject[] java.lang.Class[] java.lang.StringBuilder top int int org.jruby.javasupport.ParameterTypes[]
StackMap stack:
17: aload 9
iload 7
aaload
astore 6
start local 6 18: aload 6
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 10
start local 10 19: aload 5
ldc "\n "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
aload 5
aload 10
invokestatic org.jruby.util.CodegenUtils.prettyParams:(Ljava/lang/StringBuilder;[Ljava/lang/Class;)Ljava/lang/StringBuilder;
pop
end local 10 end local 6 20: iinc 7 1
StackMap locals:
StackMap stack:
21: iload 7
iload 8
if_icmplt 17
22: StackMap locals: org.jruby.java.invokers.RubyToJavaInvoker org.jruby.runtime.builtin.IRubyObject org.jruby.javasupport.JavaCallable[] org.jruby.runtime.builtin.IRubyObject[] java.lang.Class[] java.lang.StringBuilder
StackMap stack:
aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
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 23 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 23 1 receiver Lorg/jruby/runtime/builtin/IRubyObject;
0 23 2 methods [Lorg/jruby/javasupport/JavaCallable;
0 23 3 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 23 4 argTypes [Ljava/lang/Class;
2 6 5 i I
7 23 5 error Ljava/lang/StringBuilder;
10 11 6 method Lorg/jruby/javasupport/JavaMethod;
18 20 6 method Lorg/jruby/javasupport/ParameterTypes;
19 20 10 paramTypes [Ljava/lang/Class;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;[TT;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
MethodParameters:
Name Flags
receiver final
methods final
args
private org.jruby.exceptions.RaiseException newErrorDueNoMatchingCallable(org.jruby.runtime.builtin.IRubyObject, java.lang.String);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
bipush 48
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 1: aload 3
ldc "no "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
invokevirtual org.jruby.java.invokers.RubyToJavaInvoker.isConstructor:()Z
ifeq 3
aload 3
ldc "constructor"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 4
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 3
ldc "method '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: StackMap locals:
StackMap stack:
aload 3
ldc " (for zero arguments) on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokestatic org.jruby.java.invokers.RubyToJavaInvoker.formatReceiver:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 0
getfield org.jruby.java.invokers.RubyToJavaInvoker.runtime:Lorg/jruby/Ruby;
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/java/invokers/RubyToJavaInvoker<TT;>;
0 6 1 receiver Lorg/jruby/runtime/builtin/IRubyObject;
0 6 2 name Ljava/lang/String;
1 6 3 error Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
receiver final
name final
private static java.lang.Class<?> getClass(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
ifnonnull 1
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
areturn
1: StackMap locals:
StackMap stack:
aload 0
instanceof org.jruby.java.proxies.ConcreteJavaProxy
ifeq 3
2: aload 0
checkcast org.jruby.java.proxies.ConcreteJavaProxy
invokevirtual org.jruby.java.proxies.ConcreteJavaProxy.getJavaClass:()Ljava/lang/Class;
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 object Lorg/jruby/runtime/builtin/IRubyObject;
Signature: (Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
object final
private static java.lang.String formatReceiver(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.jruby.RubyModule
ifeq 2
1: aload 0
checkcast org.jruby.RubyModule
invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 object Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
object final
}
Signature: <T:Lorg/jruby/javasupport/JavaCallable;>Lorg/jruby/internal/runtime/methods/JavaMethod;
SourceFile: "RubyToJavaInvoker.java"
NestMembers:
org.jruby.java.invokers.RubyToJavaInvoker$NullHashMapLong
InnerClasses:
private NullHashMapLong = org.jruby.java.invokers.RubyToJavaInvoker$NullHashMapLong of org.jruby.java.invokers.RubyToJavaInvoker
public Entry = org.jruby.util.collections.IntHashMap$Entry of org.jruby.util.collections.IntHashMap