Analysis API: rework KtSymbol hierarchy

- make some symbols to be KtPossiblyMemberSymbols
- introduce KtDeclarationSymbol for declarations
This commit is contained in:
Ilya Kirillov
2021-11-30 13:10:12 +01:00
parent 22e31ea414
commit 985c6fa0b8
11 changed files with 34 additions and 25 deletions
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.analysis.api.components.KtDeclarationRendererOptions
import org.jetbrains.kotlin.analysis.api.components.KtTypeRendererOptions
import org.jetbrains.kotlin.analysis.api.impl.barebone.test.FrontendApiTestConfiguratorService
import org.jetbrains.kotlin.analysis.api.impl.base.test.test.framework.AbstractHLApiSingleFileTest
import org.jetbrains.kotlin.analysis.api.symbols.KtDeclarationSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtPossibleMemberSymbol
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.test.model.TestModule
@@ -28,7 +29,7 @@ abstract class AbstractRendererTest(configurator: FrontendApiTestConfiguratorSer
buildString {
ktFile.declarations.forEach { declaration ->
analyseForTest(declaration) {
val symbol = declaration.getSymbol() as? KtPossibleMemberSymbol ?: return@analyseForTest
val symbol = declaration.getSymbol() as? KtDeclarationSymbol ?: return@analyseForTest
append(symbol.render(options))
appendLine()
appendLine()
@@ -81,7 +81,7 @@ private fun KtAnalysisSession.stringRepresentation(call: KtCall): String {
}
@Suppress("DEPRECATION")
(this@stringValue as? KtPossibleMemberSymbol)?.getDispatchReceiverType()?.let { dispatchReceiverType ->
(this@stringValue as? KtCallableSymbol)?.getDispatchReceiverType()?.let { dispatchReceiverType ->
append("<dispatch receiver>: ${dispatchReceiverType.render()}")
if (valueParameters.isNotEmpty()) append(", ")
}