[AA] Renderer: enable rendering name without symbol
^KTIJ-22404
This commit is contained in:
committed by
teamcity
parent
928c590599
commit
fccb391f31
+9
-5
@@ -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())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user