Fix reflection method invokation

Either of Method.invoke, Field.get and Field.set can accept null as
receiver.

Change-Id: I4539dcc95a794f6ee84cf4e7aabf4e8f0206728f
This commit is contained in:
Tadashi G. Takaoka 2011-05-24 11:15:18 +09:00
parent 05c9b0182b
commit f23f00a13a

View file

@ -108,7 +108,7 @@ public class CompatUtils {
public static Object invoke(
Object receiver, Object defaultValue, Method method, Object... args) {
if (receiver == null || method == null) return defaultValue;
if (method == null) return defaultValue;
try {
return method.invoke(receiver, args);
} catch (IllegalArgumentException e) {
@ -124,7 +124,7 @@ public class CompatUtils {
}
public static Object getFieldValue(Object receiver, Object defaultValue, Field field) {
if (receiver == null || field == null) return defaultValue;
if (field == null) return defaultValue;
try {
return field.get(receiver);
} catch (IllegalArgumentException e) {
@ -137,7 +137,7 @@ public class CompatUtils {
}
public static void setFieldValue(Object receiver, Field field, Object value) {
if (receiver == null || field == null) return;
if (field == null) return;
try {
field.set(receiver, value);
} catch (IllegalArgumentException e) {