diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt index 25f50178753..477650c54a8 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt @@ -92,8 +92,7 @@ internal class DescriptorRendererImpl( /* NAMES RENDERING */ override fun renderName(name: Name): String { - val asString = name.asString() - return escape(if (nameShouldBeEscaped(name)) '`' + asString + '`' else asString) + return escape(name.render()) } 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? { if (lowerRendered.startsWith(lowerPrefix) && upperRendered.startsWith(upperPrefix)) { val lowerWithoutPrefix = lowerRendered.substring(lowerPrefix.length()) diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/RenderingUtils.kt b/core/descriptors/src/org/jetbrains/kotlin/renderer/RenderingUtils.kt index c66abe59083..882a8e3dedb 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/renderer/RenderingUtils.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/RenderingUtils.kt @@ -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)