[AA] Renderer: enable rendering name without symbol

^KTIJ-22404
This commit is contained in:
aleksandrina-streltsova
2023-06-06 15:35:57 +03:00
committed by teamcity
parent 928c590599
commit fccb391f31
@@ -11,28 +11,32 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtClassKind
import org.jetbrains.kotlin.analysis.api.symbols.KtClassOrObjectSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtClassOrObjectSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtNamedSymbol import org.jetbrains.kotlin.analysis.api.symbols.markers.KtNamedSymbol
import org.jetbrains.kotlin.analysis.utils.printer.PrettyPrinter import org.jetbrains.kotlin.analysis.utils.printer.PrettyPrinter
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.renderer.render import org.jetbrains.kotlin.renderer.render
public interface KtDeclarationNameRenderer { public interface KtDeclarationNameRenderer {
context(KtAnalysisSession, KtDeclarationRenderer) context(KtAnalysisSession, KtDeclarationRenderer)
public fun renderName(symbol: KtNamedSymbol, printer: PrettyPrinter) public fun renderName(symbol: KtNamedSymbol, printer: PrettyPrinter): Unit = renderName(symbol.name, symbol, printer)
context(KtAnalysisSession, KtDeclarationRenderer)
public fun renderName(name: Name, symbol: KtNamedSymbol?, printer: PrettyPrinter)
public object QUOTED : KtDeclarationNameRenderer { public object QUOTED : KtDeclarationNameRenderer {
context(KtAnalysisSession, KtDeclarationRenderer) context(KtAnalysisSession, KtDeclarationRenderer)
override fun renderName(symbol: KtNamedSymbol, printer: PrettyPrinter) { override fun renderName(name: Name, symbol: KtNamedSymbol?, printer: PrettyPrinter) {
if (symbol is KtClassOrObjectSymbol && symbol.classKind == KtClassKind.COMPANION_OBJECT && symbol.name == SpecialNames.DEFAULT_NAME_FOR_COMPANION_OBJECT) if (symbol is KtClassOrObjectSymbol && symbol.classKind == KtClassKind.COMPANION_OBJECT && symbol.name == SpecialNames.DEFAULT_NAME_FOR_COMPANION_OBJECT)
return return
printer.append(symbol.name.render()) printer.append(name.render())
} }
} }
public object UNQUOTED : KtDeclarationNameRenderer { public object UNQUOTED : KtDeclarationNameRenderer {
context(KtAnalysisSession, KtDeclarationRenderer) context(KtAnalysisSession, KtDeclarationRenderer)
override fun renderName(symbol: KtNamedSymbol, printer: PrettyPrinter) { override fun renderName(name: Name, symbol: KtNamedSymbol?, printer: PrettyPrinter) {
if (symbol is KtClassOrObjectSymbol && symbol.classKind == KtClassKind.COMPANION_OBJECT && symbol.name == SpecialNames.DEFAULT_NAME_FOR_COMPANION_OBJECT) if (symbol is KtClassOrObjectSymbol && symbol.classKind == KtClassKind.COMPANION_OBJECT && symbol.name == SpecialNames.DEFAULT_NAME_FOR_COMPANION_OBJECT)
return return
printer.append(symbol.name.asString()) printer.append(name.asString())
} }
} }
} }