Chromium Code Reviews| Index: base/test/android/javatests/src/org/chromium/base/test/util/SkipCheck.java |
| diff --git a/base/test/android/javatests/src/org/chromium/base/test/util/SkipCheck.java b/base/test/android/javatests/src/org/chromium/base/test/util/SkipCheck.java |
| index cb21dfd98b623891bea778bb57b1b62652cf6e7f..545934584bf2614268657d79fd82f2095fcee090 100644 |
| --- a/base/test/android/javatests/src/org/chromium/base/test/util/SkipCheck.java |
| +++ b/base/test/android/javatests/src/org/chromium/base/test/util/SkipCheck.java |
| @@ -8,7 +8,11 @@ import junit.framework.TestCase; |
| import org.chromium.base.Log; |
| +import java.lang.annotation.Annotation; |
| +import java.lang.reflect.AnnotatedElement; |
| import java.lang.reflect.Method; |
| +import java.util.ArrayList; |
| +import java.util.List; |
| /** |
| * Check whether a test case should be skipped. |
| @@ -35,5 +39,18 @@ public abstract class SkipCheck { |
| return null; |
| } |
| } |
| + |
| + protected static <T extends Annotation> List<T> getAnnotations(AnnotatedElement element, |
| + Class<T> annotationClass) { |
| + AnnotatedElement parent = (element instanceof Method) |
| + ? ((Method) element).getDeclaringClass() |
| + : ((Class) element).getSuperclass(); |
| + List<T> annotations = (parent == null) |
| + ? new ArrayList<T>() |
| + : getAnnotations(parent, annotationClass); |
| + T val = element.getAnnotation(annotationClass); |
| + if (val != null) annotations.add(val); |
|
newt (away)
2016/03/07 18:07:09
How does this work if there are multiple restricti
jbudorick
2016/03/08 00:18:55
This works with MultipleRestrictionsRestrictedClas
|
| + return annotations; |
| + } |
| } |