public class org.apache.commons.collections.functors.PrototypeFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.collections.functors.PrototypeFactory
super_class: java.lang.Object
{
public static org.apache.commons.collections.Factory getInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/apache/commons/collections/Factory;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=2, args_size=1
start local 0 // java.lang.Object prototype
0: .line 69
aload 0 /* prototype */
ifnonnull 2
1: .line 70
getstatic org.apache.commons.collections.functors.ConstantFactory.NULL_INSTANCE:Lorg/apache/commons/collections/Factory;
areturn
2: .line 73
StackMap locals:
StackMap stack:
aload 0 /* prototype */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc "clone"
aconst_null
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 1 /* method */
start local 1 // java.lang.reflect.Method method
3: .line 74
new org.apache.commons.collections.functors.PrototypeFactory$PrototypeCloneFactory
dup
aload 0 /* prototype */
aload 1 /* method */
invokespecial org.apache.commons.collections.functors.PrototypeFactory$PrototypeCloneFactory.<init>:(Ljava/lang/Object;Ljava/lang/reflect/Method;)V
4: areturn
end local 1 // java.lang.reflect.Method method
5: .line 76
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
6: .line 78
aload 0 /* prototype */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 0 /* prototype */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
pop
7: .line 79
new org.apache.commons.collections.functors.InstantiateFactory
dup
8: .line 80
aload 0 /* prototype */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
9: .line 81
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 0 /* prototype */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
10: .line 82
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0 /* prototype */
aastore
11: .line 79
invokespecial org.apache.commons.collections.functors.InstantiateFactory.<init>:(Ljava/lang/Class;[Ljava/lang/Class;[Ljava/lang/Object;)V
12: areturn
13: .line 84
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
14: .line 85
aload 0 /* prototype */
instanceof java.io.Serializable
ifeq 16
15: .line 86
new org.apache.commons.collections.functors.PrototypeFactory$PrototypeSerializationFactory
dup
aload 0 /* prototype */
checkcast java.io.Serializable
invokespecial org.apache.commons.collections.functors.PrototypeFactory$PrototypeSerializationFactory.<init>:(Ljava/io/Serializable;)V
areturn
16: .line 90
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "The prototype must be cloneable via a public clone method"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 // java.lang.Object prototype
LocalVariableTable:
Start End Slot Name Signature
0 17 0 prototype Ljava/lang/Object;
3 5 1 method Ljava/lang/reflect/Method;
Exception table:
from to target type
2 4 5 Class java.lang.NoSuchMethodException
6 12 13 Class java.lang.NoSuchMethodException
MethodParameters:
Name Flags
prototype
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.commons.collections.functors.PrototypeFactory this
0: .line 98
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 99
return
end local 0 // org.apache.commons.collections.functors.PrototypeFactory this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/collections/functors/PrototypeFactory;
}
SourceFile: "PrototypeFactory.java"
NestMembers:
org.apache.commons.collections.functors.PrototypeFactory$PrototypeCloneFactory org.apache.commons.collections.functors.PrototypeFactory$PrototypeSerializationFactory
InnerClasses:
PrototypeCloneFactory = org.apache.commons.collections.functors.PrototypeFactory$PrototypeCloneFactory of org.apache.commons.collections.functors.PrototypeFactory
PrototypeSerializationFactory = org.apache.commons.collections.functors.PrototypeFactory$PrototypeSerializationFactory of org.apache.commons.collections.functors.PrototypeFactory