aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java')
-rw-r--r--src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java b/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java
new file mode 100644
index 000000000..ca71ecf61
--- /dev/null
+++ b/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java
@@ -0,0 +1,20 @@
+package com.xtremelabs.robolectric.util;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+public class ReflectionUtil {
+ public static Object invoke(Object object, String methodName, Class<?>[] argTypes, Object... args) {
+ try {
+ Method onLayout = object.getClass().getDeclaredMethod(methodName, argTypes);
+ onLayout.setAccessible(true);
+ return onLayout.invoke(object, args);
+ } catch (IllegalAccessException e) {
+ throw new RuntimeException(e);
+ } catch (InvocationTargetException e) {
+ throw new RuntimeException(e);
+ } catch (NoSuchMethodException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}