From fa0faa33a5b2064f53737dcca1f025a86800d7ec Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 25 May 2022 12:30:09 +0200 Subject: [PATCH] FE10 analysis API: create package symbols properly --- .../symbols/descriptorBased/base/Kt1DescUtils.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt index 38a1359ad15..c17e011bada 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt @@ -8,9 +8,9 @@ package org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.ba import org.jetbrains.kotlin.analysis.api.* import org.jetbrains.kotlin.analysis.api.annotations.* import org.jetbrains.kotlin.analysis.api.base.KtConstantValue -import org.jetbrains.kotlin.analysis.api.calls.symbol import org.jetbrains.kotlin.analysis.api.components.KtDeclarationRendererOptions import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext +import org.jetbrains.kotlin.analysis.api.descriptors.symbols.KtFe10PackageSymbol import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.* import org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased.base.KtFe10PsiSymbol import org.jetbrains.kotlin.analysis.api.descriptors.types.* @@ -90,6 +90,7 @@ internal fun DeclarationDescriptor.toKtSymbol(analysisContext: Fe10AnalysisConte return when (this) { is ClassifierDescriptor -> toKtClassifierSymbol(analysisContext) is CallableDescriptor -> toKtCallableSymbol(analysisContext) + is PackageViewDescriptor -> toKtPackageSymbol(analysisContext) else -> null } } @@ -111,6 +112,10 @@ internal fun ClassDescriptor.toKtClassSymbol(analysisContext: Fe10AnalysisContex } } +internal fun PackageViewDescriptor.toKtPackageSymbol(analysisContext: Fe10AnalysisContext): KtPackageSymbol { + return KtFe10PackageSymbol(fqName, analysisContext) +} + internal fun KtSymbol.getDescriptor(): DeclarationDescriptor? { return when (this) { is KtFe10PsiSymbol<*, *> -> descriptor