FE10 analysis API: create package symbols properly

This commit is contained in:
Mikhail Glukhikh
2022-05-25 12:30:09 +02:00
committed by Space
parent 213445347d
commit fa0faa33a5
@@ -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