Add test for @file:Hide annotations
Test: HideAnnotionTest
Change-Id: Ief02228c9ba462fa92040a9f47e0ee5475a2f071
diff --git a/src/test/java/com/android/tools/metalava/HideAnnotationTest.kt b/src/test/java/com/android/tools/metalava/HideAnnotationTest.kt
index 47d04d9..f448e49 100644
--- a/src/test/java/com/android/tools/metalava/HideAnnotationTest.kt
+++ b/src/test/java/com/android/tools/metalava/HideAnnotationTest.kt
@@ -144,4 +144,39 @@
"""
)
}
+
+ @Test
+ fun `Using hide annotation on file scope`() {
+ check(
+ sourceFiles = arrayOf(
+ kotlin(
+ """
+ package test.pkg
+ @Target(AnnotationTarget.FILE)
+ annotation class HideFile
+ """
+ ),
+ kotlin(
+ """
+ @file:HideFile
+ package test.pkg
+
+ fun hiddenTopLevelFunction() = 1
+ var hiddenTopLevelProperty = 2
+ class VisibleTopLevelClass
+ """
+ )
+ ),
+ hideAnnotations = arrayOf("test.pkg.HideFile"),
+ api = """
+ package test.pkg {
+ @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FILE) public @interface HideFile {
+ }
+ public final class VisibleTopLevelClass {
+ ctor public VisibleTopLevelClass();
+ }
+ }
+ """
+ )
+ }
}