public abstract class org.jruby.javasupport.JavaCallable extends org.jruby.javasupport.JavaAccessibleObject implements org.jruby.javasupport.ParameterTypes
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jruby.javasupport.JavaCallable
super_class: org.jruby.javasupport.JavaAccessibleObject
{
protected final java.lang.Class<?>[] parameterTypes;
descriptor: [Ljava/lang/Class;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private static final boolean REWRITE_JAVA_TRACE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.jruby.util.cli.Options.REWRITE_JAVA_TRACE:Lcom/headius/options/Option;
invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
putstatic org.jruby.javasupport.JavaCallable.REWRITE_JAVA_TRACE:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.jruby.Ruby, org.jruby.RubyClass, java.lang.Class<?>[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial org.jruby.javasupport.JavaAccessibleObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
aload 3
putfield org.jruby.javasupport.JavaCallable.parameterTypes:[Ljava/lang/Class;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/javasupport/JavaCallable;
0 3 1 runtime Lorg/jruby/Ruby;
0 3 2 rubyClass Lorg/jruby/RubyClass;
0 3 3 parameterTypes [Ljava/lang/Class;
Signature: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
runtime
rubyClass
parameterTypes
public static void registerRubyMethods(org.jruby.Ruby, org.jruby.RubyClass);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lorg/jruby/javasupport/JavaCallable;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 runtime Lorg/jruby/Ruby;
0 2 1 result Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
runtime
result
public final int getArity();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.JavaCallable.parameterTypes:[Ljava/lang/Class;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
public final java.lang.Class<?>[] getParameterTypes();
descriptor: ()[Ljava/lang/Class;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.JavaCallable.parameterTypes:[Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
Signature: ()[Ljava/lang/Class<*>;
public abstract int getModifiers();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.Class<?>[] getExceptionTypes();
descriptor: ()[Ljava/lang/Class;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()[Ljava/lang/Class<*>;
public abstract java.lang.reflect.Type[] getGenericExceptionTypes();
descriptor: ()[Ljava/lang/reflect/Type;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.reflect.Type[] getGenericParameterTypes();
descriptor: ()[Ljava/lang/reflect/Type;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.annotation.Annotation[][] getParameterAnnotations();
descriptor: ()[[Ljava/lang/annotation/Annotation;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean isVarArgs();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.String toGenericString();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
protected abstract java.lang.String nameOnInspection();
descriptor: ()Ljava/lang/String;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public final org.jruby.RubyFixnum arity();
descriptor: ()Lorg/jruby/RubyFixnum;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getArity:()I
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public final org.jruby.RubyArray parameter_types();
descriptor: ()Lorg/jruby/RubyArray;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getParameterTypes:()[Ljava/lang/Class;
invokestatic org.jruby.javasupport.JavaClass.toRubyArray:(Lorg/jruby/Ruby;[Ljava/lang/Class;)Lorg/jruby/RubyArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"argument_types", "parameter_types"})
public org.jruby.RubyArray exception_types();
descriptor: ()Lorg/jruby/RubyArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getExceptionTypes:()[Ljava/lang/Class;
invokestatic org.jruby.javasupport.JavaClass.toRubyArray:(Lorg/jruby/Ruby;[Ljava/lang/Class;)Lorg/jruby/RubyArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public org.jruby.runtime.builtin.IRubyObject generic_parameter_types();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
invokestatic org.jruby.javasupport.Java.getInstance:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public org.jruby.runtime.builtin.IRubyObject generic_exception_types();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getGenericExceptionTypes:()[Ljava/lang/reflect/Type;
invokestatic org.jruby.javasupport.Java.getInstance:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public org.jruby.runtime.builtin.IRubyObject parameter_annotations();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
invokestatic org.jruby.javasupport.Java.getInstance:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public org.jruby.RubyBoolean varargs_p();
descriptor: ()Lorg/jruby/RubyBoolean;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.javasupport.JavaCallable.isVarArgs:()Z
invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"varargs?"})
public org.jruby.RubyString to_generic_string();
descriptor: ()Lorg/jruby/RubyString;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.javasupport.JavaCallable.toGenericString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public org.jruby.RubyBoolean public_p();
descriptor: ()Lorg/jruby/RubyBoolean;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/Ruby;Z)Lorg/jruby/RubyBoolean;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"public?"})
protected final void checkArity(int);
descriptor: (I)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getArity:()I
if_icmpeq 2
1: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
iload 1
aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getArity:()I
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/javasupport/JavaCallable;
0 3 1 length I
MethodParameters:
Name Flags
length final
final java.lang.Object[] convertArguments(org.jruby.runtime.builtin.IRubyObject[]);
descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)[Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.jruby.javasupport.JavaCallable.parameterTypes:[Ljava/lang/Class;
iconst_0
invokestatic org.jruby.javasupport.JavaUtil.convertArguments:([Lorg/jruby/runtime/builtin/IRubyObject;[Ljava/lang/Class;I)[Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
0 1 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
args final
final java.lang.Object[] convertArguments(org.jruby.runtime.builtin.IRubyObject[], int);
descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;I)[Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield org.jruby.javasupport.JavaCallable.parameterTypes:[Ljava/lang/Class;
iload 2
invokestatic org.jruby.javasupport.JavaUtil.convertArguments:([Lorg/jruby/runtime/builtin/IRubyObject;[Ljava/lang/Class;I)[Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
0 1 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 offset I
MethodParameters:
Name Flags
args final
offset
protected final org.jruby.runtime.builtin.IRubyObject handleThrowable(org.jruby.runtime.ThreadContext, java.lang.Throwable);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/Throwable;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.exceptions.JumpException
ifeq 2
1: aload 2
checkcast org.jruby.exceptions.JumpException
athrow
2: StackMap locals:
StackMap stack:
getstatic org.jruby.javasupport.JavaCallable.REWRITE_JAVA_TRACE:Z
ifeq 4
3: aload 1
aload 2
invokestatic org.jruby.runtime.Helpers.rewriteStackTraceAndThrow:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Throwable;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
4: StackMap locals:
StackMap stack:
aload 2
invokestatic org.jruby.runtime.Helpers.throwException:(Ljava/lang/Throwable;)V
5: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/javasupport/JavaCallable;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
context
ex final
protected final org.jruby.runtime.builtin.IRubyObject handleInvocationTargetEx(org.jruby.runtime.ThreadContext, java.lang.reflect.InvocationTargetException);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/reflect/InvocationTargetException;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
invokevirtual org.jruby.javasupport.JavaCallable.handleThrowable:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Throwable;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 ex Ljava/lang/reflect/InvocationTargetException;
MethodParameters:
Name Flags
context
ex
final org.jruby.runtime.builtin.IRubyObject handleIllegalAccessEx(java.lang.IllegalAccessException, java.lang.reflect.Member);
descriptor: (Ljava/lang/IllegalAccessException;Ljava/lang/reflect/Member;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "illegal access on '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokeinterface java.lang.reflect.Member.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;
aload 1
invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
0 1 1 ex Ljava/lang/IllegalAccessException;
0 1 2 target Ljava/lang/reflect/Member;
Exceptions:
throws org.jruby.exceptions.RaiseException
MethodParameters:
Name Flags
ex final
target
final org.jruby.runtime.builtin.IRubyObject handleIllegalAccessEx(java.lang.IllegalAccessException, java.lang.reflect.Constructor);
descriptor: (Ljava/lang/IllegalAccessException;Ljava/lang/reflect/Constructor;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "illegal access on constructor for type '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()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;
aload 1
invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
0 1 1 ex Ljava/lang/IllegalAccessException;
0 1 2 target Ljava/lang/reflect/Constructor;
Exceptions:
throws org.jruby.exceptions.RaiseException
MethodParameters:
Name Flags
ex final
target
final org.jruby.runtime.builtin.IRubyObject handlelIllegalArgumentEx(java.lang.IllegalArgumentException, java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/IllegalArgumentException;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0090) ACC_FINAL, ACC_VARARGS
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
bipush 64
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 4
start local 4 1: aload 4
ldc "for method "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 4
ldc " expected "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
aload 0
aload 4
invokevirtual org.jruby.javasupport.JavaCallable.dumpParameterTypes:(Ljava/lang/StringBuilder;)V
4: aload 4
ldc "; got: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
aload 3
aload 4
invokestatic org.jruby.javasupport.JavaCallable.dumpArgTypes:([Ljava/lang/Object;Ljava/lang/StringBuilder;)Ljava/lang/CharSequence;
pop
5: aload 4
ldc "; error: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/javasupport/JavaCallable;
0 7 1 ex Ljava/lang/IllegalArgumentException;
0 7 2 target Ljava/lang/reflect/Method;
0 7 3 arguments [Ljava/lang/Object;
1 7 4 msg Ljava/lang/StringBuilder;
Exceptions:
throws org.jruby.exceptions.RaiseException
MethodParameters:
Name Flags
ex final
target
arguments
final org.jruby.runtime.builtin.IRubyObject handlelIllegalArgumentEx(java.lang.IllegalArgumentException, java.lang.reflect.Constructor, java.lang.Object[]);
descriptor: (Ljava/lang/IllegalArgumentException;Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0090) ACC_FINAL, ACC_VARARGS
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iconst_1
aload 3
invokevirtual org.jruby.javasupport.JavaCallable.handlelIllegalArgumentEx:(Ljava/lang/IllegalArgumentException;Ljava/lang/reflect/Constructor;Z[Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/JavaCallable;
0 1 1 ex Ljava/lang/IllegalArgumentException;
0 1 2 target Ljava/lang/reflect/Constructor;
0 1 3 arguments [Ljava/lang/Object;
Exceptions:
throws org.jruby.exceptions.RaiseException
MethodParameters:
Name Flags
ex final
target
arguments
final org.jruby.runtime.builtin.IRubyObject handlelIllegalArgumentEx(java.lang.IllegalArgumentException, java.lang.reflect.Constructor, boolean, java.lang.Object[]);
descriptor: (Ljava/lang/IllegalArgumentException;Ljava/lang/reflect/Constructor;Z[Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0090) ACC_FINAL, ACC_VARARGS
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.StringBuilder
dup
bipush 64
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 1: iload 3
ifeq 3
2: aload 5
ldc "for constructor of type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 5
ldc " expected "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
aload 0
aload 5
invokevirtual org.jruby.javasupport.JavaCallable.dumpParameterTypes:(Ljava/lang/StringBuilder;)V
4: aload 5
ldc "; got: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
aload 4
aload 5
invokestatic org.jruby.javasupport.JavaCallable.dumpArgTypes:([Ljava/lang/Object;Ljava/lang/StringBuilder;)Ljava/lang/CharSequence;
pop
5: aload 5
ldc "; error: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 0
invokevirtual org.jruby.javasupport.JavaCallable.getRuntime:()Lorg/jruby/Ruby;
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
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/javasupport/JavaCallable;
0 7 1 ex Ljava/lang/IllegalArgumentException;
0 7 2 target Ljava/lang/reflect/Constructor;
0 7 3 targetInfo Z
0 7 4 arguments [Ljava/lang/Object;
1 7 5 msg Ljava/lang/StringBuilder;
Exceptions:
throws org.jruby.exceptions.RaiseException
MethodParameters:
Name Flags
ex final
target
targetInfo final
arguments
private void dumpParameterTypes(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
1: aload 1
aload 0
iconst_0
invokestatic org.jruby.javasupport.JavaCallable.inspectParameterTypes:(Ljava/lang/StringBuilder;Lorg/jruby/javasupport/ParameterTypes;Z)Ljava/lang/StringBuilder;
pop
2: aload 1
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/javasupport/JavaCallable;
0 4 1 str Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
str final
static java.lang.CharSequence dumpArgTypes(java.lang.Object[], java.lang.StringBuilder);
descriptor: ([Ljava/lang/Object;Ljava/lang/StringBuilder;)Ljava/lang/CharSequence;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int
StackMap stack:
iload 2
ifle 4
aload 1
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: StackMap locals:
StackMap stack:
aload 0
iload 2
aaload
ifnonnull 5
aload 1
ldc "null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 6
5: StackMap locals:
StackMap stack:
aload 1
aload 0
iload 2
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 8: aload 1
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 args [Ljava/lang/Object;
0 10 1 str Ljava/lang/StringBuilder;
2 8 2 i I
MethodParameters:
Name Flags
args final
str final
public static java.lang.StringBuilder inspectParameterTypes(java.lang.StringBuilder, org.jruby.javasupport.ParameterTypes);
descriptor: (Ljava/lang/StringBuilder;Lorg/jruby/javasupport/ParameterTypes;)Ljava/lang/StringBuilder;
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_1
invokestatic org.jruby.javasupport.JavaCallable.inspectParameterTypes:(Ljava/lang/StringBuilder;Lorg/jruby/javasupport/ParameterTypes;Z)Ljava/lang/StringBuilder;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/StringBuilder;
0 1 1 target Lorg/jruby/javasupport/ParameterTypes;
MethodParameters:
Name Flags
str final
target final
private static java.lang.StringBuilder inspectParameterTypes(java.lang.StringBuilder, org.jruby.javasupport.ParameterTypes, boolean);
descriptor: (Ljava/lang/StringBuilder;Lorg/jruby/javasupport/ParameterTypes;Z)Ljava/lang/StringBuilder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 1
aload 0
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
1: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.javasupport.ParameterTypes.getParameterTypes:()[Ljava/lang/Class;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 7
4: StackMap locals: java.lang.Class[] int
StackMap stack:
aload 0
aload 3
iload 4
aaload
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: iload 4
aload 3
arraylength
iconst_1
isub
if_icmpge 6
aload 0
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 3
arraylength
if_icmplt 4
end local 4 8: iload 2
ifeq 9
aload 0
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 str Ljava/lang/StringBuilder;
0 10 1 target Lorg/jruby/javasupport/ParameterTypes;
0 10 2 brackets Z
2 10 3 types [Ljava/lang/Class;
3 8 4 i I
MethodParameters:
Name Flags
str final
target final
brackets final
}
SourceFile: "JavaCallable.java"