public class org.jruby.javasupport.proxy.JavaProxyClass extends org.jruby.javasupport.proxy.JavaProxyReflectionObject
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.javasupport.proxy.JavaProxyClass
super_class: org.jruby.javasupport.proxy.JavaProxyReflectionObject
{
private final java.lang.Class proxyClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.ArrayList<org.jruby.javasupport.proxy.JavaProxyMethod> methods;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lorg/jruby/javasupport/proxy/JavaProxyMethod;>;
private final java.util.HashMap<java.lang.String, java.util.ArrayList<org.jruby.javasupport.proxy.JavaProxyMethod>> methodMap;
descriptor: Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/util/ArrayList<Lorg/jruby/javasupport/proxy/JavaProxyMethod;>;>;
private transient org.jruby.javasupport.proxy.JavaProxyConstructor[] constructors;
descriptor: [Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private static final java.util.HashSet<java.lang.String> EXCLUDE_MODULES;
descriptor: Ljava/util/HashSet;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashSet<Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new java.util.HashSet
dup
bipush 8
fconst_1
invokespecial java.util.HashSet.<init>:(IF)V
putstatic org.jruby.javasupport.proxy.JavaProxyClass.EXCLUDE_MODULES:Ljava/util/HashSet;
1: getstatic org.jruby.javasupport.proxy.JavaProxyClass.EXCLUDE_MODULES:Ljava/util/HashSet;
ldc "Kernel"
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
2: getstatic org.jruby.javasupport.proxy.JavaProxyClass.EXCLUDE_MODULES:Ljava/util/HashSet;
ldc "Java"
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
3: getstatic org.jruby.javasupport.proxy.JavaProxyClass.EXCLUDE_MODULES:Ljava/util/HashSet;
ldc "JavaProxyMethods"
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
4: getstatic org.jruby.javasupport.proxy.JavaProxyClass.EXCLUDE_MODULES:Ljava/util/HashSet;
ldc "Enumerable"
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
5: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.getThreadLocalRuntime:()Lorg/jruby/Ruby;
aload 1
invokespecial org.jruby.javasupport.proxy.JavaProxyClass.<init>:(Lorg/jruby/Ruby;Ljava/lang/Class;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
0 2 1 proxyClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
proxyClass final
private void <init>(org.jruby.Ruby, java.lang.Class<?>);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
ldc "Java"
invokevirtual org.jruby.Ruby.getModule:(Ljava/lang/String;)Lorg/jruby/RubyModule;
ldc "JavaProxyClass"
invokevirtual org.jruby.RubyModule.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
invokespecial org.jruby.javasupport.proxy.JavaProxyReflectionObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.jruby.javasupport.proxy.JavaProxyClass.methods:Ljava/util/ArrayList;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.jruby.javasupport.proxy.JavaProxyClass.methodMap:Ljava/util/HashMap;
3: aload 0
aload 2
putfield org.jruby.javasupport.proxy.JavaProxyClass.proxyClass:Ljava/lang/Class;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
0 5 1 runtime Lorg/jruby/Ruby;
0 5 2 proxyClass Ljava/lang/Class<*>;
Signature: (Lorg/jruby/Ruby;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
runtime final
proxyClass final
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.JavaProxyClass
ifeq 3
1: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.proxyClass:Ljava/lang/Class;
aload 1
checkcast org.jruby.javasupport.proxy.JavaProxyClass
getfield org.jruby.javasupport.proxy.JavaProxyClass.proxyClass:Ljava/lang/Class;
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/JavaProxyClass;
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.JavaProxyClass.proxyClass:Ljava/lang/Class;
invokevirtual java.lang.Object.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
public java.lang.Object getValue();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
private static org.jruby.Ruby getThreadLocalRuntime();
descriptor: ()Lorg/jruby/Ruby;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.jruby.javasupport.proxy.JavaProxyClassFactory.runtimeTLS:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.jruby.Ruby
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.jruby.javasupport.proxy.JavaProxyClass getProxyClass(org.jruby.Ruby, java.lang.Class, java.lang.Class[], java.util.Set<java.lang.String>);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;Ljava/util/Set;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
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
aload 2
aload 3
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.newProxyClass:(Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;Ljava/util/Set;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 superClass Ljava/lang/Class;
0 1 2 interfaces [Ljava/lang/Class;
0 1 3 names Ljava/util/Set<Ljava/lang/String;>;
Exceptions:
throws java.lang.reflect.InvocationTargetException
Signature: (Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;Ljava/util/Set<Ljava/lang/String;>;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
runtime final
superClass
interfaces
names
public static org.jruby.javasupport.proxy.JavaProxyClass getProxyClass(org.jruby.Ruby, java.lang.Class, java.lang.Class[]);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.newProxyClass:(Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;Ljava/util/Set;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 superClass Ljava/lang/Class;
0 1 2 interfaces [Ljava/lang/Class;
Exceptions:
throws java.lang.reflect.InvocationTargetException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
runtime
superClass
interfaces
public static org.jruby.javasupport.proxy.JavaProxyClass newProxyClass(org.jruby.Ruby, java.lang.Class, java.lang.Class[], java.util.Set<java.lang.String>);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;Ljava/util/Set;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 1
ldc Ljava/lang/Object;
astore 1
1: StackMap locals:
StackMap stack:
aload 2
ifnonnull 2
getstatic org.jruby.javasupport.JavaClass.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
astore 2
2: StackMap locals:
StackMap stack:
aload 3
ifnonnull 3
getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
astore 3
3: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
invokestatic org.jruby.javasupport.JavaSupport$ProxyClassKey.getInstance:(Ljava/lang/Class;[Ljava/lang/Class;Ljava/util/Set;)Lorg/jruby/javasupport/JavaSupport$ProxyClassKey;
astore 4
start local 4 4: aload 0
aload 4
invokestatic org.jruby.javasupport.JavaSupportImpl.fetchJavaProxyClass:(Lorg/jruby/Ruby;Lorg/jruby/javasupport/JavaSupport$ProxyClassKey;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
astore 5
start local 5 5: aload 5
ifnull 6
aload 5
areturn
6: StackMap locals: org.jruby.javasupport.JavaSupport$ProxyClassKey org.jruby.javasupport.proxy.JavaProxyClass
StackMap stack:
aload 0
invokevirtual org.jruby.Ruby.getJRubyClassLoader:()Lorg/jruby/util/JRubyClassLoader;
astore 6
start local 6 7: aload 0
invokevirtual org.jruby.Ruby.getJavaProxyClassFactory:()Lorg/jruby/javasupport/proxy/JavaProxyClassFactory;
aload 0
aload 6
checkcast org.jruby.util.ClassDefiningClassLoader
aconst_null
aload 1
aload 2
aload 3
invokevirtual org.jruby.javasupport.proxy.JavaProxyClassFactory.genProxyClass:(Lorg/jruby/Ruby;Lorg/jruby/util/ClassDefiningClassLoader;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;Ljava/util/Set;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
astore 5
8: aload 0
aload 4
aload 5
invokestatic org.jruby.javasupport.JavaSupportImpl.saveJavaProxyClass:(Lorg/jruby/Ruby;Lorg/jruby/javasupport/JavaSupport$ProxyClassKey;Lorg/jruby/javasupport/proxy/JavaProxyClass;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
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 9 0 runtime Lorg/jruby/Ruby;
0 9 1 superClass Ljava/lang/Class;
0 9 2 interfaces [Ljava/lang/Class;
0 9 3 names Ljava/util/Set<Ljava/lang/String;>;
4 9 4 classKey Lorg/jruby/javasupport/JavaSupport$ProxyClassKey;
5 9 5 proxyClass Lorg/jruby/javasupport/proxy/JavaProxyClass;
7 9 6 loader Ljava/lang/ClassLoader;
Exceptions:
throws java.lang.reflect.InvocationTargetException
Signature: (Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;Ljava/util/Set<Ljava/lang/String;>;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
MethodParameters:
Name Flags
runtime final
superClass
interfaces
names
public static org.jruby.javasupport.proxy.JavaProxyClass newProxyClass(org.jruby.Ruby, java.lang.Class, java.lang.Class[]);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.newProxyClass:(Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;Ljava/util/Set;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 superClass Ljava/lang/Class;
0 1 2 interfaces [Ljava/lang/Class;
Exceptions:
throws java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
runtime
superClass
interfaces
public static java.lang.Object newProxyInstance(org.jruby.Ruby, java.lang.Class, java.lang.Class[], java.lang.Class[], java.lang.Object[], org.jruby.javasupport.proxy.JavaProxyInvocationHandler);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;[Ljava/lang/Class;[Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, 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
aload 1
aload 2
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.newProxyClass:(Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
astore 6
start local 6 1: aload 6
2: aload 3
ifnonnull 3
getstatic org.jruby.javasupport.JavaClass.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
goto 4
StackMap locals: org.jruby.Ruby java.lang.Class java.lang.Class[] java.lang.Class[] java.lang.Object[] org.jruby.javasupport.proxy.JavaProxyInvocationHandler org.jruby.javasupport.proxy.JavaProxyClass
StackMap stack: org.jruby.javasupport.proxy.JavaProxyClass
3: aload 3
4: StackMap locals: org.jruby.Ruby java.lang.Class java.lang.Class[] java.lang.Class[] java.lang.Object[] org.jruby.javasupport.proxy.JavaProxyInvocationHandler org.jruby.javasupport.proxy.JavaProxyClass
StackMap stack: org.jruby.javasupport.proxy.JavaProxyClass java.lang.Class[]
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.getConstructor:([Ljava/lang/Class;)Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
astore 7
start local 7 5: aload 7
aload 4
aload 5
invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstance:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 runtime Lorg/jruby/Ruby;
0 6 1 superClass Ljava/lang/Class;
0 6 2 interfaces [Ljava/lang/Class;
0 6 3 constructorParameters [Ljava/lang/Class;
0 6 4 constructorArgs [Ljava/lang/Object;
0 6 5 handler Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
1 6 6 proxyClass Lorg/jruby/javasupport/proxy/JavaProxyClass;
5 6 7 constructor Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
Exceptions:
throws java.lang.IllegalArgumentException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.SecurityException, java.lang.NoSuchMethodException
MethodParameters:
Name Flags
runtime
superClass
interfaces
constructorParameters
constructorArgs
handler
public java.lang.Class getSuperclass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.proxyClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
public java.lang.Class[] getInterfaces();
descriptor: ()[Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.proxyClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 1
start local 1 1: aload 1
arraylength
iconst_1
isub
anewarray java.lang.Class
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 8
5: StackMap locals: org.jruby.javasupport.proxy.JavaProxyClass java.lang.Class[] java.lang.Class[] int int
StackMap stack:
aload 1
iload 3
aaload
ldc Lorg/jruby/javasupport/proxy/InternalJavaProxy;
if_acmpne 6
goto 7
6: StackMap locals:
StackMap stack:
aload 2
iload 4
iinc 4 1
aload 1
iload 3
aaload
aastore
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 1
arraylength
if_icmplt 5
end local 4 end local 3 9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
1 10 1 ifaces [Ljava/lang/Class;
2 10 2 result [Ljava/lang/Class;
3 9 3 i I
4 9 4 j I
public org.jruby.javasupport.proxy.JavaProxyConstructor[] getConstructors();
descriptor: ()[Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.constructors:[Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
areturn
2: StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor[]
StackMap stack:
aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.getRuntime:()Lorg/jruby/Ruby;
astore 2
start local 2 3: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.proxyClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
astore 3
start local 3 4: aload 3
arraylength
anewarray org.jruby.javasupport.proxy.JavaProxyConstructor
astore 1
5: iconst_0
istore 4
start local 4 6: goto 9
7: StackMap locals: org.jruby.Ruby java.lang.reflect.Constructor[] int
StackMap stack:
aload 1
iload 4
new org.jruby.javasupport.proxy.JavaProxyConstructor
dup
aload 2
aload 0
aload 3
iload 4
aaload
invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor.<init>:(Lorg/jruby/Ruby;Lorg/jruby/javasupport/proxy/JavaProxyClass;Ljava/lang/reflect/Constructor;)V
aastore
8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 3
arraylength
if_icmplt 7
end local 4 10: aload 0
aload 1
dup_x1
putfield org.jruby.javasupport.proxy.JavaProxyClass.constructors:[Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
1 11 1 constructors [Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
3 11 2 runtime Lorg/jruby/Ruby;
4 11 3 ctors [Ljava/lang/reflect/Constructor;
6 10 4 i I
public org.jruby.javasupport.proxy.JavaProxyConstructor getConstructor(java.lang.Class[]);
descriptor: ([Ljava/lang/Class;)Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
arraylength
iconst_1
iadd
anewarray java.lang.Class
astore 2
start local 2 1: aload 1
iconst_0
aload 2
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 2
aload 1
arraylength
ldc Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
aastore
3: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.proxyClass:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 3
start local 3 4: new org.jruby.javasupport.proxy.JavaProxyConstructor
dup
aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.getRuntime:()Lorg/jruby/Ruby;
aload 0
aload 3
invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor.<init>:(Lorg/jruby/Ruby;Lorg/jruby/javasupport/proxy/JavaProxyClass;Ljava/lang/reflect/Constructor;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
0 5 1 args [Ljava/lang/Class;
1 5 2 realArgs [Ljava/lang/Class;
4 5 3 constructor Ljava/lang/reflect/Constructor<*>;
Exceptions:
throws java.lang.SecurityException, java.lang.NoSuchMethodException
MethodParameters:
Name Flags
args final
public org.jruby.javasupport.proxy.JavaProxyMethod[] getMethods();
descriptor: ()[Lorg/jruby/javasupport/proxy/JavaProxyMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.methods:Ljava/util/ArrayList;
aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.methods:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
anewarray org.jruby.javasupport.proxy.JavaProxyMethod
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.jruby.javasupport.proxy.JavaProxyMethod[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
public org.jruby.javasupport.proxy.JavaProxyMethod getMethod(java.lang.String, java.lang.Class[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Lorg/jruby/javasupport/proxy/JavaProxyMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.methodMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 1: aload 3
ifnull 7
aload 3
invokeinterface java.util.List.size:()I
ifle 7
2: aload 3
invokeinterface java.util.List.size:()I
istore 4
start local 4 3: goto 6
4: StackMap locals: java.util.List int
StackMap stack:
aload 3
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl
astore 5
start local 5 5: aload 5
aload 1
aload 2
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.matches:(Ljava/lang/String;[Ljava/lang/Class;)Z
ifeq 6
aload 5
areturn
end local 5 6: StackMap locals:
StackMap stack:
iinc 4 -1
iload 4
ifge 4
end local 4 7: 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 8 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
0 8 1 name Ljava/lang/String;
0 8 2 parameterTypes [Ljava/lang/Class;
1 8 3 methods Ljava/util/List<Lorg/jruby/javasupport/proxy/JavaProxyMethod;>;
3 7 4 i I
5 6 5 impl Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
MethodParameters:
Name Flags
name
parameterTypes
public final java.lang.Class getJavaClass();
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.JavaProxyClass.proxyClass:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
org.jruby.javasupport.proxy.JavaProxyMethod initMethod(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Lorg/jruby/javasupport/proxy/JavaProxyMethod;
flags: (0x0000)
Code:
stack=6, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.proxyClass:Ljava/lang/Class;
astore 4
start local 4 1: aload 4
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aload 2
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.parse:(Ljava/lang/ClassLoader;Ljava/lang/String;)[Ljava/lang/Class;
astore 5
start local 5 2: aload 4
aload 1
aload 5
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 6
start local 6 3: aconst_null
astore 7
start local 7 4: iload 3
ifeq 6
5: aload 4
new java.lang.StringBuilder
dup
ldc "__super$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 7
6: StackMap locals: org.jruby.javasupport.proxy.JavaProxyClass java.lang.String java.lang.String int java.lang.Class java.lang.Class[] java.lang.reflect.Method java.lang.reflect.Method
StackMap stack:
new org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl
dup
aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.getRuntime:()Lorg/jruby/Ruby;
aload 0
aload 6
aload 7
invokespecial org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.<init>:(Lorg/jruby/Ruby;Lorg/jruby/javasupport/proxy/JavaProxyClass;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V
astore 8
start local 8 7: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.methods:Ljava/util/ArrayList;
aload 8
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.methodMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayList
astore 9
start local 9 9: aload 9
ifnonnull 12
10: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 9
11: aload 0
getfield org.jruby.javasupport.proxy.JavaProxyClass.methodMap:Ljava/util/HashMap;
aload 1
aload 9
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals: org.jruby.javasupport.proxy.JavaProxyMethod java.util.ArrayList
StackMap stack:
aload 9
aload 8
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
13: aload 8
14: areturn
end local 9 end local 8 end local 7 end local 6 end local 5 15: StackMap locals: org.jruby.javasupport.proxy.JavaProxyClass java.lang.String java.lang.String int java.lang.Class
StackMap stack: java.lang.ClassNotFoundException
astore 5
start local 5 16: new java.lang.InternalError
dup
aload 5
invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 5 17: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 5
start local 5 18: new java.lang.InternalError
dup
aload 5
invokevirtual java.lang.SecurityException.getMessage:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 5 19: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 5
start local 5 20: new java.lang.InternalError
dup
aload 5
invokevirtual java.lang.NoSuchMethodException.getMessage:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
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 21 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
0 21 1 name Ljava/lang/String;
0 21 2 desc Ljava/lang/String;
0 21 3 hasSuper Z
1 21 4 proxy Ljava/lang/Class;
2 15 5 paramTypes [Ljava/lang/Class;
3 15 6 method Ljava/lang/reflect/Method;
4 15 7 superMethod Ljava/lang/reflect/Method;
7 15 8 proxyMethod Lorg/jruby/javasupport/proxy/JavaProxyMethod;
9 15 9 methodsWithName Ljava/util/ArrayList<Lorg/jruby/javasupport/proxy/JavaProxyMethod;>;
16 17 5 e Ljava/lang/ClassNotFoundException;
18 19 5 e Ljava/lang/SecurityException;
20 21 5 e Ljava/lang/NoSuchMethodException;
Exception table:
from to target type
1 14 15 Class java.lang.ClassNotFoundException
1 14 17 Class java.lang.SecurityException
1 14 19 Class java.lang.NoSuchMethodException
MethodParameters:
Name Flags
name final
desc final
hasSuper final
private static java.lang.Class[] parse(java.lang.ClassLoader, java.lang.String);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)[Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
bipush 8
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: iconst_1
istore 3
start local 3 2: goto 36
3: StackMap locals: java.util.ArrayList int
StackMap stack:
iconst_0
istore 4
start local 4 4: goto 6
5: StackMap locals: int
StackMap stack:
iinc 3 1
iinc 4 1
6: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpeq 5
7: aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 9
66: 15
67: 17
68: 29
70: 27
73: 23
74: 25
76: 8
83: 21
90: 19
default: 31
}
8: StackMap locals:
StackMap stack:
aload 1
bipush 59
iload 3
invokevirtual java.lang.String.indexOf:(II)I
istore 6
start local 6 9: aload 1
iload 3
iconst_1
iadd
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
start local 7 10: iload 6
istore 3
11: new org.jruby.javasupport.proxy.JavaProxyClass$1
dup
aload 7
aload 0
invokespecial org.jruby.javasupport.proxy.JavaProxyClass$1.<init>:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.lang.Class
astore 5
start local 5 12: goto 32
end local 5 StackMap locals: java.lang.ClassLoader java.lang.String java.util.ArrayList int int top int java.lang.String
StackMap stack: java.security.PrivilegedActionException
13: astore 8
start local 8 14: aload 8
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.lang.ClassNotFoundException
athrow
end local 8 end local 7 end local 6 15: StackMap locals: java.lang.ClassLoader java.lang.String java.util.ArrayList int int
StackMap stack:
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
astore 5
start local 5 16: goto 32
end local 5 17: StackMap locals:
StackMap stack:
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
astore 5
start local 5 18: goto 32
end local 5 19: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
astore 5
start local 5 20: goto 32
end local 5 21: StackMap locals:
StackMap stack:
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
astore 5
start local 5 22: goto 32
end local 5 23: StackMap locals:
StackMap stack:
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
astore 5
start local 5 24: goto 32
end local 5 25: StackMap locals:
StackMap stack:
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
astore 5
start local 5 26: goto 32
end local 5 27: StackMap locals:
StackMap stack:
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
astore 5
start local 5 28: goto 32
end local 5 29: StackMap locals:
StackMap stack:
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
astore 5
start local 5 30: goto 32
end local 5 31: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "cannot parse "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
start local 5 32: StackMap locals: java.lang.Class
StackMap stack:
iinc 3 1
33: iload 4
ifeq 35
34: aload 5
iload 4
newarray 10
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 5
35: StackMap locals:
StackMap stack:
aload 2
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 36: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 41
if_icmpne 3
37: aload 2
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 38
getstatic org.jruby.javasupport.JavaClass.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
goto 39
StackMap locals:
StackMap stack:
38: aload 2
aload 2
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.Class
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
StackMap locals:
StackMap stack: java.lang.Class[]
39: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 loader Ljava/lang/ClassLoader;
0 40 1 desc Ljava/lang/String;
1 40 2 types Ljava/util/ArrayList<Ljava/lang/Class;>;
2 40 3 idx I
4 36 4 arr I
12 13 5 type Ljava/lang/Class;
16 17 5 type Ljava/lang/Class;
18 19 5 type Ljava/lang/Class;
20 21 5 type Ljava/lang/Class;
22 23 5 type Ljava/lang/Class;
24 25 5 type Ljava/lang/Class;
26 27 5 type Ljava/lang/Class;
28 29 5 type Ljava/lang/Class;
30 31 5 type Ljava/lang/Class;
32 36 5 type Ljava/lang/Class;
9 15 6 semi I
10 15 7 name Ljava/lang/String;
14 15 8 e Ljava/security/PrivilegedActionException;
Exception table:
from to target type
11 12 13 Class java.security.PrivilegedActionException
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
loader final
desc
public static void createJavaProxyClasses(org.jruby.Ruby, org.jruby.RubyModule);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.createJavaProxyClassClass:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyClass;
pop
1: aload 0
aload 1
invokestatic org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.createJavaProxyMethodClass:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyClass;
pop
2: aload 0
aload 1
invokestatic org.jruby.javasupport.proxy.JavaProxyConstructor.createJavaProxyConstructorClass:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyClass;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
0 4 1 Java Lorg/jruby/RubyModule;
MethodParameters:
Name Flags
runtime final
Java final
public static org.jruby.RubyClass createJavaProxyClassClass(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
ldc "JavaProxyClass"
1: aload 0
invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
getstatic org.jruby.runtime.ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
2: invokevirtual org.jruby.RubyModule.defineClassUnder:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
astore 2
start local 2 3: aload 0
aload 2
invokestatic org.jruby.javasupport.proxy.JavaProxyReflectionObject.registerRubyMethods:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
4: aload 2
ldc Lorg/jruby/javasupport/proxy/JavaProxyClass;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 runtime Lorg/jruby/Ruby;
0 6 1 Java Lorg/jruby/RubyModule;
3 6 2 JavaProxyClass Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
runtime final
Java final
public static org.jruby.RubyObject get(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 1
instanceof org.jruby.javasupport.JavaClass
ifne 3
2: aload 2
aload 1
aload 2
invokevirtual org.jruby.Ruby.getJavaSupport:()Lorg/jruby/javasupport/JavaSupport;
invokevirtual org.jruby.javasupport.JavaSupport.getJavaClassClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 1
checkcast org.jruby.javasupport.JavaClass
astore 3
start local 3 4: aload 2
aload 3
invokevirtual org.jruby.javasupport.JavaClass.javaClass:()Ljava/lang/Class;
getstatic org.jruby.javasupport.JavaClass.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.getProxyClass:(Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
5: areturn
6: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.javasupport.JavaClass
StackMap stack: java.lang.Throwable
astore 4
start local 4 7: aload 2
new java.lang.StringBuilder
dup
ldc "unable to create proxy class for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual org.jruby.javasupport.JavaClass.getValue:()Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
astore 5
start local 5 8: aload 5
aload 4
invokevirtual org.jruby.exceptions.RaiseException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
9: aload 5
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 10 0 self Lorg/jruby/runtime/builtin/IRubyObject;
0 10 1 obj Lorg/jruby/runtime/builtin/IRubyObject;
1 10 2 runtime Lorg/jruby/Ruby;
4 10 3 type Lorg/jruby/javasupport/JavaClass;
7 10 4 e Ljava/lang/Throwable;
8 10 5 ex Lorg/jruby/exceptions/RaiseException;
Exception table:
from to target type
4 5 6 Class java.lang.reflect.InvocationTargetException
4 5 6 Class java.lang.Error
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
self
obj
private static boolean isExcludedMethod(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 6
-681255906: 1
-383773413: 2
-315539749: 3
94742904: 4
871091088: 5
1322494972: 6
default: 13
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 1
ldc "finalize"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 13
StackMap locals:
StackMap stack:
2: aload 1
ldc "java_class"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
goto 13
StackMap locals:
StackMap stack:
3: aload 1
ldc "__jcreate!"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
goto 13
StackMap locals:
StackMap stack:
4: aload 1
ldc "class"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
goto 13
StackMap locals:
StackMap stack:
5: aload 1
ldc "initialize"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 13
StackMap locals:
StackMap stack:
6: aload 1
ldc "java_object"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 13
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
8: StackMap locals:
StackMap stack:
iconst_1
ireturn
9: StackMap locals:
StackMap stack:
iconst_1
ireturn
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iconst_1
ireturn
12: StackMap locals:
StackMap stack:
iconst_1
ireturn
13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name final
public static org.jruby.RubyObject get_with_class(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 1
instanceof org.jruby.RubyClass
ifne 3
2: aload 2
aload 1
aload 2
invokevirtual org.jruby.Ruby.getClassClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 2
aload 1
checkcast org.jruby.RubyClass
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.getProxyClass:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 self Lorg/jruby/runtime/builtin/IRubyObject;
0 4 1 obj Lorg/jruby/runtime/builtin/IRubyObject;
1 4 2 runtime Lorg/jruby/Ruby;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(meta = true)
MethodParameters:
Name Flags
self final
obj
public static org.jruby.javasupport.proxy.JavaProxyClass getProxyClass(org.jruby.Ruby, org.jruby.RubyClass);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=15, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 2: new java.util.LinkedHashSet
dup
bipush 8
invokespecial java.util.LinkedHashSet.<init>:(I)V
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: aload 1
invokevirtual org.jruby.RubyClass.getAncestorList:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 67
StackMap locals: org.jruby.Ruby org.jruby.RubyClass org.jruby.javasupport.JavaClass java.util.HashSet java.util.Collection int top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
astore 6
start local 6 6: aload 6
checkcast org.jruby.RubyModule
astore 8
start local 8 7: aload 8
instanceof org.jruby.RubyClass
ifeq 56
8: iload 5
ifeq 9
goto 67
9: StackMap locals: org.jruby.Ruby org.jruby.RubyClass org.jruby.javasupport.JavaClass java.util.HashSet java.util.Collection int org.jruby.runtime.builtin.IRubyObject java.util.Iterator org.jruby.RubyModule
StackMap stack:
aload 8
invokevirtual org.jruby.RubyModule.getInstanceVariables:()Lorg/jruby/runtime/builtin/InstanceVariables;
ldc "@java_proxy_class"
invokeinterface org.jruby.runtime.builtin.InstanceVariables.hasInstanceVariable:(Ljava/lang/String;)Z
ifne 12
10: iconst_1
istore 5
11: goto 67
12: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.jruby.RubyModule.getInstanceVariables:()Lorg/jruby/runtime/builtin/InstanceVariables;
ldc "@java_class"
invokeinterface org.jruby.runtime.builtin.InstanceVariables.getInstanceVariable:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
start local 9 13: aload 9
instanceof org.jruby.javasupport.JavaClass
ifne 17
14: aload 9
ifnonnull 16
15: aload 0
new java.lang.StringBuilder
dup
ldc "no java_class defined for proxy (or ancestor): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
16: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "invalid java_class defined for proxy (or ancestor): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
17: StackMap locals:
StackMap stack:
aload 2
ifnonnull 18
aload 9
checkcast org.jruby.javasupport.JavaClass
astore 2
goto 22
18: StackMap locals:
StackMap stack:
aload 2
aload 9
if_acmpeq 22
19: aload 0
new java.lang.StringBuilder
dup
ldc "java_class defined for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20: ldc ") does not match java_class for ancestor "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
22: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.jruby.RubyModule.getInstanceVariables:()Lorg/jruby/runtime/builtin/InstanceVariables;
ldc "@java_interfaces"
invokeinterface org.jruby.runtime.builtin.InstanceVariables.getInstanceVariable:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
23: aload 9
ifnull 37
aload 9
instanceof org.jruby.RubyNil
ifne 37
24: aload 9
instanceof org.jruby.RubyArray
ifne 26
25: aload 0
new java.lang.StringBuilder
dup
ldc "invalid java_interfaces defined for proxy (or ancestor): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
26: StackMap locals:
StackMap stack:
aload 9
checkcast org.jruby.RubyArray
astore 10
start local 10 27: aload 10
invokevirtual org.jruby.RubyArray.size:()I
istore 11
start local 11 28: goto 36
29: StackMap locals: org.jruby.RubyArray int
StackMap stack:
aload 10
iload 11
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
start local 12 30: aload 12
checkcast org.jruby.javasupport.JavaClass
invokevirtual org.jruby.javasupport.JavaClass.javaClass:()Ljava/lang/Class;
astore 13
start local 13 31: aload 13
invokevirtual java.lang.Class.isInterface:()Z
ifne 35
32: aload 0
new java.lang.StringBuilder
dup
ldc "invalid java interface defined for proxy (or ancestor): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
33: aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " (not an interface)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
35: StackMap locals: org.jruby.runtime.builtin.IRubyObject java.lang.Class
StackMap stack:
aload 4
aload 13
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 13 end local 12 36: StackMap locals:
StackMap stack:
iinc 11 -1
iload 11
ifge 29
end local 11 end local 10 37: StackMap locals:
StackMap stack:
aload 8
ldc "__java_ovrd_methods"
invokevirtual org.jruby.RubyModule.getInternalVariable:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.Collection
astore 10
start local 10 38: aload 10
ifnonnull 54
39: aload 8
invokevirtual org.jruby.RubyModule.getMethods:()Ljava/util/Map;
dup
astore 11
start local 11 40: dup
astore 12
monitorenter
41: new java.util.ArrayList
dup
aload 11
invokeinterface java.util.Map.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 10
42: aload 11
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 14
goto 47
StackMap locals: org.jruby.Ruby org.jruby.RubyClass org.jruby.javasupport.JavaClass java.util.HashSet java.util.Collection int org.jruby.runtime.builtin.IRubyObject java.util.Iterator org.jruby.RubyModule org.jruby.runtime.builtin.IRubyObject java.util.Collection java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
43: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 13
start local 13 44: aload 13
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.isExcludedMethod:(Ljava/lang/String;)Z
ifne 47
45: aload 3
aload 13
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
46: aload 10
aload 13
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 13 47: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 43
48: aload 12
monitorexit
49: goto 52
end local 11 StackMap locals: org.jruby.Ruby org.jruby.RubyClass org.jruby.javasupport.JavaClass java.util.HashSet java.util.Collection int org.jruby.runtime.builtin.IRubyObject java.util.Iterator org.jruby.RubyModule org.jruby.runtime.builtin.IRubyObject java.util.Collection top java.util.Map
StackMap stack: java.lang.Throwable
50: aload 12
monitorexit
51: athrow
start local 11 52: StackMap locals: org.jruby.Ruby org.jruby.RubyClass org.jruby.javasupport.JavaClass java.util.HashSet java.util.Collection int org.jruby.runtime.builtin.IRubyObject java.util.Iterator org.jruby.RubyModule org.jruby.runtime.builtin.IRubyObject java.util.Collection java.util.Map
StackMap stack:
aload 8
ldc "__java_ovrd_methods"
aload 10
invokevirtual org.jruby.RubyModule.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
end local 11 53: goto 67
54: StackMap locals:
StackMap stack:
aload 3
aload 10
invokevirtual java.util.HashSet.addAll:(Ljava/util/Collection;)Z
pop
end local 10 end local 9 55: goto 67
StackMap locals:
StackMap stack:
56: getstatic org.jruby.javasupport.proxy.JavaProxyClass.EXCLUDE_MODULES:Ljava/util/HashSet;
aload 8
invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifne 67
57: aload 8
invokevirtual org.jruby.RubyModule.getMethods:()Ljava/util/Map;
dup
astore 9
start local 9 58: dup
astore 10
monitorenter
59: aload 9
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 62
StackMap locals: org.jruby.Ruby org.jruby.RubyClass org.jruby.javasupport.JavaClass java.util.HashSet java.util.Collection int org.jruby.runtime.builtin.IRubyObject java.util.Iterator org.jruby.RubyModule java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
60: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 61: aload 11
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.isExcludedMethod:(Ljava/lang/String;)Z
ifne 62
aload 3
aload 11
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 11 62: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 60
63: aload 10
monitorexit
64: goto 67
end local 9 StackMap locals: org.jruby.Ruby org.jruby.RubyClass org.jruby.javasupport.JavaClass java.util.HashSet java.util.Collection int org.jruby.runtime.builtin.IRubyObject java.util.Iterator org.jruby.RubyModule top java.util.Map
StackMap stack: java.lang.Throwable
65: aload 10
monitorexit
66: athrow
end local 8 end local 6 67: StackMap locals: org.jruby.Ruby org.jruby.RubyClass org.jruby.javasupport.JavaClass java.util.HashSet java.util.Collection int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
68: aload 2
ifnonnull 69
aload 0
new java.lang.StringBuilder
dup
ldc "unable to create proxy class: no java_class defined for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
69: StackMap locals: org.jruby.Ruby org.jruby.RubyClass org.jruby.javasupport.JavaClass java.util.HashSet java.util.Collection int
StackMap stack:
aload 4
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 70
getstatic org.jruby.javasupport.JavaClass.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
goto 71
StackMap locals:
StackMap stack:
70: aload 4
aload 4
invokeinterface java.util.Collection.size:()I
anewarray java.lang.Class
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
StackMap locals:
StackMap stack: java.lang.Class[]
71: astore 6
start local 6 72: aload 0
aload 2
invokevirtual org.jruby.javasupport.JavaClass.javaClass:()Ljava/lang/Class;
aload 6
aload 3
invokestatic org.jruby.javasupport.proxy.JavaProxyClass.newProxyClass:(Lorg/jruby/Ruby;Ljava/lang/Class;[Ljava/lang/Class;Ljava/util/Set;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
73: areturn
74: StackMap locals: org.jruby.Ruby org.jruby.RubyClass org.jruby.javasupport.JavaClass java.util.HashSet java.util.Collection int java.lang.Class[]
StackMap stack: org.jruby.exceptions.RaiseException
astore 7
start local 7 75: aload 7
athrow
end local 7 76: StackMap locals:
StackMap stack: java.lang.Exception
astore 7
start local 7 77: aload 7
invokevirtual java.lang.Exception.getLocalizedMessage:()Ljava/lang/String;
astore 8
start local 8 78: aload 8
ifnonnull 79
aload 7
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
astore 8
79: StackMap locals: java.lang.Exception java.lang.String
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "unable to create proxy class for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
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 80: aload 9
aload 7
invokevirtual org.jruby.exceptions.RaiseException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
81: 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 82 0 runtime Lorg/jruby/Ruby;
0 82 1 clazz Lorg/jruby/RubyClass;
1 82 2 javaClass Lorg/jruby/javasupport/JavaClass;
2 82 3 names Ljava/util/HashSet<Ljava/lang/String;>;
3 82 4 interfaceList Ljava/util/Collection<Ljava/lang/Class<*>;>;
4 82 5 skipRemainingClasses Z
6 67 6 ancestorObject Lorg/jruby/runtime/builtin/IRubyObject;
7 67 8 ancestor Lorg/jruby/RubyModule;
13 55 9 var Lorg/jruby/runtime/builtin/IRubyObject;
27 37 10 interfaces Lorg/jruby/RubyArray;
28 37 11 i I
30 36 12 iface Lorg/jruby/runtime/builtin/IRubyObject;
31 36 13 interfaceClass Ljava/lang/Class;
38 55 10 methodNames Ljava/util/Collection<Ljava/lang/String;>;
40 50 11 methods Ljava/util/Map<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
52 53 11 methods Ljava/util/Map<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
44 47 13 id Ljava/lang/String;
58 65 9 methods Ljava/util/Map<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
61 62 11 id Ljava/lang/String;
72 82 6 interfaces [Ljava/lang/Class;
75 76 7 e Lorg/jruby/exceptions/RaiseException;
77 82 7 e Ljava/lang/Exception;
78 82 8 msg Ljava/lang/String;
80 82 9 ex Lorg/jruby/exceptions/RaiseException;
Exception table:
from to target type
41 49 50 any
50 51 50 any
59 64 65 any
65 66 65 any
72 73 74 Class org.jruby.exceptions.RaiseException
72 73 76 Class java.lang.Exception
MethodParameters:
Name Flags
runtime final
clazz final
public org.jruby.RubyObject superclass();
descriptor: ()Lorg/jruby/RubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.getSuperclass:()Ljava/lang/Class;
invokestatic org.jruby.javasupport.JavaClass.get:(Lorg/jruby/Ruby;Ljava/lang/Class;)Lorg/jruby/javasupport/JavaClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public org.jruby.RubyArray methods();
descriptor: ()Lorg/jruby/RubyArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.getMethods:()[Lorg/jruby/javasupport/proxy/JavaProxyMethod;
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.toRubyArray:([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public org.jruby.RubyArray interfaces();
descriptor: ()Lorg/jruby/RubyArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.getInterfaces:()[Ljava/lang/Class;
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.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/JavaProxyClass;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public final org.jruby.RubyArray constructors();
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.JavaProxyClass.getConstructors:()[Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.toRubyArray:([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
public final java.lang.String nameOnInspection();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "[Proxy:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.getSuperclass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/proxy/JavaProxyClass;
}
SourceFile: "JavaProxyClass.java"
NestMembers:
org.jruby.javasupport.proxy.JavaProxyClass$1 org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl
InnerClasses:
public final ProxyClassKey = org.jruby.javasupport.JavaSupport$ProxyClassKey of org.jruby.javasupport.JavaSupport
org.jruby.javasupport.proxy.JavaProxyClass$1
public ProxyMethodImpl = org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl of org.jruby.javasupport.proxy.JavaProxyClass