[Analysis API FIR] Fix small mistake in KDocReferenceResolver
`owner` is a PSI element, it can never be an instance of `KtConstructorSymbol` Also, make `MutableCollection` an extension receiver instead of context receiver for the consistency
This commit is contained in:
+8
-8
@@ -27,12 +27,12 @@ internal object KDocReferenceResolver {
|
|||||||
val pathSegments = fqName.pathSegments()
|
val pathSegments = fqName.pathSegments()
|
||||||
if (pathSegments.size == 1) {
|
if (pathSegments.size == 1) {
|
||||||
val singleSegment = pathSegments.single()
|
val singleSegment = pathSegments.single()
|
||||||
when {
|
when (ownerSymbol) {
|
||||||
owner is KtConstructorSymbol -> {
|
is KtConstructorSymbol -> {
|
||||||
collectConstructorParameterSymbols(owner, singleSegment)
|
collectConstructorParameterSymbols(ownerSymbol, singleSegment)
|
||||||
}
|
}
|
||||||
|
|
||||||
ownerSymbol is KtNamedClassOrObjectSymbol -> {
|
is KtNamedClassOrObjectSymbol -> {
|
||||||
collectPrimaryConstructorParameterSymbols(ownerSymbol, singleSegment)
|
collectPrimaryConstructorParameterSymbols(ownerSymbol, singleSegment)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -65,8 +65,8 @@ internal object KDocReferenceResolver {
|
|||||||
addAll(scope.getClassifierSymbols { it == shortName })
|
addAll(scope.getClassifierSymbols { it == shortName })
|
||||||
}
|
}
|
||||||
|
|
||||||
context(KtAnalysisSession, MutableCollection<KtSymbol>)
|
context(KtAnalysisSession)
|
||||||
private fun collectConstructorParameterSymbols(owner: KtFunctionLikeSymbol, name: Name) {
|
private fun MutableCollection<KtSymbol>.collectConstructorParameterSymbols(owner: KtFunctionLikeSymbol, name: Name) {
|
||||||
for (valueParameter in owner.valueParameters) {
|
for (valueParameter in owner.valueParameters) {
|
||||||
if (valueParameter.name == name) {
|
if (valueParameter.name == name) {
|
||||||
add(valueParameter)
|
add(valueParameter)
|
||||||
@@ -105,8 +105,8 @@ internal object KDocReferenceResolver {
|
|||||||
getPackageSymbolIfPackageExists(packageFqName)?.let(::add)
|
getPackageSymbolIfPackageExists(packageFqName)?.let(::add)
|
||||||
}
|
}
|
||||||
|
|
||||||
context(KtAnalysisSession, MutableCollection<KtSymbol>)
|
context(KtAnalysisSession)
|
||||||
private fun collectSymbolsByClassId(classId: ClassId) {
|
private fun MutableCollection<KtSymbol>.collectSymbolsByClassId(classId: ClassId) {
|
||||||
classId.getCorrespondingToplevelClassOrObjectSymbol()?.let(::add)
|
classId.getCorrespondingToplevelClassOrObjectSymbol()?.let(::add)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Vendored
-4
@@ -1,7 +1,3 @@
|
|||||||
// TODO
|
|
||||||
// UNRESOLVED_REFERENCE
|
|
||||||
|
|
||||||
|
|
||||||
class C {
|
class C {
|
||||||
/**
|
/**
|
||||||
* [a<caret>a]
|
* [a<caret>a]
|
||||||
|
|||||||
Reference in New Issue
Block a user