Remove skip annotation instance method compatibilty mode
Test: updated existing tests
Change-Id: I3add62d2758667ba6b144264b6453bb06e1e26b5
diff --git a/src/main/java/com/android/tools/metalava/Compatibility.kt b/src/main/java/com/android/tools/metalava/Compatibility.kt
index a32b747..f49b659 100644
--- a/src/main/java/com/android/tools/metalava/Compatibility.kt
+++ b/src/main/java/com/android/tools/metalava/Compatibility.kt
@@ -29,7 +29,4 @@
class Compatibility(
/** Whether compatibility is generally on */
val compat: Boolean = COMPAT_MODE_BY_DEFAULT
-) {
- /** Whether to include instance methods in annotation classes for the annotation properties */
- var skipAnnotationInstanceMethods: Boolean = compat
-}
\ No newline at end of file
+)
\ No newline at end of file
diff --git a/src/main/java/com/android/tools/metalava/SignatureWriter.kt b/src/main/java/com/android/tools/metalava/SignatureWriter.kt
index 05cf7fb..aebd5b6 100644
--- a/src/main/java/com/android/tools/metalava/SignatureWriter.kt
+++ b/src/main/java/com/android/tools/metalava/SignatureWriter.kt
@@ -96,12 +96,6 @@
}
override fun visitMethod(method: MethodItem) {
- if (compatibility.skipAnnotationInstanceMethods && method.containingClass().isAnnotationType() &&
- !method.modifiers.isStatic()
- ) {
- return
- }
-
writer.print(" method ")
writeModifiers(method)
writeTypeParameterList(method.typeParameterList(), addSpace = true)
diff --git a/src/test/java/com/android/tools/metalava/ApiFileTest.kt b/src/test/java/com/android/tools/metalava/ApiFileTest.kt
index 8cb02da..6507dd9 100644
--- a/src/test/java/com/android/tools/metalava/ApiFileTest.kt
+++ b/src/test/java/com/android/tools/metalava/ApiFileTest.kt
@@ -1520,10 +1520,12 @@
api = """
package android.annotation {
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.LOCAL_VARIABLE}) public @interface SuppressLint {
+ method public abstract String[] value();
}
}
package test.pkg {
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface Foo {
+ method public abstract String value();
}
}
"""
diff --git a/src/test/java/com/android/tools/metalava/stub/StubsTest.kt b/src/test/java/com/android/tools/metalava/stub/StubsTest.kt
index 82d5c54..390a2fc 100644
--- a/src/test/java/com/android/tools/metalava/stub/StubsTest.kt
+++ b/src/test/java/com/android/tools/metalava/stub/StubsTest.kt
@@ -2078,6 +2078,8 @@
api = """
package androidx.annotation {
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.CONSTRUCTOR}) public @interface RequiresApi {
+ method public abstract int api() default 1;
+ method public abstract int value() default 1;
}
}
package my.pkg {