Skip to content

Commit 7587d98

Browse files
committed
include type arguments in reference elements's referencedName/toString
Fixes #1200
1 parent 14d7bf8 commit 7587d98

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSClassifierReferenceImpl.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,12 @@ class KSClassifierReferenceImpl private constructor(val ktUserType: KtUserType)
4747
}
4848

4949
override fun referencedName(): String {
50-
return ktUserType.referencedName ?: ""
50+
val typeArgs = typeArguments
51+
return if (typeArgs.isEmpty()) {
52+
ktUserType.referencedName ?: ""
53+
} else {
54+
ktUserType.referencedName + typeArgs.joinToString(prefix = "<", postfix = ">") { it.type?.toString() ?: "*" }
55+
}
5156
}
5257

5358
override val qualifier: KSClassifierReference? by lazy {

test-utils/testData/api/referenceElement.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
// TEST PROCESSOR: ReferenceElementProcessor
2020
// EXPECTED:
2121
// KSClassifierReferenceImpl: Qualifier of B is A
22-
// KSClassifierReferenceImpl: Qualifier of C is A
22+
// KSClassifierReferenceImpl: Qualifier of C<Int> is A<String>
2323
// KSClassifierReferenceImpl: Qualifier of Int is null
2424
// KSClassifierReferenceImpl: Qualifier of String is null
2525
// KSClassifierReferenceDescriptorImpl: Qualifier of Int is null

0 commit comments

Comments
 (0)