DescriptorRenderer uses Name.render(), not the opposite
This commit is contained in:
@@ -92,8 +92,7 @@ internal class DescriptorRendererImpl(
|
|||||||
|
|
||||||
/* NAMES RENDERING */
|
/* NAMES RENDERING */
|
||||||
override fun renderName(name: Name): String {
|
override fun renderName(name: Name): String {
|
||||||
val asString = name.asString()
|
return escape(name.render())
|
||||||
return escape(if (nameShouldBeEscaped(name)) '`' + asString + '`' else asString)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun renderName(descriptor: DeclarationDescriptor, builder: StringBuilder) {
|
private fun renderName(descriptor: DeclarationDescriptor, builder: StringBuilder) {
|
||||||
@@ -882,14 +881,6 @@ internal class DescriptorRendererImpl(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun nameShouldBeEscaped(identifier: Name): Boolean {
|
|
||||||
if (identifier.isSpecial()) return false
|
|
||||||
|
|
||||||
val name = identifier.asString()
|
|
||||||
|
|
||||||
return KeywordStringsGenerated.KEYWORDS.contains(name) || name.any { !Character.isLetterOrDigit(it) && it != '_' }
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun replacePrefixes(lowerRendered: String, lowerPrefix: String, upperRendered: String, upperPrefix: String, foldedPrefix: String): String? {
|
private fun replacePrefixes(lowerRendered: String, lowerPrefix: String, upperRendered: String, upperPrefix: String, foldedPrefix: String): String? {
|
||||||
if (lowerRendered.startsWith(lowerPrefix) && upperRendered.startsWith(upperPrefix)) {
|
if (lowerRendered.startsWith(lowerPrefix) && upperRendered.startsWith(upperPrefix)) {
|
||||||
val lowerWithoutPrefix = lowerRendered.substring(lowerPrefix.length())
|
val lowerWithoutPrefix = lowerRendered.substring(lowerPrefix.length())
|
||||||
|
|||||||
@@ -36,6 +36,15 @@ private fun qualifierName(descriptor: DeclarationDescriptor): String? = when (de
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public fun Name.render(): String = DescriptorRenderer.COMPACT.renderName(this)
|
public fun Name.render(): String {
|
||||||
|
return if (this.shouldBeEscaped()) '`' + asString() + '`' else asString()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun Name.shouldBeEscaped(): Boolean {
|
||||||
|
if (isSpecial()) return false
|
||||||
|
|
||||||
|
val string = asString()
|
||||||
|
return string in KeywordStringsGenerated.KEYWORDS || string.any { !Character.isLetterOrDigit(it) && it != '_' }
|
||||||
|
}
|
||||||
|
|
||||||
public fun FqNameBase.render(): String = DescriptorRenderer.COMPACT.renderFqName(this)
|
public fun FqNameBase.render(): String = DescriptorRenderer.COMPACT.renderFqName(this)
|
||||||
|
|||||||
Reference in New Issue
Block a user