From d89aafb06c269804ad435d5aa9acd4bfc62210b7 Mon Sep 17 00:00:00 2001 From: aleksandrina-streltsova Date: Wed, 14 Jun 2023 11:29:52 +0300 Subject: [PATCH] [AA] Resolve package fqName in KDoc --- .../analysis/api/fir/references/KDocReferenceResolver.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 9272449382a..9dbc5c8b4f1 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 @@ -77,6 +77,13 @@ internal object KDocReferenceResolver { context(KtAnalysisSession) private fun resolveKdocFqName(fqName: FqName, contextElement: KtElement): Collection { + (getSymbolsFromScopes(fqName, contextElement) + listOfNotNull(getPackageSymbolIfPackageExists(fqName))).ifNotEmpty { return this } + getNonImportedSymbolsByFullyQualifiedName(fqName).ifNotEmpty { return this } + return emptyList() + } + + context(KtAnalysisSession) + private fun getSymbolsFromScopes(fqName: FqName, contextElement: KtElement): Collection { getSymbolsFromParentMemberScopes(fqName, contextElement).ifNotEmpty { return this } val importScopeContext = contextElement.containingKtFile.getImportingScopeContext() getSymbolsFromImportingScope(importScopeContext, fqName, KtScopeKind.ExplicitSimpleImportingScope::class).ifNotEmpty { return this } @@ -84,7 +91,6 @@ internal object KDocReferenceResolver { getSymbolsFromImportingScope(importScopeContext, fqName, KtScopeKind.DefaultSimpleImportingScope::class).ifNotEmpty { return this } getSymbolsFromImportingScope(importScopeContext, fqName, KtScopeKind.ExplicitStarImportingScope::class).ifNotEmpty { return this } getSymbolsFromImportingScope(importScopeContext, fqName, KtScopeKind.DefaultStarImportingScope::class).ifNotEmpty { return this } - getNonImportedSymbolsByFullyQualifiedName(fqName).ifNotEmpty { return this } return emptyList() }