KSP2: fix type expansion
diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/ResolverAAImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/ResolverAAImpl.kt index a4c18d0..e926c3a 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/ResolverAAImpl.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/ResolverAAImpl.kt
@@ -556,7 +556,7 @@ fun checkAnnotated(annotated: KSAnnotated): Boolean { return annotated.annotations.any { val kaType = (it.annotationType.resolve() as? KSTypeImpl)?.type ?: return@any false - kaType.toAbbreviatedType().symbol?.classId?.asFqNameString() == realAnnotationName + kaType.fullyExpand().symbol?.classId?.asFqNameString() == realAnnotationName } }
diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt index 02aca77..84b9853 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt
@@ -162,7 +162,7 @@ get() = type is KaFunctionType && type.isSuspend override fun hashCode(): Int { - return type.toAbbreviatedType().hashCode() + return type.fullyExpand().hashCode() } override fun equals(other: Any?): Boolean { @@ -179,8 +179,4 @@ } } -internal fun KaType.toAbbreviatedType(): KaType = - when (val symbol = this.classifierSymbol()) { - is KaTypeAliasSymbol -> symbol.expandedType.toAbbreviatedType() - else -> this - } +internal fun KaType.fullyExpand(): KaType = analyze { fullyExpandedType }
diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/util.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/util.kt index 41cb654..99a0dca 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/util.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/util.kt
@@ -158,7 +158,7 @@ if (!inFunctionType) { append("[typealias ${symbol.name.asString()}]") } else { - append(this@render.toAbbreviatedType().render(inFunctionType = true)) + append(this@render.fullyExpand().render(inFunctionType = true)) } } else { append(this@render.symbol.name?.asString())