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; |
+ } |
} |