diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/KDocReferenceResolver.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/KDocReferenceResolver.kt index fdc6620a631..7de5603d8d3 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/KDocReferenceResolver.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/KDocReferenceResolver.kt @@ -27,12 +27,12 @@ internal object KDocReferenceResolver { val pathSegments = fqName.pathSegments() if (pathSegments.size == 1) { val singleSegment = pathSegments.single() - when { - owner is KtConstructorSymbol -> { - collectConstructorParameterSymbols(owner, singleSegment) + when (ownerSymbol) { + is KtConstructorSymbol -> { + collectConstructorParameterSymbols(ownerSymbol, singleSegment) } - ownerSymbol is KtNamedClassOrObjectSymbol -> { + is KtNamedClassOrObjectSymbol -> { collectPrimaryConstructorParameterSymbols(ownerSymbol, singleSegment) } } @@ -65,8 +65,8 @@ internal object KDocReferenceResolver { addAll(scope.getClassifierSymbols { it == shortName }) } - context(KtAnalysisSession, MutableCollection) - private fun collectConstructorParameterSymbols(owner: KtFunctionLikeSymbol, name: Name) { + context(KtAnalysisSession) + private fun MutableCollection.collectConstructorParameterSymbols(owner: KtFunctionLikeSymbol, name: Name) { for (valueParameter in owner.valueParameters) { if (valueParameter.name == name) { add(valueParameter) @@ -105,8 +105,8 @@ internal object KDocReferenceResolver { getPackageSymbolIfPackageExists(packageFqName)?.let(::add) } - context(KtAnalysisSession, MutableCollection) - private fun collectSymbolsByClassId(classId: ClassId) { + context(KtAnalysisSession) + private fun MutableCollection.collectSymbolsByClassId(classId: ClassId) { classId.getCorrespondingToplevelClassOrObjectSymbol()?.let(::add) } diff --git a/analysis/analysis-api/testData/referenceResolve/kDoc/parameters/ConstructorValueParameter.kt b/analysis/analysis-api/testData/referenceResolve/kDoc/parameters/ConstructorValueParameter.kt index 71928943479..2a01b9274b2 100644 --- a/analysis/analysis-api/testData/referenceResolve/kDoc/parameters/ConstructorValueParameter.kt +++ b/analysis/analysis-api/testData/referenceResolve/kDoc/parameters/ConstructorValueParameter.kt @@ -1,7 +1,3 @@ -// TODO -// UNRESOLVED_REFERENCE - - class C { /** * [aa]