[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.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())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user