public class org.apache.commons.beanutils.MethodUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.beanutils.MethodUtils
super_class: java.lang.Object
{
private static boolean loggedAccessibleWarning;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean CACHE_METHODS;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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
private static final java.util.Map<org.apache.commons.beanutils.MethodUtils$MethodDescriptor, java.lang.ref.Reference<java.lang.reflect.Method>> cache;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;Ljava/lang/ref/Reference<Ljava/lang/reflect/Method;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: iconst_0
putstatic org.apache.commons.beanutils.MethodUtils.loggedAccessibleWarning:Z
1: iconst_1
putstatic org.apache.commons.beanutils.MethodUtils.CACHE_METHODS:Z
2: iconst_0
anewarray java.lang.Class
putstatic org.apache.commons.beanutils.MethodUtils.EMPTY_CLASS_PARAMETERS:[Ljava/lang/Class;
3: iconst_0
anewarray java.lang.Object
putstatic org.apache.commons.beanutils.MethodUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
4: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
5: putstatic org.apache.commons.beanutils.MethodUtils.cache:Ljava/util/Map;
6: 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/MethodUtils;
public static synchronized void setCacheMethods(boolean);
descriptor: (Z)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
putstatic org.apache.commons.beanutils.MethodUtils.CACHE_METHODS:Z
1: getstatic org.apache.commons.beanutils.MethodUtils.CACHE_METHODS:Z
ifne 3
2: invokestatic org.apache.commons.beanutils.MethodUtils.clearCache:()I
pop
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cacheMethods Z
MethodParameters:
Name Flags
cacheMethods final
public static synchronized int clearCache();
descriptor: ()I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=0
0: getstatic org.apache.commons.beanutils.MethodUtils.cache:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
istore 0
start local 0 1: getstatic org.apache.commons.beanutils.MethodUtils.cache:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
2: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 size I
public static java.lang.Object invokeMethod(java.lang.Object, java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.apache.commons.beanutils.MethodUtils.toArray:(Ljava/lang/Object;)[Ljava/lang/Object;
astore 3
start local 3 1: aload 0
aload 1
aload 3
invokestatic org.apache.commons.beanutils.MethodUtils.invokeMethod:(Ljava/lang/Object;Ljava/lang/String;[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 2 0 object Ljava/lang/Object;
0 2 1 methodName Ljava/lang/String;
0 2 2 arg Ljava/lang/Object;
1 2 3 args [Ljava/lang/Object;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
object final
methodName final
arg final
public static java.lang.Object invokeMethod(java.lang.Object, java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 2
2: StackMap locals:
StackMap stack:
aload 2
arraylength
istore 3
start local 3 3: iload 3
anewarray java.lang.Class
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 8
6: StackMap locals: int java.lang.Class[] int
StackMap stack:
aload 4
iload 5
aload 2
iload 5
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 3
if_icmplt 6
end local 5 9: aload 0
aload 1
aload 2
aload 4
invokestatic org.apache.commons.beanutils.MethodUtils.invokeMethod:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 object Ljava/lang/Object;
0 10 1 methodName Ljava/lang/String;
0 10 2 args [Ljava/lang/Object;
3 10 3 arguments I
4 10 4 parameterTypes [Ljava/lang/Class;
5 9 5 i I
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
object final
methodName final
args
public static invokeMethod(, java.lang.String, [], java.lang.Class<?>[]);
descriptor: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 2
1: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_CLASS_PARAMETERS:[Ljava/lang/Class;
astore 3
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 2
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
5: aload 1
6: aload 3
7: invokestatic org.apache.commons.beanutils.MethodUtils.getMatchingAccessibleMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 4
start local 4 8: aload 4
ifnonnull 12
9: new java.lang.NoSuchMethodException
dup
new java.lang.StringBuilder
dup
ldc "No such accessible method: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "() on object: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
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;
11: invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 4
aload 0
aload 2
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 object Ljava/lang/Object;
0 13 1 methodName Ljava/lang/String;
0 13 2 args [Ljava/lang/Object;
0 13 3 parameterTypes [Ljava/lang/Class;
8 13 4 method Ljava/lang/reflect/Method;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Signature: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
object final
methodName final
args
parameterTypes
public static java.lang.Object invokeExactMethod(java.lang.Object, java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.apache.commons.beanutils.MethodUtils.toArray:(Ljava/lang/Object;)[Ljava/lang/Object;
astore 3
start local 3 1: aload 0
aload 1
aload 3
invokestatic org.apache.commons.beanutils.MethodUtils.invokeExactMethod:(Ljava/lang/Object;Ljava/lang/String;[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 2 0 object Ljava/lang/Object;
0 2 1 methodName Ljava/lang/String;
0 2 2 arg Ljava/lang/Object;
1 2 3 args [Ljava/lang/Object;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
object final
methodName final
arg final
public static java.lang.Object invokeExactMethod(java.lang.Object, java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 2
2: StackMap locals:
StackMap stack:
aload 2
arraylength
istore 3
start local 3 3: iload 3
anewarray java.lang.Class
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 8
6: StackMap locals: int java.lang.Class[] int
StackMap stack:
aload 4
iload 5
aload 2
iload 5
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 3
if_icmplt 6
end local 5 9: aload 0
aload 1
aload 2
aload 4
invokestatic org.apache.commons.beanutils.MethodUtils.invokeExactMethod:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 object Ljava/lang/Object;
0 10 1 methodName Ljava/lang/String;
0 10 2 args [Ljava/lang/Object;
3 10 3 arguments I
4 10 4 parameterTypes [Ljava/lang/Class;
5 9 5 i I
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
object final
methodName final
args
public static invokeExactMethod(, java.lang.String, [], java.lang.Class<?>[]);
descriptor: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 2
2: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
3: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_CLASS_PARAMETERS:[Ljava/lang/Class;
astore 3
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
5: aload 1
6: aload 3
7: invokestatic org.apache.commons.beanutils.MethodUtils.getAccessibleMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 4
start local 4 8: aload 4
ifnonnull 12
9: new java.lang.NoSuchMethodException
dup
new java.lang.StringBuilder
dup
ldc "No such accessible method: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "() on object: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
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;
11: invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 4
aload 0
aload 2
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 object Ljava/lang/Object;
0 13 1 methodName Ljava/lang/String;
0 13 2 args [Ljava/lang/Object;
0 13 3 parameterTypes [Ljava/lang/Class;
8 13 4 method Ljava/lang/reflect/Method;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Signature: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
object final
methodName final
args
parameterTypes
public static invokeExactStaticMethod(java.lang.Class<?>, java.lang.String, [], java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 2
2: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
3: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_CLASS_PARAMETERS:[Ljava/lang/Class;
astore 3
4: StackMap locals:
StackMap stack:
aload 0
5: aload 1
6: aload 3
7: invokestatic org.apache.commons.beanutils.MethodUtils.getAccessibleMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 4
start local 4 8: aload 4
ifnonnull 12
9: new java.lang.NoSuchMethodException
dup
new java.lang.StringBuilder
dup
ldc "No such accessible method: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "() on class: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
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;
11: invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 4
aconst_null
aload 2
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 objectClass Ljava/lang/Class<*>;
0 13 1 methodName Ljava/lang/String;
0 13 2 args [Ljava/lang/Object;
0 13 3 parameterTypes [Ljava/lang/Class;
8 13 4 method Ljava/lang/reflect/Method;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
objectClass final
methodName final
args
parameterTypes
public static invokeStaticMethod(java.lang.Class<?>, java.lang.String, );
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.apache.commons.beanutils.MethodUtils.toArray:(Ljava/lang/Object;)[Ljava/lang/Object;
astore 3
start local 3 1: aload 0
aload 1
aload 3
invokestatic org.apache.commons.beanutils.MethodUtils.invokeStaticMethod:(Ljava/lang/Class;Ljava/lang/String;[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 2 0 objectClass Ljava/lang/Class<*>;
0 2 1 methodName Ljava/lang/String;
0 2 2 arg Ljava/lang/Object;
1 2 3 args [Ljava/lang/Object;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
MethodParameters:
Name Flags
objectClass final
methodName final
arg final
public static invokeStaticMethod(java.lang.Class<?>, java.lang.String, []);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 2
2: StackMap locals:
StackMap stack:
aload 2
arraylength
istore 3
start local 3 3: iload 3
anewarray java.lang.Class
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 8
6: StackMap locals: int java.lang.Class[] int
StackMap stack:
aload 4
iload 5
aload 2
iload 5
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 3
if_icmplt 6
end local 5 9: aload 0
aload 1
aload 2
aload 4
invokestatic org.apache.commons.beanutils.MethodUtils.invokeStaticMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 objectClass Ljava/lang/Class<*>;
0 10 1 methodName Ljava/lang/String;
0 10 2 args [Ljava/lang/Object;
3 10 3 arguments I
4 10 4 parameterTypes [Ljava/lang/Class;
5 9 5 i I
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
MethodParameters:
Name Flags
objectClass final
methodName final
args
public static invokeStaticMethod(java.lang.Class<?>, java.lang.String, [], java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 2
1: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_CLASS_PARAMETERS:[Ljava/lang/Class;
astore 3
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 2
4: StackMap locals:
StackMap stack:
aload 0
5: aload 1
6: aload 3
7: invokestatic org.apache.commons.beanutils.MethodUtils.getMatchingAccessibleMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 4
start local 4 8: aload 4
ifnonnull 12
9: new java.lang.NoSuchMethodException
dup
new java.lang.StringBuilder
dup
ldc "No such accessible method: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "() on class: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
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;
11: invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 4
aconst_null
aload 2
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 objectClass Ljava/lang/Class<*>;
0 13 1 methodName Ljava/lang/String;
0 13 2 args [Ljava/lang/Object;
0 13 3 parameterTypes [Ljava/lang/Class;
8 13 4 method Ljava/lang/reflect/Method;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
objectClass final
methodName final
args
parameterTypes
public static invokeExactStaticMethod(java.lang.Class<?>, java.lang.String, );
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.apache.commons.beanutils.MethodUtils.toArray:(Ljava/lang/Object;)[Ljava/lang/Object;
astore 3
start local 3 1: aload 0
aload 1
aload 3
invokestatic org.apache.commons.beanutils.MethodUtils.invokeExactStaticMethod:(Ljava/lang/Class;Ljava/lang/String;[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 2 0 objectClass Ljava/lang/Class<*>;
0 2 1 methodName Ljava/lang/String;
0 2 2 arg Ljava/lang/Object;
1 2 3 args [Ljava/lang/Object;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
MethodParameters:
Name Flags
objectClass final
methodName final
arg final
public static invokeExactStaticMethod(java.lang.Class<?>, java.lang.String, []);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: getstatic org.apache.commons.beanutils.MethodUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 2
2: StackMap locals:
StackMap stack:
aload 2
arraylength
istore 3
start local 3 3: iload 3
anewarray java.lang.Class
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 8
6: StackMap locals: int java.lang.Class[] int
StackMap stack:
aload 4
iload 5
aload 2
iload 5
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 3
if_icmplt 6
end local 5 9: aload 0
aload 1
aload 2
aload 4
invokestatic org.apache.commons.beanutils.MethodUtils.invokeExactStaticMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 objectClass Ljava/lang/Class<*>;
0 10 1 methodName Ljava/lang/String;
0 10 2 args [Ljava/lang/Object;
3 10 3 arguments I
4 10 4 parameterTypes [Ljava/lang/Class;
5 9 5 i I
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
MethodParameters:
Name Flags
objectClass final
methodName final
args
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
public static java.lang.reflect.Method getAccessibleMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 2
aastore
astore 3
start local 3 1: aload 0
aload 1
aload 3
invokestatic org.apache.commons.beanutils.MethodUtils.getAccessibleMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 clazz Ljava/lang/Class<*>;
0 2 1 methodName Ljava/lang/String;
0 2 2 parameterType Ljava/lang/Class<*>;
1 2 3 parameterTypes [Ljava/lang/Class;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
clazz final
methodName final
parameterType final
public static java.lang.reflect.Method getAccessibleMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new org.apache.commons.beanutils.MethodUtils$MethodDescriptor
dup
aload 0
aload 1
aload 2
iconst_1
invokespecial org.apache.commons.beanutils.MethodUtils$MethodDescriptor.<init>:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Z)V
astore 3
start local 3 1: aload 3
invokestatic org.apache.commons.beanutils.MethodUtils.getCachedMethod:(Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;)Ljava/lang/reflect/Method;
astore 4
start local 4 2: aload 4
ifnull 5
3: aload 4
4: areturn
5: StackMap locals: org.apache.commons.beanutils.MethodUtils$MethodDescriptor java.lang.reflect.Method
StackMap stack:
aload 0
aload 0
aload 1
aload 2
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
6: invokestatic org.apache.commons.beanutils.MethodUtils.getAccessibleMethod:(Ljava/lang/Class;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
astore 4
7: aload 3
aload 4
invokestatic org.apache.commons.beanutils.MethodUtils.cacheMethod:(Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;Ljava/lang/reflect/Method;)V
8: aload 4
9: areturn
end local 4 end local 3 10: StackMap locals: java.lang.Class java.lang.String java.lang.Class[]
StackMap stack: java.lang.NoSuchMethodException
pop
11: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 clazz Ljava/lang/Class<*>;
0 12 1 methodName Ljava/lang/String;
0 12 2 parameterTypes [Ljava/lang/Class;
1 10 3 md Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;
2 10 4 method Ljava/lang/reflect/Method;
Exception table:
from to target type
0 4 10 Class java.lang.NoSuchMethodException
5 9 10 Class java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
clazz final
methodName final
parameterTypes final
public static java.lang.reflect.Method getAccessibleMethod(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, 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.Method.getDeclaringClass:()Ljava/lang/Class;
aload 0
invokestatic org.apache.commons.beanutils.MethodUtils.getAccessibleMethod:(Ljava/lang/Class;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method final
public static java.lang.reflect.Method getAccessibleMethod(java.lang.Class<?>, java.lang.reflect.Method);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 5: aload 0
ifnonnull 8
6: aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
astore 0
7: goto 13
8: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
istore 2
9: aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 13
10: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: ldc " is not assignable from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()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;
12: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 17
14: iload 2
ifne 16
aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 16
15: aload 1
invokestatic org.apache.commons.beanutils.MethodUtils.setMethodAccessible:(Ljava/lang/reflect/Method;)V
16: StackMap locals:
StackMap stack:
aload 1
areturn
17: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 3
start local 3 18: aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 4
start local 4 19: aload 0
20: aload 3
21: aload 4
22: invokestatic org.apache.commons.beanutils.MethodUtils.getAccessibleMethodFromInterfaceNest:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
23: astore 1
24: aload 1
ifnonnull 29
25: aload 0
26: aload 3
27: aload 4
28: invokestatic org.apache.commons.beanutils.MethodUtils.getAccessibleMethodFromSuperclass:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 1
29: StackMap locals: java.lang.String java.lang.Class[]
StackMap stack:
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 clazz Ljava/lang/Class<*>;
0 30 1 method Ljava/lang/reflect/Method;
5 30 2 sameClass Z
18 30 3 methodName Ljava/lang/String;
19 30 4 parameterTypes [Ljava/lang/Class;
Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
clazz
method
private static java.lang.reflect.Method getAccessibleMethodFromSuperclass(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 3
start local 3 1: goto 8
2: StackMap locals: java.lang.Class
StackMap stack:
aload 3
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 7
3: aload 3
aload 1
aload 2
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
4: areturn
5: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 3
8: StackMap locals:
StackMap stack:
aload 3
ifnonnull 2
9: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 clazz Ljava/lang/Class<*>;
0 10 1 methodName Ljava/lang/String;
0 10 2 parameterTypes [Ljava/lang/Class;
1 10 3 parentClazz Ljava/lang/Class<*>;
Exception table:
from to target type
3 4 5 Class java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
clazz final
methodName final
parameterTypes final
private static java.lang.reflect.Method getAccessibleMethodFromInterfaceNest(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: goto 24
2: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 22
5: StackMap locals: java.lang.Class[] int
StackMap stack:
aload 4
iload 5
aaload
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 7
6: goto 21
7: StackMap locals:
StackMap stack:
aload 4
iload 5
aaload
aload 1
8: aload 2
9: invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
10: goto 12
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
11: pop
12: StackMap locals:
StackMap stack:
aload 3
ifnull 14
13: aload 3
areturn
14: StackMap locals:
StackMap stack:
aload 4
iload 5
aaload
15: aload 1
16: aload 2
17: invokestatic org.apache.commons.beanutils.MethodUtils.getAccessibleMethodFromInterfaceNest:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
18: astore 3
19: aload 3
ifnull 21
20: aload 3
areturn
21: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
22: iload 5
aload 4
arraylength
if_icmplt 5
end local 5 end local 4 23: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 0
StackMap locals:
StackMap stack:
24: aload 0
ifnonnull 2
25: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 clazz Ljava/lang/Class<*>;
0 26 1 methodName Ljava/lang/String;
0 26 2 parameterTypes [Ljava/lang/Class;
1 26 3 method Ljava/lang/reflect/Method;
3 23 4 interfaces [Ljava/lang/Class;
4 23 5 i I
Exception table:
from to target type
7 10 11 Class java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
clazz
methodName final
parameterTypes final
public static java.lang.reflect.Method getMatchingAccessibleMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=18, args_size=3
start local 0 start local 1 start local 2 0: ldc Lorg/apache/commons/beanutils/MethodUtils;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
astore 3
start local 3 1: aload 3
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 3
2: aload 3
new java.lang.StringBuilder
dup
ldc "Matching name="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
3: StackMap locals: org.apache.commons.logging.Log
StackMap stack:
new org.apache.commons.beanutils.MethodUtils$MethodDescriptor
dup
aload 0
aload 1
aload 2
iconst_0
invokespecial org.apache.commons.beanutils.MethodUtils$MethodDescriptor.<init>:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Z)V
astore 4
start local 4 4: aload 4
invokestatic org.apache.commons.beanutils.MethodUtils.getCachedMethod:(Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;)Ljava/lang/reflect/Method;
astore 5
start local 5 5: aload 5
ifnull 8
6: aload 5
7: areturn
8: StackMap locals: org.apache.commons.beanutils.MethodUtils$MethodDescriptor java.lang.reflect.Method
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 5
9: aload 3
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 12
10: aload 3
new java.lang.StringBuilder
dup
ldc "Found straight match: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
11: aload 3
new java.lang.StringBuilder
dup
ldc "isPublic:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
aload 5
invokestatic org.apache.commons.beanutils.MethodUtils.setMethodAccessible:(Ljava/lang/reflect/Method;)V
13: aload 4
aload 5
invokestatic org.apache.commons.beanutils.MethodUtils.cacheMethod:(Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;Ljava/lang/reflect/Method;)V
14: aload 5
15: areturn
end local 5 16: StackMap locals: java.lang.Class java.lang.String java.lang.Class[] org.apache.commons.logging.Log org.apache.commons.beanutils.MethodUtils$MethodDescriptor
StackMap stack: java.lang.NoSuchMethodException
pop
17: aload 2
arraylength
istore 5
start local 5 18: aconst_null
astore 6
start local 6 19: aload 0
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
astore 7
start local 7 20: ldc 3.4028235E38
fstore 8
start local 8 21: ldc 3.4028235E38
fstore 9
start local 9 22: aload 7
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 60
StackMap locals: java.lang.Class java.lang.String java.lang.Class[] org.apache.commons.logging.Log org.apache.commons.beanutils.MethodUtils$MethodDescriptor int java.lang.reflect.Method java.lang.reflect.Method[] float float top int int java.lang.reflect.Method[]
StackMap stack:
23: aload 13
iload 11
aaload
astore 10
start local 10 24: aload 10
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 59
25: aload 3
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 28
26: aload 3
ldc "Found matching name:"
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
27: aload 3
aload 10
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
28: StackMap locals: java.lang.Class java.lang.String java.lang.Class[] org.apache.commons.logging.Log org.apache.commons.beanutils.MethodUtils$MethodDescriptor int java.lang.reflect.Method java.lang.reflect.Method[] float float java.lang.reflect.Method int int java.lang.reflect.Method[]
StackMap stack:
aload 10
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 14
start local 14 29: aload 14
arraylength
istore 15
start local 15 30: iload 15
iload 5
if_icmpne 59
31: iconst_1
istore 16
start local 16 32: iconst_0
istore 17
start local 17 33: goto 45
34: StackMap locals: java.lang.Class java.lang.String java.lang.Class[] org.apache.commons.logging.Log org.apache.commons.beanutils.MethodUtils$MethodDescriptor int java.lang.reflect.Method java.lang.reflect.Method[] float float java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.Class[] int int int
StackMap stack:
aload 3
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 37
35: aload 3
new java.lang.StringBuilder
dup
ldc "Param="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
iload 17
aaload
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;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
36: aload 3
new java.lang.StringBuilder
dup
ldc "Method="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
iload 17
aaload
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;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
37: StackMap locals:
StackMap stack:
aload 14
iload 17
aaload
aload 2
iload 17
aaload
invokestatic org.apache.commons.beanutils.MethodUtils.isAssignmentCompatible:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 44
38: aload 3
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 42
39: aload 3
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 14
iload 17
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not assignable from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
40: aload 2
iload 17
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
41: invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
42: StackMap locals:
StackMap stack:
iconst_0
istore 16
43: goto 46
44: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
45: iload 17
iload 15
if_icmplt 34
end local 17 46: StackMap locals:
StackMap stack:
iload 16
ifeq 59
47: aload 0
aload 10
invokestatic org.apache.commons.beanutils.MethodUtils.getAccessibleMethod:(Ljava/lang/Class;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
astore 17
start local 17 48: aload 17
ifnull 58
49: aload 3
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 53
50: aload 3
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " accessible version of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
51: aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
52: invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
53: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 17
invokestatic org.apache.commons.beanutils.MethodUtils.setMethodAccessible:(Ljava/lang/reflect/Method;)V
54: aload 2
aload 17
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
invokestatic org.apache.commons.beanutils.MethodUtils.getTotalTransformationCost:([Ljava/lang/Class;[Ljava/lang/Class;)F
fstore 9
55: fload 9
fload 8
fcmpg
ifge 58
56: aload 17
astore 6
57: fload 9
fstore 8
58: StackMap locals:
StackMap stack:
aload 3
ldc "Couldn't find accessible method."
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
end local 17 end local 16 end local 15 end local 14 end local 10 59: StackMap locals: java.lang.Class java.lang.String java.lang.Class[] org.apache.commons.logging.Log org.apache.commons.beanutils.MethodUtils$MethodDescriptor int java.lang.reflect.Method java.lang.reflect.Method[] float float top int int java.lang.reflect.Method[]
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
60: iload 11
iload 12
if_icmplt 23
61: aload 6
ifnull 64
62: aload 4
aload 6
invokestatic org.apache.commons.beanutils.MethodUtils.cacheMethod:(Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;Ljava/lang/reflect/Method;)V
63: goto 65
64: StackMap locals: java.lang.Class java.lang.String java.lang.Class[] org.apache.commons.logging.Log org.apache.commons.beanutils.MethodUtils$MethodDescriptor int java.lang.reflect.Method java.lang.reflect.Method[] float float
StackMap stack:
aload 3
ldc "No match found."
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
65: StackMap locals:
StackMap stack:
aload 6
areturn
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 66 0 clazz Ljava/lang/Class<*>;
0 66 1 methodName Ljava/lang/String;
0 66 2 parameterTypes [Ljava/lang/Class;
1 66 3 log Lorg/apache/commons/logging/Log;
4 66 4 md Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;
5 16 5 method Ljava/lang/reflect/Method;
18 66 5 paramSize I
19 66 6 bestMatch Ljava/lang/reflect/Method;
20 66 7 methods [Ljava/lang/reflect/Method;
21 66 8 bestMatchCost F
22 66 9 myCost F
24 59 10 method2 Ljava/lang/reflect/Method;
29 59 14 methodsParams [Ljava/lang/Class;
30 59 15 methodParamSize I
32 59 16 match Z
33 46 17 n I
48 59 17 method Ljava/lang/reflect/Method;
Exception table:
from to target type
4 7 16 Class java.lang.NoSuchMethodException
8 15 16 Class java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
clazz final
methodName final
parameterTypes final
private static void setMethodAccessible(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.Method.isAccessible:()Z
ifne 23
1: aload 0
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
2: goto 23
StackMap locals:
StackMap stack: java.lang.SecurityException
3: astore 1
start local 1 4: ldc Lorg/apache/commons/beanutils/MethodUtils;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
astore 2
start local 2 5: getstatic org.apache.commons.beanutils.MethodUtils.loggedAccessibleWarning:Z
ifne 22
6: iconst_0
istore 3
start local 3 7: ldc "java.specification.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 8: aload 4
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 49
if_icmpne 17
9: aload 4
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 48
if_icmpeq 13
10: aload 4
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 49
if_icmpeq 13
11: aload 4
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 50
if_icmpeq 13
12: aload 4
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 51
if_icmpne 17
13: StackMap locals: java.lang.reflect.Method java.lang.SecurityException org.apache.commons.logging.Log int java.lang.String
StackMap stack:
iconst_1
istore 3
end local 4 14: goto 17
StackMap locals: java.lang.reflect.Method java.lang.SecurityException org.apache.commons.logging.Log int
StackMap stack: java.lang.SecurityException
15: pop
16: iconst_1
istore 3
17: StackMap locals:
StackMap stack:
iload 3
ifeq 21
18: aload 2
19: ldc "Current Security Manager restricts use of workarounds for reflection bugs in pre-1.4 JVMs."
20: invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
21: StackMap locals:
StackMap stack:
iconst_1
putstatic org.apache.commons.beanutils.MethodUtils.loggedAccessibleWarning:Z
end local 3 22: StackMap locals:
StackMap stack:
aload 2
ldc "Cannot setAccessible on method. Therefore cannot use jvm access bug workaround."
aload 1
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 end local 1 23: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 method Ljava/lang/reflect/Method;
4 23 1 se Ljava/lang/SecurityException;
5 23 2 log Lorg/apache/commons/logging/Log;
7 22 3 vulnerableJVM Z
8 14 4 specVersion Ljava/lang/String;
Exception table:
from to target type
0 2 3 Class java.lang.SecurityException
7 14 15 Class java.lang.SecurityException
MethodParameters:
Name Flags
method final
private static float getTotalTransformationCost(java.lang.Class<?>[], java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;[Ljava/lang/Class;)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: fconst_0
fstore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 7
3: StackMap locals: float int
StackMap stack:
aload 0
iload 3
aaload
astore 4
start local 4 4: aload 1
iload 3
aaload
astore 5
start local 5 5: fload 2
aload 4
aload 5
invokestatic org.apache.commons.beanutils.MethodUtils.getObjectTransformationCost:(Ljava/lang/Class;Ljava/lang/Class;)F
fadd
fstore 2
end local 5 end local 4 6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 0
arraylength
if_icmplt 3
end local 3 8: fload 2
freturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 srcArgs [Ljava/lang/Class;
0 9 1 destArgs [Ljava/lang/Class;
1 9 2 totalCost F
2 8 3 i I
4 6 4 srcClass Ljava/lang/Class<*>;
5 6 5 destClass Ljava/lang/Class<*>;
Signature: ([Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)F
MethodParameters:
Name Flags
srcArgs final
destArgs final
private static float getObjectTransformationCost(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: fconst_0
fstore 2
start local 2 1: goto 12
2: StackMap locals: float
StackMap stack:
aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 7
3: aload 1
invokestatic org.apache.commons.beanutils.MethodUtils.getPrimitiveWrapper:(Ljava/lang/Class;)Ljava/lang/Class;
astore 3
start local 3 4: aload 3
ifnull 7
aload 3
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 7
5: fload 2
ldc 0.25
fadd
fstore 2
6: goto 13
end local 3 7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isInterface:()Z
ifeq 10
aload 1
aload 0
invokestatic org.apache.commons.beanutils.MethodUtils.isAssignmentCompatible:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 10
8: fload 2
ldc 0.25
fadd
fstore 2
9: goto 13
10: StackMap locals:
StackMap stack:
fload 2
fconst_1
fadd
fstore 2
11: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 0
12: StackMap locals:
StackMap stack:
aload 0
ifnull 13
aload 1
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
13: StackMap locals:
StackMap stack:
aload 0
ifnonnull 15
14: fload 2
ldc 1.5
fadd
fstore 2
15: StackMap locals:
StackMap stack:
fload 2
freturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 srcClass Ljava/lang/Class<*>;
0 16 1 destClass Ljava/lang/Class<*>;
1 16 2 cost F
4 7 3 destClassWrapperClazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)F
MethodParameters:
Name Flags
srcClass
destClass final
public static final boolean isAssignmentCompatible(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 6
3: aload 0
invokestatic org.apache.commons.beanutils.MethodUtils.getPrimitiveWrapper:(Ljava/lang/Class;)Ljava/lang/Class;
astore 2
start local 2 4: aload 2
ifnull 6
5: aload 2
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 parameterType Ljava/lang/Class<*>;
0 7 1 parameterization Ljava/lang/Class<*>;
4 6 2 parameterWrapperClazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
parameterType final
parameterization final
public static java.lang.Class<?> getPrimitiveWrapper(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: ldc Ljava/lang/Boolean;
areturn
2: StackMap locals:
StackMap stack:
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
3: ldc Ljava/lang/Float;
areturn
4: StackMap locals:
StackMap stack:
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
5: ldc Ljava/lang/Long;
areturn
6: StackMap locals:
StackMap stack:
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
7: ldc Ljava/lang/Integer;
areturn
8: StackMap locals:
StackMap stack:
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
9: ldc Ljava/lang/Short;
areturn
10: StackMap locals:
StackMap stack:
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 12
11: ldc Ljava/lang/Byte;
areturn
12: StackMap locals:
StackMap stack:
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
13: ldc Ljava/lang/Double;
areturn
14: StackMap locals:
StackMap stack:
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
15: ldc Ljava/lang/Character;
areturn
16: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 primitiveType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
primitiveType final
public static java.lang.Class<?> getPrimitiveType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: ldc Ljava/lang/Boolean;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
areturn
2: StackMap locals:
StackMap stack:
ldc Ljava/lang/Float;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
3: getstatic java.lang.Float.TYPE:Ljava/lang/Class;
areturn
4: StackMap locals:
StackMap stack:
ldc Ljava/lang/Long;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
5: getstatic java.lang.Long.TYPE:Ljava/lang/Class;
areturn
6: StackMap locals:
StackMap stack:
ldc Ljava/lang/Integer;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
7: getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
areturn
8: StackMap locals:
StackMap stack:
ldc Ljava/lang/Short;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
9: getstatic java.lang.Short.TYPE:Ljava/lang/Class;
areturn
10: StackMap locals:
StackMap stack:
ldc Ljava/lang/Byte;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 12
11: getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
areturn
12: StackMap locals:
StackMap stack:
ldc Ljava/lang/Double;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
13: getstatic java.lang.Double.TYPE:Ljava/lang/Class;
areturn
14: StackMap locals:
StackMap stack:
ldc Ljava/lang/Character;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
15: getstatic java.lang.Character.TYPE:Ljava/lang/Class;
areturn
16: StackMap locals:
StackMap stack:
ldc Lorg/apache/commons/beanutils/MethodUtils;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
astore 1
start local 1 17: aload 1
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 19
18: aload 1
new java.lang.StringBuilder
dup
ldc "Not a known primitive wrapper class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
19: StackMap locals: org.apache.commons.logging.Log
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 wrapperType Ljava/lang/Class<*>;
17 20 1 log Lorg/apache/commons/logging/Log;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
wrapperType final
public static java.lang.Class<?> toNonPrimitiveClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 5
1: aload 0
invokestatic org.apache.commons.beanutils.MethodUtils.getPrimitiveWrapper:(Ljava/lang/Class;)Ljava/lang/Class;
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
areturn
4: StackMap locals: java.lang.Class
StackMap stack:
aload 0
areturn
end local 1 5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 clazz Ljava/lang/Class<*>;
2 5 1 primitiveClazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
clazz final
private static java.lang.reflect.Method getCachedMethod(org.apache.commons.beanutils.MethodUtils$MethodDescriptor);
descriptor: (Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;)Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic org.apache.commons.beanutils.MethodUtils.CACHE_METHODS:Z
ifeq 4
1: getstatic org.apache.commons.beanutils.MethodUtils.cache:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.Reference
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
areturn
end local 1 4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 md Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;
2 4 1 methodRef Ljava/lang/ref/Reference<Ljava/lang/reflect/Method;>;
MethodParameters:
Name Flags
md final
private static void cacheMethod(org.apache.commons.beanutils.MethodUtils$MethodDescriptor, java.lang.reflect.Method);
descriptor: (Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;Ljava/lang/reflect/Method;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.apache.commons.beanutils.MethodUtils.CACHE_METHODS:Z
ifeq 3
1: aload 1
ifnull 3
2: getstatic org.apache.commons.beanutils.MethodUtils.cache:Ljava/util/Map;
aload 0
new java.lang.ref.WeakReference
dup
aload 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 md Lorg/apache/commons/beanutils/MethodUtils$MethodDescriptor;
0 4 1 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
md final
method final
}
SourceFile: "MethodUtils.java"
NestMembers:
org.apache.commons.beanutils.MethodUtils$MethodDescriptor
InnerClasses:
private MethodDescriptor = org.apache.commons.beanutils.MethodUtils$MethodDescriptor of org.apache.commons.beanutils.MethodUtils