智能工厂.apk(点击下载) / g.java


package cn.jpush.android.u;

import java.lang.reflect.Method;

public class g {
    public static Object a(Class<?> cls, String str, Object[] objArr, Class[] clsArr) {
        a(cls);
        a(clsArr, objArr);
        return cls.getMethod(str, clsArr).invoke(cls, objArr);
    }

    public static Object a(Object obj, String str, Class[] clsArr, Object[] objArr) {
        Exception e;
        if ((objArr != null ? objArr.length : 0) == (clsArr != null ? clsArr.length : 0)) {
            Method method = obj.getClass().getMethod(str, clsArr);
            boolean isAccessible = method.isAccessible();
            if (!isAccessible) {
                method.setAccessible(true);
            }
            Object obj2 = null;
            try {
                obj2 = method.invoke(obj, objArr);
                e = null;
            } catch (Exception e2) {
                e = e2;
            }
            if (!isAccessible) {
                method.setAccessible(false);
            }
            if (e == null) {
                return obj2;
            }
            throw e;
        }
        throw new IllegalArgumentException("argClasses' size is not equal to args' size");
    }

    private static void a(Object obj) {
        if (obj == null) {
            throw new Exception("owner can not be null");
        }
    }

    private static void a(Class<?>[] clsArr, Object[] objArr) {
        int i = 0;
        int length = objArr != null ? objArr.length : 0;
        if (clsArr != null) {
            i = clsArr.length;
        }
        if (length != i) {
            throw new Exception("argClasses' size is not equal to args' size");
        }
    }
}