diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSClassifierReferenceImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSClassifierReferenceImpl.kt index 9ace2fc383..6c24d6a059 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSClassifierReferenceImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSClassifierReferenceImpl.kt @@ -47,7 +47,12 @@ class KSClassifierReferenceImpl private constructor(val ktUserType: KtUserType) } override fun referencedName(): String { - return ktUserType.referencedName ?: "" + val typeArgs = typeArguments + return if (typeArgs.isEmpty()) { + ktUserType.referencedName ?: "" + } else { + ktUserType.referencedName + typeArgs.joinToString(prefix = "<", postfix = ">") { it.type?.toString() ?: "*" } + } } override val qualifier: KSClassifierReference? by lazy { diff --git a/test-utils/testData/api/referenceElement.kt b/test-utils/testData/api/referenceElement.kt index 513ad42910..fbb93760bf 100644 --- a/test-utils/testData/api/referenceElement.kt +++ b/test-utils/testData/api/referenceElement.kt @@ -19,7 +19,7 @@ // TEST PROCESSOR: ReferenceElementProcessor // EXPECTED: // KSClassifierReferenceImpl: Qualifier of B is A -// KSClassifierReferenceImpl: Qualifier of C is A +// KSClassifierReferenceImpl: Qualifier of C is A // KSClassifierReferenceImpl: Qualifier of Int is null // KSClassifierReferenceImpl: Qualifier of String is null // KSClassifierReferenceDescriptorImpl: Qualifier of Int is null