package com.google.common.reflect; import java.lang.reflect.AccessibleObject; import java.lang.reflect.Constructor; import java.lang.reflect.GenericDeclaration; import java.lang.reflect.Member; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.util.Arrays; /* loaded from: classes.dex */ public abstract class Invokable extends Element implements GenericDeclaration { static class ConstructorInvokable extends Invokable { final Constructor c; ConstructorInvokable(Constructor constructor) { super(constructor); this.c = constructor; } private boolean c() { Class declaringClass = this.c.getDeclaringClass(); if (declaringClass.getEnclosingConstructor() != null) { return true; } return declaringClass.getEnclosingMethod() != null ? !Modifier.isStatic(r1.getModifiers()) : (declaringClass.getEnclosingClass() == null || Modifier.isStatic(declaringClass.getModifiers())) ? false : true; } Type[] b() { Type[] genericParameterTypes = this.c.getGenericParameterTypes(); if (genericParameterTypes.length <= 0 || !c()) { return genericParameterTypes; } Class[] parameterTypes = this.c.getParameterTypes(); return (genericParameterTypes.length == parameterTypes.length && parameterTypes[0] == getDeclaringClass().getEnclosingClass()) ? (Type[]) Arrays.copyOfRange(genericParameterTypes, 1, genericParameterTypes.length) : genericParameterTypes; } @Override // java.lang.reflect.GenericDeclaration public final TypeVariable[] getTypeParameters() { TypeVariable>[] typeParameters = getDeclaringClass().getTypeParameters(); TypeVariable>[] typeParameters2 = this.c.getTypeParameters(); TypeVariable[] typeVariableArr = new TypeVariable[typeParameters.length + typeParameters2.length]; System.arraycopy(typeParameters, 0, typeVariableArr, 0, typeParameters.length); System.arraycopy(typeParameters2, 0, typeVariableArr, typeParameters.length, typeParameters2.length); return typeVariableArr; } } static class MethodInvokable extends Invokable { final Method c; MethodInvokable(Method method) { super(method); this.c = method; } @Override // java.lang.reflect.GenericDeclaration public final TypeVariable[] getTypeParameters() { return this.c.getTypeParameters(); } } Invokable(M m) { super(m); } @Override // com.google.common.reflect.Element, java.lang.reflect.Member public final Class getDeclaringClass() { return (Class) super.getDeclaringClass(); } }