diff options
Diffstat (limited to 'src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java')
-rw-r--r-- | src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java | 20 |
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); + } + } +} |