diff --git a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/processor/AnnotationArrayValueTypeProcessor.kt b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/processor/AnnotationArrayValueTypeProcessor.kt index 43b7c19c26..6a3b477960 100644 --- a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/processor/AnnotationArrayValueTypeProcessor.kt +++ b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/processor/AnnotationArrayValueTypeProcessor.kt @@ -41,7 +41,10 @@ class AnnotationArrayValueTypeProcessor : AbstractTestProcessor() { val argument = annotation.arguments.single() val value = argument.value val argumentName = argument.name?.asString() - results.add("$className $annotationName $argumentName is Array<*>: ${value is Array<*>}") + check(value is Array<*> || value is Collection<*>) { + "Unexpected array-valued annotation argument type: ${value?.javaClass?.name ?: "null"}" + } + results.add("$className $annotationName $argumentName is Array<*> or Collection<*>: true") results.add("$className $annotationName $argumentName size: ${value.sizeOrNull()}") } } diff --git a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AAConfiguredUnitTestSuite.kt b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AAConfiguredUnitTestSuite.kt index b471136b07..402889a526 100644 --- a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AAConfiguredUnitTestSuite.kt +++ b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AAConfiguredUnitTestSuite.kt @@ -28,12 +28,6 @@ class AAConfiguredUnitTestSuite : KSPUnitTestSuite(experimentalPsiResolution = f runTest("$AA_PATH/getSymbolsWithAnnotation/aliasedAnnotation.kt") } - @TestMetadata("annotationArrayValueType.kt") - @Test - override fun testAnnotationArrayValueType() { - runFailingTest("$AA_PATH/annotationArrayValueType.kt") - } - @TestMetadata("allUseSiteTargetAppliedToAnnotationList.kt") @Test override fun testAllUseSiteTargetAppliedToAnnotationList() { diff --git a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/KSPUnitTestSuite.kt b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/KSPUnitTestSuite.kt index 14acb19095..4d70425348 100644 --- a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/KSPUnitTestSuite.kt +++ b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/KSPUnitTestSuite.kt @@ -153,7 +153,11 @@ abstract class KSPUnitTestSuite( } @Bug("https://github.com/google/ksp/issues/3008", BugState.OPEN) - abstract fun testAnnotationArrayValueType() + @TestMetadata("annotationArrayValueType.kt") + @Test + fun testAnnotationArrayValueType() { + runTest("$AA_PATH/annotationArrayValueType.kt") + } @TestMetadata("annotationWithDefault.kt") @Test diff --git a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/PsiConfiguredUnitTestSuite.kt b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/PsiConfiguredUnitTestSuite.kt index 2be0ea332e..6b9d875dd9 100644 --- a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/PsiConfiguredUnitTestSuite.kt +++ b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/PsiConfiguredUnitTestSuite.kt @@ -28,12 +28,6 @@ class PsiConfiguredUnitTestSuite : KSPUnitTestSuite(experimentalPsiResolution = runFailingTest("$AA_PATH/getSymbolsWithAnnotation/aliasedAnnotation.kt") } - @TestMetadata("annotationArrayValueType.kt") - @Test - override fun testAnnotationArrayValueType() { - runFailingTest("$AA_PATH/annotationArrayValueType.kt") - } - @TestMetadata("allUseSiteTargetAppliedToAnnotationList.kt") @Test override fun testAllUseSiteTargetAppliedToAnnotationList() { diff --git a/kotlin-analysis-api/testData/annotationArrayValueType.kt b/kotlin-analysis-api/testData/annotationArrayValueType.kt index aa87c52a37..bdd2e994e6 100644 --- a/kotlin-analysis-api/testData/annotationArrayValueType.kt +++ b/kotlin-analysis-api/testData/annotationArrayValueType.kt @@ -16,13 +16,13 @@ */ // TEST PROCESSOR: AnnotationArrayValueTypeProcessor // EXPECTED: -// JavaAnnotated JavaAnnotation args is Array<*>: true +// JavaAnnotated JavaAnnotation args is Array<*> or Collection<*>: true // JavaAnnotated JavaAnnotation args size: 2 -// JavaAnnotated KotlinAnnotation args is Array<*>: true +// JavaAnnotated KotlinAnnotation args is Array<*> or Collection<*>: true // JavaAnnotated KotlinAnnotation args size: 2 -// KotlinAnnotated JavaAnnotation args is Array<*>: true +// KotlinAnnotated JavaAnnotation args is Array<*> or Collection<*>: true // KotlinAnnotated JavaAnnotation args size: 2 -// KotlinAnnotated KotlinAnnotation args is Array<*>: true +// KotlinAnnotated KotlinAnnotation args is Array<*> or Collection<*>: true // KotlinAnnotated KotlinAnnotation args size: 2 // END // FILE: JavaAnnotation.java