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"); } } }