From de26e2cfe7d9bee1bda9d9e4a270e54bd7282d55 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Mon, 24 Dec 2018 12:26:25 +0300 Subject: [PATCH] New J2K: Add escaping of class symbol names in code builder --- .../org/jetbrains/kotlin/j2k/NewCodeBuilder.kt | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt index eeb62608b24..8d36137e8d6 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt @@ -115,8 +115,7 @@ class NewCodeBuilder { } override fun visitClassAccessExpression(classAccessExpression: JKClassAccessExpression) { - //TODO handle class Access in seperate conversion? - printer.printWithNoIndent(classAccessExpression.identifier.fqName!!.substringAfter("java.lang.")) + printer.printWithNoIndent(classAccessExpression.identifier.displayName().escaped()) } override fun visitFile(file: JKFile) { @@ -582,8 +581,7 @@ class NewCodeBuilder { private fun renderType(type: JKType) { if (type is JKNoTypeImpl) return when (type) { - is JKClassType -> printer.printWithNoIndent(type.classReference.displayName()) - is JKUnresolvedClassType -> printer.printWithNoIndent(type.name) + is JKClassType -> printer.printWithNoIndent(type.classReference.displayName().escapedAsQualifiedName()) is JKContextType -> return is JKStarProjectionType -> printer.printWithNoIndent("*") @@ -615,7 +613,7 @@ class NewCodeBuilder { if (javaNewExpression.isAnonymousClass()) { printer.printWithNoIndent("object : ") } - printer.printWithNoIndent(javaNewExpression.classSymbol.displayName()) + printer.printWithNoIndent(javaNewExpression.classSymbol.displayName().escapedAsQualifiedName()) javaNewExpression.typeArgumentList.accept(this) if (javaNewExpression.constructorIsPresent() || !javaNewExpression.isAnonymousClass()) { printer.par(ROUND) { @@ -673,7 +671,7 @@ class NewCodeBuilder { } override fun visitFieldAccessExpression(fieldAccessExpression: JKFieldAccessExpression) { - printer.printWithNoIndent(FqName(fieldAccessExpression.identifier.fqName).shortName().asString()) + printer.printWithNoIndent(fieldAccessExpression.identifier.name.escaped()) } override fun visitArrayAccessExpression(arrayAccessExpression: JKArrayAccessExpression) { @@ -796,7 +794,7 @@ class NewCodeBuilder { override fun visitAnnotation(annotation: JKAnnotation) { printer.printWithNoIndent("@") - printer.printWithNoIndent(annotation.classSymbol.displayName()) + printer.printWithNoIndent(annotation.classSymbol.displayName().escapedAsQualifiedName()) if (annotation.arguments.expressions.isNotEmpty()) { printer.par { annotation.arguments.accept(this)