[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.markers.KtNamedSymbol
import org.jetbrains.kotlin.analysis.utils.printer.PrettyPrinter
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.renderer.render
public interface KtDeclarationNameRenderer {
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 {
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)
return
printer.append(symbol.name.render())
printer.append(name.render())
}
}
public object UNQUOTED : KtDeclarationNameRenderer {
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)
return
printer.append(symbol.name.asString())
printer.append(name.asString())
}
}
}