public class org.apache.commons.beanutils.ConstructorUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.beanutils.ConstructorUtils
super_class: java.lang.Object
{
private static final java.lang.Class<?>[] EMPTY_CLASS_PARAMETERS;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private static final java.lang.Object[] EMPTY_OBJECT_ARRAY;
descriptor: [Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray java.lang.Class
putstatic org.apache.commons.beanutils.ConstructorUtils.EMPTY_CLASS_PARAMETERS:[Ljava/lang/Class;
1: iconst_0
anewarray java.lang.Object
putstatic org.apache.commons.beanutils.ConstructorUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/beanutils/ConstructorUtils;
public static <T> T invokeConstructor(java.lang.Class<T>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.apache.commons.beanutils.ConstructorUtils.toArray:(Ljava/lang/Object;)[Ljava/lang/Object;
astore 2
start local 2 1: aload 0
aload 2
invokestatic org.apache.commons.beanutils.ConstructorUtils.invokeConstructor:(Ljava/lang/Class;[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 klass Ljava/lang/Class<TT;>;
0 2 1 arg Ljava/lang/Object;
1 2 2 args [Ljava/lang/Object;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
klass final
arg final
public static <T> T invokeConstructor(java.lang.Class<T>, []);
descriptor: (Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: getstatic org.apache.commons.beanutils.ConstructorUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 1
2: StackMap locals:
StackMap stack:
aload 1
arraylength
istore 2
start local 2 3: iload 2
anewarray java.lang.Class
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 8
6: StackMap locals: int java.lang.Class[] int
StackMap stack:
aload 3
iload 4
aload 1
iload 4
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 2
if_icmplt 6
end local 4 9: aload 0
aload 1
aload 3
invokestatic org.apache.commons.beanutils.ConstructorUtils.invokeConstructor:(Ljava/lang/Class;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 klass Ljava/lang/Class<TT;>;
0 10 1 args [Ljava/lang/Object;
3 10 2 arguments I
4 10 3 parameterTypes [Ljava/lang/Class;
5 9 4 i I
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;[Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
klass final
args
public static <T> T invokeConstructor(java.lang.Class<T>, [], java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: getstatic org.apache.commons.beanutils.ConstructorUtils.EMPTY_CLASS_PARAMETERS:[Ljava/lang/Class;
astore 2
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: getstatic org.apache.commons.beanutils.ConstructorUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 1
4: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic org.apache.commons.beanutils.ConstructorUtils.getMatchingAccessibleConstructor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
5: astore 3
start local 3 6: aload 3
ifnonnull 10
7: new java.lang.NoSuchMethodException
dup
8: new java.lang.StringBuilder
dup
ldc "No such accessible constructor on object: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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;
9: invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.lang.reflect.Constructor
StackMap stack:
aload 3
aload 1
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 klass Ljava/lang/Class<TT;>;
0 11 1 args [Ljava/lang/Object;
0 11 2 parameterTypes [Ljava/lang/Class;
6 11 3 ctor Ljava/lang/reflect/Constructor<TT;>;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;[Ljava/lang/Object;[Ljava/lang/Class<*>;)TT;
MethodParameters:
Name Flags
klass final
args
parameterTypes
public static <T> T invokeExactConstructor(java.lang.Class<T>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.apache.commons.beanutils.ConstructorUtils.toArray:(Ljava/lang/Object;)[Ljava/lang/Object;
astore 2
start local 2 1: aload 0
aload 2
invokestatic org.apache.commons.beanutils.ConstructorUtils.invokeExactConstructor:(Ljava/lang/Class;[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 klass Ljava/lang/Class<TT;>;
0 2 1 arg Ljava/lang/Object;
1 2 2 args [Ljava/lang/Object;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
klass final
arg final
public static <T> T invokeExactConstructor(java.lang.Class<T>, []);
descriptor: (Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: getstatic org.apache.commons.beanutils.ConstructorUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 1
2: StackMap locals:
StackMap stack:
aload 1
arraylength
istore 2
start local 2 3: iload 2
anewarray java.lang.Class
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 8
6: StackMap locals: int java.lang.Class[] int
StackMap stack:
aload 3
iload 4
aload 1
iload 4
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 2
if_icmplt 6
end local 4 9: aload 0
aload 1
aload 3
invokestatic org.apache.commons.beanutils.ConstructorUtils.invokeExactConstructor:(Ljava/lang/Class;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 klass Ljava/lang/Class<TT;>;
0 10 1 args [Ljava/lang/Object;
3 10 2 arguments I
4 10 3 parameterTypes [Ljava/lang/Class;
5 9 4 i I
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;[Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
klass final
args
public static <T> T invokeExactConstructor(java.lang.Class<T>, [], java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: getstatic org.apache.commons.beanutils.ConstructorUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 1
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: getstatic org.apache.commons.beanutils.ConstructorUtils.EMPTY_CLASS_PARAMETERS:[Ljava/lang/Class;
astore 2
4: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic org.apache.commons.beanutils.ConstructorUtils.getAccessibleConstructor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 3
start local 3 5: aload 3
ifnonnull 9
6: new java.lang.NoSuchMethodException
dup
7: new java.lang.StringBuilder
dup
ldc "No such accessible constructor on object: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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;
8: invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.lang.reflect.Constructor
StackMap stack:
aload 3
aload 1
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 klass Ljava/lang/Class<TT;>;
0 10 1 args [Ljava/lang/Object;
0 10 2 parameterTypes [Ljava/lang/Class;
5 10 3 ctor Ljava/lang/reflect/Constructor<TT;>;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;[Ljava/lang/Object;[Ljava/lang/Class<*>;)TT;
MethodParameters:
Name Flags
klass final
args
parameterTypes
public static <T> java.lang.reflect.Constructor<T> getAccessibleConstructor(java.lang.Class<T>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 1
aastore
astore 2
start local 2 1: aload 0
aload 2
invokestatic org.apache.commons.beanutils.ConstructorUtils.getAccessibleConstructor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 klass Ljava/lang/Class<TT;>;
0 2 1 parameterType Ljava/lang/Class<*>;
1 2 2 parameterTypes [Ljava/lang/Class;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<TT;>;
MethodParameters:
Name Flags
klass final
parameterType final
public static <T> java.lang.reflect.Constructor<T> getAccessibleConstructor(java.lang.Class<T>, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
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
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
1: invokestatic org.apache.commons.beanutils.ConstructorUtils.getAccessibleConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
2: areturn
3: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
4: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 klass Ljava/lang/Class<TT;>;
0 5 1 parameterTypes [Ljava/lang/Class;
Exception table:
from to target type
0 2 3 Class java.lang.NoSuchMethodException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<TT;>;
MethodParameters:
Name Flags
klass final
parameterTypes final
public static <T> java.lang.reflect.Constructor<T> getAccessibleConstructor(java.lang.reflect.Constructor<T>);
descriptor: (Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.reflect.Constructor.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
astore 1
start local 1 5: aload 1
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 7
6: aload 0
areturn
7: StackMap locals: java.lang.Class
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ctor Ljava/lang/reflect/Constructor<TT;>;
5 8 1 clazz Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/reflect/Constructor<TT;>;)Ljava/lang/reflect/Constructor<TT;>;
MethodParameters:
Name Flags
ctor final
private static java.lang.Object[] toArray(java.lang.Object);
descriptor: (Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
ifnull 3
2: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
astore 1
3: StackMap locals: java.lang.Object[]
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 arg Ljava/lang/Object;
1 4 1 args [Ljava/lang/Object;
MethodParameters:
Name Flags
arg final
private static <T> java.lang.reflect.Constructor<T> getMatchingAccessibleConstructor(java.lang.Class<T>, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=13, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 2
start local 2 1: aload 2
iconst_1
invokevirtual java.lang.reflect.Constructor.setAccessible:(Z)V
2: goto 4
StackMap locals: java.lang.Class java.lang.Class[] java.lang.reflect.Constructor
StackMap stack: java.lang.SecurityException
3: pop
4: StackMap locals:
StackMap stack:
aload 2
5: areturn
end local 2 6: StackMap locals: java.lang.Class java.lang.Class[]
StackMap stack: java.lang.NoSuchMethodException
pop
7: aload 1
arraylength
istore 2
start local 2 8: aload 0
invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
astore 3
start local 3 9: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 34
StackMap locals: java.lang.Class java.lang.Class[] int java.lang.reflect.Constructor[] top int int java.lang.reflect.Constructor[]
StackMap stack:
10: aload 7
iload 5
aaload
astore 4
start local 4 11: aload 4
invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
astore 8
start local 8 12: aload 8
arraylength
istore 9
start local 9 13: iload 9
iload 2
if_icmpne 33
14: iconst_1
istore 10
start local 10 15: iconst_0
istore 11
start local 11 16: goto 24
17: StackMap locals: java.lang.Class java.lang.Class[] int java.lang.reflect.Constructor[] java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] java.lang.Class[] int int int
StackMap stack:
aload 8
iload 11
aaload
18: aload 1
iload 11
aaload
19: invokestatic org.apache.commons.beanutils.MethodUtils.isAssignmentCompatible:(Ljava/lang/Class;Ljava/lang/Class;)Z
20: ifne 23
21: iconst_0
istore 10
22: goto 25
23: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
24: iload 11
iload 9
if_icmplt 17
end local 11 25: StackMap locals:
StackMap stack:
iload 10
ifeq 33
26: aload 4
invokestatic org.apache.commons.beanutils.ConstructorUtils.getAccessibleConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
astore 11
start local 11 27: aload 11
ifnull 33
28: aload 11
iconst_1
invokevirtual java.lang.reflect.Constructor.setAccessible:(Z)V
29: goto 31
StackMap locals: java.lang.Class java.lang.Class[] int java.lang.reflect.Constructor[] java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] java.lang.Class[] int int java.lang.reflect.Constructor
StackMap stack: java.lang.SecurityException
30: pop
31: StackMap locals:
StackMap stack:
aload 11
astore 12
start local 12 32: aload 12
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 4 33: StackMap locals: java.lang.Class java.lang.Class[] int java.lang.reflect.Constructor[] top int int java.lang.reflect.Constructor[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
34: iload 5
iload 6
if_icmplt 10
35: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 clazz Ljava/lang/Class<TT;>;
0 36 1 parameterTypes [Ljava/lang/Class;
1 6 2 ctor Ljava/lang/reflect/Constructor<TT;>;
8 36 2 paramSize I
9 36 3 ctors [Ljava/lang/reflect/Constructor;
11 33 4 ctor2 Ljava/lang/reflect/Constructor<*>;
12 33 8 ctorParams [Ljava/lang/Class;
13 33 9 ctorParamSize I
15 33 10 match Z
16 25 11 n I
27 33 11 ctor Ljava/lang/reflect/Constructor<*>;
32 33 12 typedCtor Ljava/lang/reflect/Constructor<TT;>;
Exception table:
from to target type
1 2 3 Class java.lang.SecurityException
0 5 6 Class java.lang.NoSuchMethodException
28 29 30 Class java.lang.SecurityException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<TT;>;
MethodParameters:
Name Flags
clazz final
parameterTypes final
}
SourceFile: "ConstructorUtils.java"