public class org.jruby.javasupport.proxy.JavaProxyConstructor extends org.jruby.javasupport.proxy.JavaProxyReflectionObject implements org.jruby.javasupport.ParameterTypes
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.javasupport.proxy.JavaProxyConstructor
super_class: org.jruby.javasupport.proxy.JavaProxyReflectionObject
{
private final java.lang.reflect.Constructor<?> proxyConstructor;
descriptor: Ljava/lang/reflect/Constructor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/reflect/Constructor<*>;
private final java.lang.Class<?>[] actualParameterTypes;
descriptor: [Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private final boolean actualVarArgs;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.javasupport.proxy.JavaProxyClass declaringProxyClass;
descriptor: Lorg/jruby/javasupport/proxy/JavaProxyClass;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static org.jruby.RubyClass createJavaProxyConstructorClass(org.jruby.Ruby, org.jruby.RubyModule);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
1: ldc "JavaProxyConstructor"
2: aload 0
invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
getstatic org.jruby.runtime.ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
3: invokevirtual org.jruby.RubyModule.defineClassUnder:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
astore 2
start local 2 4: aload 0
aload 2
invokestatic org.jruby.javasupport.proxy.JavaProxyReflectionObject.registerRubyMethods:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
5: aload 2
ldc Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 runtime Lorg/jruby/Ruby;
0 7 1 Java Lorg/jruby/RubyModule;
4 7 2 JavaProxyConstructor Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
runtime
Java
void <init>(org.jruby.Ruby, org.jruby.javasupport.proxy.JavaProxyClass, java.lang.reflect.Constructor<?>);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/javasupport/proxy/JavaProxyClass;Ljava/lang/reflect/Constructor;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 1
invokevirtual org.jruby.Ruby.getJavaSupport:()Lorg/jruby/javasupport/JavaSupport;
invokevirtual org.jruby.javasupport.JavaSupport.getJavaProxyConstructorClass:()Lorg/jruby/RubyClass;
invokespecial org.jruby.javasupport.proxy.JavaProxyReflectionObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
aload 2
putfield org.jruby.javasupport.proxy.JavaProxyConstructor.declaringProxyClass:Lorg/jruby/javasupport/proxy/JavaProxyClass;
2: aload 0
aload 3
putfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
3: aload 3
invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
astore 4
start local 4 4: aload 0
aload 4
aload 4
arraylength
iconst_1
isub
invokestatic org.jruby.util.ArraySupport.newCopy:([Ljava/lang/Class;I)[Ljava/lang/Class;
putfield org.jruby.javasupport.proxy.JavaProxyConstructor.actualParameterTypes:[Ljava/lang/Class;
5: aload 0
aload 0
getfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
invokestatic org.jruby.javasupport.proxy.JavaProxyClassFactory.isVarArgs:(Ljava/lang/reflect/Constructor;)Z
putfield org.jruby.javasupport.proxy.JavaProxyConstructor.actualVarArgs:Z
6: return
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/proxy/JavaProxyConstructor;
0 7 1 runtime Lorg/jruby/Ruby;
0 7 2 proxyClass Lorg/jruby/javasupport/proxy/JavaProxyClass;
0 7 3 constructor Ljava/lang/reflect/Constructor<*>;
4 7 4 parameterTypes [Ljava/lang/Class;
Signature: (Lorg/jruby/Ruby;Lorg/jruby/javasupport/proxy/JavaProxyClass;Ljava/lang/reflect/Constructor<*>;)V
MethodParameters:
Name Flags
runtime
proxyClass
constructor
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.proxy.JavaProxyConstructor.actualParameterTypes:[Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
Signature: ()[Ljava/lang/Class<*>;
public final java.lang.Class<?>[] getExceptionTypes();
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.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
invokevirtual java.lang.reflect.Constructor.getExceptionTypes:()[Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
Signature: ()[Ljava/lang/Class<*>;
public final boolean isVarArgs();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyConstructor.actualVarArgs:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
public org.jruby.javasupport.proxy.JavaProxyClass getDeclaringClass();
descriptor: ()Lorg/jruby/javasupport/proxy/JavaProxyClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyConstructor.declaringProxyClass:Lorg/jruby/javasupport/proxy/JavaProxyClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"declaring_class"})
public final java.lang.Object newInstance(java.lang.Object[], org.jruby.javasupport.proxy.JavaProxyInvocationHandler);
descriptor: ([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
istore 3
start local 3 1: iload 3
aload 0
getfield org.jruby.javasupport.proxy.JavaProxyConstructor.actualParameterTypes:[Ljava/lang/Class;
arraylength
if_icmpeq 3
2: new java.lang.IllegalArgumentException
dup
ldc "wrong number of parameters"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 3
iconst_1
iadd
invokestatic org.jruby.util.ArraySupport.newCopy:([Ljava/lang/Object;I)[Ljava/lang/Object;
aload 2
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstanceImpl:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
0 4 1 args [Ljava/lang/Object;
0 4 2 handler Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
1 4 3 len I
Exceptions:
throws java.lang.IllegalArgumentException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
args
handler
final java.lang.Object newInstanceImpl(java.lang.Object[], org.jruby.javasupport.proxy.JavaProxyInvocationHandler);
descriptor: ([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)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 1
arraylength
iconst_1
isub
aload 2
aastore
1: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
aload 1
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
0 2 1 argsPlus1 [Ljava/lang/Object;
0 2 2 handler Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
Exceptions:
throws java.lang.IllegalArgumentException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
argsPlus1
handler
public org.jruby.RubyFixnum arity();
descriptor: ()Lorg/jruby/RubyFixnum;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.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/proxy/JavaProxyConstructor;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
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
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getParameterTypes:()[Ljava/lang/Class;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.javasupport.proxy.JavaProxyConstructor
ifeq 3
1: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
aload 1
checkcast org.jruby.javasupport.proxy.JavaProxyConstructor
getfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
if_acmpne 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
0 4 1 other Ljava/lang/Object;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
invokevirtual java.lang.reflect.Constructor.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
public org.jruby.RubyString inspect();
descriptor: ()Lorg/jruby/RubyString;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
ldc "#<"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 1
aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getDeclaringClass:()Lorg/jruby/javasupport/proxy/JavaProxyClass;
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.nameOnInspection:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 1
aload 0
invokestatic org.jruby.javasupport.JavaCallable.inspectParameterTypes:(Ljava/lang/StringBuilder;Lorg/jruby/javasupport/ParameterTypes;)Ljava/lang/StringBuilder;
pop
4: aload 1
bipush 62
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
aload 1
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/CharSequence;)Lorg/jruby/RubyString;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
1 6 1 str Ljava/lang/StringBuilder;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.inspect:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
public final org.jruby.RubyArray argument_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
aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getParameterTypes:()[Ljava/lang/Class;
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.toRubyArray:([Ljava/lang/Class;)Lorg/jruby/RubyArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public org.jruby.RubyObject new_instance2(org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 3
aload 1
iconst_2
iconst_2
invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
pop
2: aload 1
iconst_0
aaload
astore 4
start local 4 3: aload 0
aload 1
iconst_1
aaload
checkcast org.jruby.RubyArray
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.convertArguments:(Lorg/jruby/RubyArray;)[Ljava/lang/Object;
astore 5
start local 5 4: new org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler
dup
aload 3
aload 4
invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
astore 6
start local 6 5: aload 3
aload 0
aload 5
aload 6
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstance:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
invokestatic org.jruby.javasupport.JavaObject.wrap:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
6: areturn
7: StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject java.lang.Object[] org.jruby.javasupport.proxy.JavaProxyInvocationHandler
StackMap stack: java.lang.Exception
astore 7
start local 7 8: aload 3
aload 7
invokestatic org.jruby.javasupport.proxy.JavaProxyConstructor.mapInstantiationException:(Lorg/jruby/Ruby;Ljava/lang/Throwable;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
0 9 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 9 2 unusedBlock Lorg/jruby/runtime/Block;
1 9 3 runtime Lorg/jruby/Ruby;
3 9 4 self Lorg/jruby/runtime/builtin/IRubyObject;
4 9 5 convertedArgs [Ljava/lang/Object;
5 9 6 handler Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
8 9 7 ex Ljava/lang/Exception;
Exception table:
from to target type
5 6 7 Class java.lang.Exception
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(rest = true)
MethodParameters:
Name Flags
args
unusedBlock
public org.jruby.javasupport.JavaObject newInstance(org.jruby.runtime.builtin.IRubyObject, java.lang.Object[]);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;[Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
astore 3
start local 3 1: new org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler
dup
aload 3
aload 1
invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
astore 4
start local 4 2: aload 3
aload 0
aload 2
aload 4
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstance:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
invokestatic org.jruby.javasupport.JavaObject.wrap:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
3: areturn
4: StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.runtime.builtin.IRubyObject java.lang.Object[] org.jruby.Ruby org.jruby.javasupport.proxy.JavaProxyInvocationHandler
StackMap stack: java.lang.Throwable
astore 5
start local 5 5: aload 3
aload 5
invokestatic org.jruby.javasupport.proxy.JavaProxyConstructor.mapInstantiationException:(Lorg/jruby/Ruby;Ljava/lang/Throwable;)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 6 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
0 6 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 6 2 args [Ljava/lang/Object;
1 6 3 runtime Lorg/jruby/Ruby;
2 6 4 handler Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
5 6 5 ex Ljava/lang/Throwable;
Exception table:
from to target type
2 3 4 Class java.lang.Throwable
Exceptions:
throws org.jruby.exceptions.RaiseException
MethodParameters:
Name Flags
self final
args
public final org.jruby.javasupport.JavaObject newInstance(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 0
aload 2
iconst_1
invokestatic org.jruby.java.invokers.RubyToJavaInvoker.convertArguments:(Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;I)[Ljava/lang/Object;
astore 4
start local 4 2: new org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler
dup
aload 3
aload 1
invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
astore 5
start local 5 3: aload 3
aload 0
aload 4
aload 5
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstanceImpl:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
invokestatic org.jruby.javasupport.JavaObject.wrap:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
4: areturn
5: StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby java.lang.Object[] org.jruby.javasupport.proxy.JavaProxyInvocationHandler
StackMap stack: java.lang.Throwable
astore 6
start local 6 6: aload 3
aload 6
invokestatic org.jruby.javasupport.proxy.JavaProxyConstructor.mapInstantiationException:(Lorg/jruby/Ruby;Ljava/lang/Throwable;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
0 7 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 7 3 runtime Lorg/jruby/Ruby;
2 7 4 javaArgsPlus1 [Ljava/lang/Object;
3 7 5 handler Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
6 7 6 ex Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
Exceptions:
throws org.jruby.exceptions.RaiseException
MethodParameters:
Name Flags
self final
args
public final org.jruby.javasupport.JavaObject newInstance(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 0
aload 2
iconst_1
invokestatic org.jruby.java.invokers.RubyToJavaInvoker.convertArguments:(Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/runtime/builtin/IRubyObject;I)[Ljava/lang/Object;
astore 4
start local 4 2: new org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler
dup
aload 3
aload 1
invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
astore 5
start local 5 3: aload 3
aload 0
aload 4
aload 5
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstanceImpl:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
invokestatic org.jruby.javasupport.JavaObject.wrap:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
4: areturn
5: StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby java.lang.Object[] org.jruby.javasupport.proxy.JavaProxyInvocationHandler
StackMap stack: java.lang.Throwable
astore 6
start local 6 6: aload 3
aload 6
invokestatic org.jruby.javasupport.proxy.JavaProxyConstructor.mapInstantiationException:(Lorg/jruby/Ruby;Ljava/lang/Throwable;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
0 7 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
1 7 3 runtime Lorg/jruby/Ruby;
2 7 4 javaArgsPlus1 [Ljava/lang/Object;
3 7 5 handler Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
6 7 6 ex Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
Exceptions:
throws org.jruby.exceptions.RaiseException
MethodParameters:
Name Flags
self final
arg0
private static org.jruby.exceptions.RaiseException mapInstantiationException(org.jruby.Ruby, java.lang.Throwable);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/Throwable;)Lorg/jruby/exceptions/RaiseException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: goto 3
StackMap locals: java.lang.Throwable
StackMap stack:
2: aload 2
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 2
StackMap locals:
StackMap stack:
3: aload 2
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
ifnonnull 2
4: aload 2
invokevirtual java.lang.Throwable.getLocalizedMessage:()Ljava/lang/String;
astore 3
start local 3 5: aload 3
ifnonnull 6
new java.lang.StringBuilder
dup
ldc "Constructor invocation failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 7
StackMap locals: java.lang.String
StackMap stack:
6: new java.lang.StringBuilder
dup
ldc "Constructor invocation failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
7: astore 3
8: aload 0
aload 3
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
astore 4
start local 4 9: aload 4
aload 1
invokevirtual org.jruby.exceptions.RaiseException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
10: aload 4
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 runtime Lorg/jruby/Ruby;
0 11 1 e Ljava/lang/Throwable;
1 11 2 cause Ljava/lang/Throwable;
5 11 3 msg Ljava/lang/String;
9 11 4 ex Lorg/jruby/exceptions/RaiseException;
MethodParameters:
Name Flags
runtime final
e final
public org.jruby.RubyObject new_instance(org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 3
aload 1
iconst_1
iconst_2
invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
iconst_1
isub
istore 4
start local 4 2: aload 1
iload 4
aaload
instanceof org.jruby.RubyProc
ifeq 5
3: aload 1
iload 4
aaload
checkcast org.jruby.RubyProc
astore 5
start local 5 4: goto 6
end local 5 5: StackMap locals: org.jruby.Ruby int
StackMap stack:
aload 3
getstatic org.jruby.runtime.Block$Type.PROC:Lorg/jruby/runtime/Block$Type;
aload 2
invokevirtual org.jruby.Ruby.newProc:(Lorg/jruby/runtime/Block$Type;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyProc;
astore 5
start local 5 6: StackMap locals: org.jruby.RubyProc
StackMap stack:
aload 0
aload 1
iconst_0
aaload
checkcast org.jruby.RubyArray
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.convertArguments:(Lorg/jruby/RubyArray;)[Ljava/lang/Object;
astore 6
start local 6 7: new org.jruby.javasupport.proxy.JavaProxyConstructor$ProcInvocationHandler
dup
aload 3
aload 5
invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor$ProcInvocationHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyProc;)V
astore 7
start local 7 8: aload 3
aload 0
aload 6
aload 7
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstance:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
invokestatic org.jruby.javasupport.JavaObject.wrap:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
9: areturn
10: StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.Ruby int org.jruby.RubyProc java.lang.Object[] org.jruby.javasupport.proxy.JavaProxyInvocationHandler
StackMap stack: java.lang.Exception
astore 8
start local 8 11: aload 3
new java.lang.StringBuilder
dup
ldc "Constructor invocation failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.Exception.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.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
astore 9
start local 9 12: aload 9
aload 8
invokevirtual org.jruby.exceptions.RaiseException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
13: aload 9
athrow
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
0 14 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 14 2 block Lorg/jruby/runtime/Block;
1 14 3 runtime Lorg/jruby/Ruby;
2 14 4 last I
4 5 5 proc Lorg/jruby/RubyProc;
6 14 5 proc Lorg/jruby/RubyProc;
7 14 6 convertedArgs [Ljava/lang/Object;
8 14 7 handler Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
11 14 8 e Ljava/lang/Exception;
12 14 9 ex Lorg/jruby/exceptions/RaiseException;
Exception table:
from to target type
8 9 10 Class java.lang.Exception
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(required = 1, optional = 1)
MethodParameters:
Name Flags
args
block
private java.lang.Object[] convertArguments(org.jruby.RubyArray);
descriptor: (Lorg/jruby/RubyArray;)[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.RubyArray.size:()I
istore 2
start local 2 1: iload 2
anewarray java.lang.Object
astore 3
start local 3 2: aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getParameterTypes:()[Ljava/lang/Class;
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 7
5: StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.RubyArray int java.lang.Object[] java.lang.Class[] int
StackMap stack:
aload 3
iload 5
aload 1
iload 5
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
aload 4
iload 5
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
aastore
6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 2
if_icmplt 5
end local 5 8: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
0 9 1 arguments Lorg/jruby/RubyArray;
1 9 2 argsSize I
2 9 3 args [Ljava/lang/Object;
3 9 4 parameterTypes [Ljava/lang/Class;
4 8 5 i I
MethodParameters:
Name Flags
arguments final
public org.jruby.runtime.builtin.IRubyObject inspect();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.inspect:()Lorg/jruby/RubyString;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "JavaProxyConstructor.java"
NestMembers:
org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler org.jruby.javasupport.proxy.JavaProxyConstructor$ProcInvocationHandler
InnerClasses:
private final MethodInvocationHandler = org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler of org.jruby.javasupport.proxy.JavaProxyConstructor
private final ProcInvocationHandler = org.jruby.javasupport.proxy.JavaProxyConstructor$ProcInvocationHandler of org.jruby.javasupport.proxy.JavaProxyConstructor
public final Type = org.jruby.runtime.Block$Type of org.jruby.runtime.Block
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyClass(name = {"Java::JavaProxyConstructor"})