Snap for 10102166 from 51fae39af2958909a21e2be8eca283061c2c45a2 to mainline-tzdata4-release
Change-Id: Id953caad0c961914fe1ed62b923cfa68c87c8270
diff --git a/src/main/java/com/android/tools/metalava/AnnotationsMerger.kt b/src/main/java/com/android/tools/metalava/AnnotationsMerger.kt
index 8c46600..30ba4e9 100644
--- a/src/main/java/com/android/tools/metalava/AnnotationsMerger.kt
+++ b/src/main/java/com/android/tools/metalava/AnnotationsMerger.kt
@@ -524,7 +524,7 @@
private fun mergeAnnotations(xmlElement: Element, item: Item) {
loop@ for (annotationElement in getChildren(xmlElement)) {
val originalName = getAnnotationName(annotationElement)
- val qualifiedName = AnnotationItem.mapName(codebase, originalName) ?: originalName
+ val qualifiedName = AnnotationItem.mapName(originalName) ?: originalName
if (hasNullnessConflicts(item, qualifiedName)) {
continue@loop
}
@@ -807,10 +807,10 @@
override val originalName: String,
override val attributes: List<XmlBackedAnnotationAttribute> = emptyList()
) : DefaultAnnotationItem(codebase) {
- override val qualifiedName: String? = AnnotationItem.mapName(codebase, originalName)
+ override val qualifiedName: String? = AnnotationItem.mapName(originalName)
override fun toSource(target: AnnotationTarget, showDefaultAttrs: Boolean): String {
- val qualifiedName = AnnotationItem.mapName(codebase, qualifiedName, null, target) ?: return ""
+ val qualifiedName = AnnotationItem.mapName(qualifiedName, target) ?: return ""
if (attributes.isEmpty()) {
return "@$qualifiedName"
diff --git a/src/main/java/com/android/tools/metalava/model/AnnotationItem.kt b/src/main/java/com/android/tools/metalava/model/AnnotationItem.kt
index 26cea66..7c29a0b 100644
--- a/src/main/java/com/android/tools/metalava/model/AnnotationItem.kt
+++ b/src/main/java/com/android/tools/metalava/model/AnnotationItem.kt
@@ -42,7 +42,6 @@
import com.intellij.psi.PsiReference
import org.jetbrains.kotlin.psi.KtObjectDeclaration
import org.jetbrains.uast.UElement
-import java.util.function.Predicate
fun isNullableAnnotation(qualifiedName: String): Boolean {
return qualifiedName.endsWith("Nullable")
@@ -175,18 +174,20 @@
* Annotations that should not be exported are mapped to null.
*/
fun mapName(
- codebase: Codebase,
qualifiedName: String?,
- filter: Predicate<Item>? = null,
target: AnnotationTarget = AnnotationTarget.SIGNATURE_FILE
): String? {
qualifiedName ?: return null
- if (options.passThroughAnnotations.contains(qualifiedName)) {
+ if (options.passThroughAnnotations.contains(qualifiedName) ||
+ options.showAnnotations.matches(qualifiedName) ||
+ options.hideAnnotations.matches(qualifiedName)
+ ) {
return qualifiedName
}
if (options.excludeAnnotations.contains(qualifiedName)) {
return null
}
+
when (qualifiedName) {
// Resource annotations
"android.annotation.AnimRes" -> return "androidx.annotation.AnimRes"
@@ -282,21 +283,7 @@
"android.annotation.Condemned",
"android.annotation.Hide",
- "android.annotation.Widget" -> {
- // Remove, unless (a) public or (b) specifically included in --showAnnotations
- return if (options.showAnnotations.matches(qualifiedName)) {
- qualifiedName
- } else if (filter != null) {
- val cls = codebase.findClass(qualifiedName)
- if (cls != null && filter.test(cls)) {
- qualifiedName
- } else {
- null
- }
- } else {
- qualifiedName
- }
- }
+ "android.annotation.Widget" -> return qualifiedName
// Included for analysis, but should not be exported:
"android.annotation.BroadcastBehavior",
@@ -325,29 +312,10 @@
// Unknown Android platform annotations
qualifiedName.startsWith("android.annotation.") -> {
- // Remove, unless specifically included in --showAnnotations
- return if (options.showAnnotations.matches(qualifiedName)) {
- qualifiedName
- } else {
- null
- }
+ return null
}
- else -> {
- // Remove, unless (a) public or (b) specifically included in --showAnnotations
- return if (options.showAnnotations.matches(qualifiedName)) {
- qualifiedName
- } else if (filter != null) {
- val cls = codebase.findClass(qualifiedName)
- if (cls != null && filter.test(cls)) {
- qualifiedName
- } else {
- null
- }
- } else {
- qualifiedName
- }
- }
+ else -> qualifiedName
}
}
}
diff --git a/src/main/java/com/android/tools/metalava/model/ModifierList.kt b/src/main/java/com/android/tools/metalava/model/ModifierList.kt
index 5b81463..5ea4468 100644
--- a/src/main/java/com/android/tools/metalava/model/ModifierList.kt
+++ b/src/main/java/com/android/tools/metalava/model/ModifierList.kt
@@ -192,7 +192,7 @@
* in this modifier list
*/
fun findAnnotation(qualifiedName: String): AnnotationItem? {
- val mappedName = AnnotationItem.mapName(codebase, qualifiedName)
+ val mappedName = AnnotationItem.mapName(qualifiedName)
return annotations().firstOrNull {
mappedName == it.qualifiedName
}
diff --git a/src/main/java/com/android/tools/metalava/model/psi/PsiAnnotationItem.kt b/src/main/java/com/android/tools/metalava/model/psi/PsiAnnotationItem.kt
index 4077b2a..5de4137 100644
--- a/src/main/java/com/android/tools/metalava/model/psi/PsiAnnotationItem.kt
+++ b/src/main/java/com/android/tools/metalava/model/psi/PsiAnnotationItem.kt
@@ -51,7 +51,7 @@
val psiAnnotation: PsiAnnotation,
override val originalName: String?
) : DefaultAnnotationItem(codebase) {
- override val qualifiedName: String? = AnnotationItem.mapName(codebase, originalName)
+ override val qualifiedName: String? = AnnotationItem.mapName(originalName)
override fun toString(): String = toSource()
@@ -137,7 +137,7 @@
target: AnnotationTarget,
showDefaultAttrs: Boolean
) {
- val qualifiedName = AnnotationItem.mapName(codebase, originalName, null, target) ?: return
+ val qualifiedName = AnnotationItem.mapName(originalName, target) ?: return
val attributes = getAttributes(psiAnnotation, showDefaultAttrs)
if (attributes.isEmpty()) {
diff --git a/src/main/java/com/android/tools/metalava/model/psi/PsiTypePrinter.kt b/src/main/java/com/android/tools/metalava/model/psi/PsiTypePrinter.kt
index 0b99b35..3c61a88 100644
--- a/src/main/java/com/android/tools/metalava/model/psi/PsiTypePrinter.kt
+++ b/src/main/java/com/android/tools/metalava/model/psi/PsiTypePrinter.kt
@@ -488,7 +488,7 @@
val mapped =
if (mapAnnotations) {
- AnnotationItem.mapName(codebase, qualifiedName) ?: return null
+ AnnotationItem.mapName(qualifiedName) ?: return null
} else {
qualifiedName
}
diff --git a/src/main/java/com/android/tools/metalava/model/psi/UAnnotationItem.kt b/src/main/java/com/android/tools/metalava/model/psi/UAnnotationItem.kt
index c76dfcf..45402e7 100644
--- a/src/main/java/com/android/tools/metalava/model/psi/UAnnotationItem.kt
+++ b/src/main/java/com/android/tools/metalava/model/psi/UAnnotationItem.kt
@@ -51,7 +51,7 @@
val uAnnotation: UAnnotation,
override val originalName: String?
) : DefaultAnnotationItem(codebase) {
- override val qualifiedName: String? = AnnotationItem.mapName(codebase, originalName)
+ override val qualifiedName: String? = AnnotationItem.mapName(originalName)
override fun toString(): String = toSource()
@@ -121,7 +121,7 @@
target: AnnotationTarget,
showDefaultAttrs: Boolean
) {
- val qualifiedName = AnnotationItem.mapName(codebase, originalName, null, target) ?: return
+ val qualifiedName = AnnotationItem.mapName(originalName, target) ?: return
val attributes = getAttributes(uAnnotation, showDefaultAttrs)
if (attributes.isEmpty()) {
diff --git a/src/main/java/com/android/tools/metalava/model/text/TextBackedAnnotationItem.kt b/src/main/java/com/android/tools/metalava/model/text/TextBackedAnnotationItem.kt
index fce3a9d..b3bd1fc 100644
--- a/src/main/java/com/android/tools/metalava/model/text/TextBackedAnnotationItem.kt
+++ b/src/main/java/com/android/tools/metalava/model/text/TextBackedAnnotationItem.kt
@@ -40,7 +40,7 @@
else source.substring(1, index)
originalName = annotationClass
- qualifiedName = if (mapName) AnnotationItem.mapName(codebase, annotationClass) else annotationClass
+ qualifiedName = if (mapName) AnnotationItem.mapName(annotationClass) else annotationClass
full = when {
qualifiedName == null -> ""
index == -1 -> "@$qualifiedName"
diff --git a/src/main/java/com/android/tools/metalava/model/text/TextModifiers.kt b/src/main/java/com/android/tools/metalava/model/text/TextModifiers.kt
index 2c72a0d..143ffcd 100644
--- a/src/main/java/com/android/tools/metalava/model/text/TextModifiers.kt
+++ b/src/main/java/com/android/tools/metalava/model/text/TextModifiers.kt
@@ -53,7 +53,7 @@
annotationSources.forEach { source ->
val index = source.indexOf('(')
val originalName = if (index == -1) source.substring(1) else source.substring(1, index)
- val qualifiedName = AnnotationItem.mapName(codebase, originalName)
+ val qualifiedName = AnnotationItem.mapName(originalName)
// @Deprecated is also treated as a "modifier"
if (qualifiedName == JAVA_LANG_DEPRECATED) {