package com.seewo.libsvendors.utils.d;

import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
import java.lang.reflect.Member;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.Arrays;

/* JADX INFO: compiled from: Reflect.java */
/* JADX INFO: loaded from: classes.dex */
public class c {
    private final Class<?> a;
    private final Object b;

    /* JADX INFO: compiled from: Reflect.java */
    private static class a {
        private a() {
        }
    }

    private c(Class<?> cls) {
        this(cls, cls);
    }

    public static <T extends AccessibleObject> T a(T t) {
        if (t == null) {
            return null;
        }
        if (t instanceof Member) {
            Member member = (Member) t;
            if (Modifier.isPublic(member.getModifiers()) && Modifier.isPublic(member.getDeclaringClass().getModifiers())) {
                return t;
            }
        }
        if (!t.isAccessible()) {
            t.setAccessible(true);
        }
        return t;
    }

    private Method d(String str, Class<?>[] clsArr) throws NoSuchMethodException {
        Class<?> clsO = o();
        try {
            return clsO.getMethod(str, clsArr);
        } catch (NoSuchMethodException unused) {
            do {
                try {
                    return clsO.getDeclaredMethod(str, clsArr);
                } catch (NoSuchMethodException unused2) {
                    clsO = clsO.getSuperclass();
                }
            } while (clsO != null);
            throw new NoSuchMethodException();
        }
    }

    private Field f(String str) throws d {
        Class<?> clsO = o();
        try {
            return (Field) a(clsO.getField(str));
        } catch (NoSuchFieldException e2) {
            do {
                try {
                    return (Field) a(clsO.getDeclaredField(str));
                } catch (NoSuchFieldException unused) {
                    clsO = clsO.getSuperclass();
                    if (clsO == null) {
                        throw new d(e2);
                    }
                }
            } while (clsO == null);
            throw new d(e2);
        }
    }

    private boolean h(Method method, String str, Class<?>[] clsArr) {
        return method.getName().equals(str) && i(method.getParameterTypes(), clsArr);
    }

    private boolean i(Class<?>[] clsArr, Class<?>[] clsArr2) {
        if (clsArr.length != clsArr2.length) {
            return false;
        }
        for (int i2 = 0; i2 < clsArr2.length; i2++) {
            if (clsArr2[i2] != a.class && !q(clsArr[i2]).isAssignableFrom(q(clsArr2[i2]))) {
                return false;
            }
        }
        return true;
    }

    public static c j(Class<?> cls) {
        return new c(cls);
    }

    private static c k(Class<?> cls, Object obj) {
        return new c(cls, obj);
    }

    public static c l(Object obj) {
        return new c(obj == null ? Object.class : obj.getClass(), obj);
    }

    private static c m(Method method, Object obj, Object... objArr) throws d {
        try {
            a(method);
            if (method.getReturnType() != Void.TYPE) {
                return l(method.invoke(obj, objArr));
            }
            method.invoke(obj, objArr);
            return l(obj);
        } catch (Exception e2) {
            throw new d(e2);
        }
    }

    private Method n(String str, Class<?>[] clsArr) throws NoSuchMethodException {
        Class<?> clsO = o();
        for (Method method : clsO.getMethods()) {
            if (h(method, str, clsArr)) {
                return method;
            }
        }
        do {
            for (Method method2 : clsO.getDeclaredMethods()) {
                if (h(method2, str, clsArr)) {
                    return method2;
                }
            }
            clsO = clsO.getSuperclass();
        } while (clsO != null);
        throw new NoSuchMethodException("No similar method " + str + " with params " + Arrays.toString(clsArr) + " could be found on type " + o() + ".");
    }

    private static Class<?>[] p(Object... objArr) {
        if (objArr == null) {
            return new Class[0];
        }
        Class<?>[] clsArr = new Class[objArr.length];
        for (int i2 = 0; i2 < objArr.length; i2++) {
            Object obj = objArr[i2];
            clsArr[i2] = obj == null ? a.class : obj.getClass();
        }
        return clsArr;
    }

    public static Class<?> q(Class<?> cls) {
        if (cls == null) {
            return null;
        }
        return cls.isPrimitive() ? Boolean.TYPE == cls ? Boolean.class : Integer.TYPE == cls ? Integer.class : Long.TYPE == cls ? Long.class : Short.TYPE == cls ? Short.class : Byte.TYPE == cls ? Byte.class : Double.TYPE == cls ? Double.class : Float.TYPE == cls ? Float.class : Character.TYPE == cls ? Character.class : Void.TYPE == cls ? Void.class : cls : cls;
    }

    public c b(String str) throws d {
        return c(str, new Object[0]);
    }

    public c c(String str, Object... objArr) throws d {
        Class<?>[] clsArrP = p(objArr);
        try {
            try {
                return m(d(str, clsArrP), this.b, objArr);
            } catch (NoSuchMethodException e2) {
                throw new d(e2);
            }
        } catch (NoSuchMethodException unused) {
            return m(n(str, clsArrP), this.b, objArr);
        }
    }

    public c e(String str) throws d {
        try {
            Field fieldF = f(str);
            return k(fieldF.getType(), fieldF.get(this.b));
        } catch (Exception e2) {
            throw new d(e2);
        }
    }

    public boolean equals(Object obj) {
        if (obj instanceof c) {
            return this.b.equals(((c) obj).g());
        }
        return false;
    }

    public <T> T g() {
        return (T) this.b;
    }

    public int hashCode() {
        return this.b.hashCode();
    }

    public Class<?> o() {
        return this.a;
    }

    public String toString() {
        return this.b.toString();
    }

    private c(Class<?> cls, Object obj) {
        this.a = cls;
        this.b = obj;
    }
}
