aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java
blob: ca71ecf61995db4d79abb6e912145f8082e5696a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);
        }
    }
}