aboutsummaryrefslogtreecommitdiff
path: root/android/guava/src/com/google/common/reflect/Invokable.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/guava/src/com/google/common/reflect/Invokable.java')
-rw-r--r--android/guava/src/com/google/common/reflect/Invokable.java58
1 files changed, 3 insertions, 55 deletions
diff --git a/android/guava/src/com/google/common/reflect/Invokable.java b/android/guava/src/com/google/common/reflect/Invokable.java
index 236c29627..ca405566f 100644
--- a/android/guava/src/com/google/common/reflect/Invokable.java
+++ b/android/guava/src/com/google/common/reflect/Invokable.java
@@ -16,14 +16,11 @@ package com.google.common.reflect;
import static com.google.common.base.Preconditions.checkNotNull;
-import com.google.common.annotations.Beta;
import com.google.common.collect.ImmutableList;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
-import com.google.errorprone.annotations.DoNotCall;
import java.lang.annotation.Annotation;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.AnnotatedType;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Member;
@@ -119,13 +116,14 @@ public abstract class Invokable<T, R> implements AnnotatedElement, Member {
}
/** See {@link java.lang.reflect.AccessibleObject#trySetAccessible()}. */
+ @SuppressWarnings("CatchingUnchecked") // sneaky checked exception
public final boolean trySetAccessible() {
// We can't call accessibleObject.trySetAccessible since that was added in Java 9 and this code
// should work on Java 8. So we emulate it this way.
try {
accessibleObject.setAccessible(true);
return true;
- } catch (RuntimeException e) {
+ } catch (Exception e) { // sneaky checked exception
return false;
}
}
@@ -278,7 +276,7 @@ public abstract class Invokable<T, R> implements AnnotatedElement, Member {
Type[] parameterTypes = getGenericParameterTypes();
Annotation[][] annotations = getParameterAnnotations();
@Nullable Object[] annotatedTypes =
- ANNOTATED_TYPE_EXISTS ? getAnnotatedParameterTypes() : new Object[parameterTypes.length];
+ new Object[parameterTypes.length];
ImmutableList.Builder<Parameter> builder = ImmutableList.builder();
for (int i = 0; i < parameterTypes.length; i++) {
builder.add(
@@ -343,10 +341,6 @@ public abstract class Invokable<T, R> implements AnnotatedElement, Member {
abstract Type[] getGenericParameterTypes();
- @SuppressWarnings({"Java7ApiChecker", "AndroidJdkLibsChecker"})
- @IgnoreJRERequirement
- abstract AnnotatedType[] getAnnotatedParameterTypes();
-
/** This should never return a type that's not a subtype of Throwable. */
abstract Type[] getGenericExceptionTypes();
@@ -354,22 +348,6 @@ public abstract class Invokable<T, R> implements AnnotatedElement, Member {
abstract Type getGenericReturnType();
- /**
- * Returns the {@link AnnotatedType} for the return type.
- *
- * <p>This method will fail if run under an Android VM.
- *
- * @since NEXT for guava-android (available since 14.0 in guava-jre)
- * @deprecated This method does not work under Android VMs. It is safe to use from guava-jre, but
- * this copy in guava-android is not safe to use.
- */
- @SuppressWarnings({"Java7ApiChecker", "AndroidJdkLibsChecker"})
- @DoNotCall("fails under Android VMs; do not use from guava-android")
- @Deprecated
- @IgnoreJRERequirement
- @Beta
- public abstract AnnotatedType getAnnotatedReturnType();
-
static class MethodInvokable<T> extends Invokable<T, Object> {
final Method method;
@@ -397,21 +375,6 @@ public abstract class Invokable<T, R> implements AnnotatedElement, Member {
}
@Override
- @SuppressWarnings({"Java7ApiChecker", "AndroidJdkLibsChecker"})
- @IgnoreJRERequirement
- AnnotatedType[] getAnnotatedParameterTypes() {
- return method.getAnnotatedParameterTypes();
- }
-
- @Override
- @SuppressWarnings({"Java7ApiChecker", "AndroidJdkLibsChecker", "DoNotCall"})
- @DoNotCall
- @IgnoreJRERequirement
- public AnnotatedType getAnnotatedReturnType() {
- return method.getAnnotatedReturnType();
- }
-
- @Override
Type[] getGenericExceptionTypes() {
return method.getGenericExceptionTypes();
}
@@ -489,21 +452,6 @@ public abstract class Invokable<T, R> implements AnnotatedElement, Member {
}
@Override
- @SuppressWarnings({"Java7ApiChecker", "AndroidJdkLibsChecker"})
- @IgnoreJRERequirement
- AnnotatedType[] getAnnotatedParameterTypes() {
- return constructor.getAnnotatedParameterTypes();
- }
-
- @Override
- @SuppressWarnings({"Java7ApiChecker", "AndroidJdkLibsChecker", "DoNotCall"})
- @DoNotCall
- @IgnoreJRERequirement
- public AnnotatedType getAnnotatedReturnType() {
- return constructor.getAnnotatedReturnType();
- }
-
- @Override
Type[] getGenericExceptionTypes() {
return constructor.getGenericExceptionTypes();
}