diff --git a/kotlin-analysis-api/testData/jvmName.kt b/kotlin-analysis-api/testData/jvmName.kt index 91b0dfdbd8..591684d550 100644 --- a/kotlin-analysis-api/testData/jvmName.kt +++ b/kotlin-analysis-api/testData/jvmName.kt @@ -4,23 +4,32 @@ // (getX, setX), (getY, null) // stringParameter // stringParameter +// stringParameter +// JvmName: stringParameter +// JvmName: stringParameter // END // MODULE: lib // FILE: Lib.kt data class TestLibDataClass(var x: Int, val y: String) -// FILE: MyAnnotation.kt -annotation class MyAnnotation( +// FILE: MyAnnotationLib.kt +annotation class MyAnnotationLib( @get:JvmName("stringParameter") val stringParam: String ) // FILE: MyAnnotationUserLib.java -@MyAnnotation(stringParameter = "foo") +@MyAnnotationLib(stringParameter = "foo") class MyAnnotationUserLib {} // MODULE: main(lib) +// FILE: MyAnnotation.kt +annotation class MyAnnotation( + @get:JvmName("stringParameter") + val stringParam: String +) // FILE: K.kt data class TestDataClass(var x: Int, val y: String) // FILE: MyAnnotationUser.java +@MyAnnotationLib(stringParameter = "foo") @MyAnnotation(stringParameter = "foo") class MyAnnotationUser {} diff --git a/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/JvmNameProcessor.kt b/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/JvmNameProcessor.kt index 1a58e8ffed..f29834d47e 100644 --- a/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/JvmNameProcessor.kt +++ b/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/JvmNameProcessor.kt @@ -25,11 +25,18 @@ class JvmNameProcessor : AbstractTestProcessor() { } listOf("MyAnnotationUser", "MyAnnotationUserLib").forEach { clsName -> resolver.getClassDeclarationByName(clsName)!!.let { cls -> - cls.annotations.single().let { annotation -> + cls.annotations.forEach { annotation -> results.add(annotation.arguments.joinToString { it.name!!.asString() }) } } } + listOf("MyAnnotation", "MyAnnotationLib").forEach { clsName -> + resolver.getClassDeclarationByName(clsName)!!.getAllProperties().forEach { p -> + p.getter?.let { + results.add("JvmName: ${resolver.getJvmName(it)}") + } + } + } return emptyList() } } diff --git a/test-utils/testData/api/jvmName.kt b/test-utils/testData/api/jvmName.kt index 91b0dfdbd8..7fab74a5f6 100644 --- a/test-utils/testData/api/jvmName.kt +++ b/test-utils/testData/api/jvmName.kt @@ -4,23 +4,32 @@ // (getX, setX), (getY, null) // stringParameter // stringParameter +// stringParameter +// JvmName: stringParameter +// JvmName: stringParameter // END // MODULE: lib // FILE: Lib.kt data class TestLibDataClass(var x: Int, val y: String) -// FILE: MyAnnotation.kt -annotation class MyAnnotation( +// FILE: MyAnnotationLib.kt +annotation class MyAnnotationLib( @get:JvmName("stringParameter") val stringParam: String ) // FILE: MyAnnotationUserLib.java -@MyAnnotation(stringParameter = "foo") +@MyAnnotationLib(stringParameter = "foo") class MyAnnotationUserLib {} // MODULE: main(lib) // FILE: K.kt +// FILE: MyAnnotation.kt +annotation class MyAnnotation( + @get:JvmName("stringParameter") + val stringParam: String +) data class TestDataClass(var x: Int, val y: String) // FILE: MyAnnotationUser.java +@MyAnnotationLib(stringParameter = "foo") @MyAnnotation(stringParameter = "foo") class MyAnnotationUser {}