From a15edf716aa27edb63ff76970c311f4fc164e577 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Thu, 13 Nov 2014 18:04:24 +0300 Subject: [PATCH] Fixed KT-6235 Get rid of `` for identifier "type" in converter #KT-6235 Fixed --- j2k/src/org/jetbrains/jet/j2k/ast/Identifier.kt | 9 ++++----- j2k/tests/testData/fileOrElement/identifier/keywords.kt | 2 +- .../fileOrElement/importStatement/importWithKeywords.kt | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/j2k/src/org/jetbrains/jet/j2k/ast/Identifier.kt b/j2k/src/org/jetbrains/jet/j2k/ast/Identifier.kt index b12a0b44099..eb36cb50b96 100644 --- a/j2k/src/org/jetbrains/jet/j2k/ast/Identifier.kt +++ b/j2k/src/org/jetbrains/jet/j2k/ast/Identifier.kt @@ -18,7 +18,8 @@ package org.jetbrains.jet.j2k.ast import org.jetbrains.jet.j2k.CodeBuilder import com.intellij.psi.PsiNameIdentifierOwner -import org.jetbrains.jet.j2k.CodeConverter +import org.jetbrains.jet.lexer.JetKeywordToken +import org.jetbrains.jet.lexer.JetTokens fun PsiNameIdentifierOwner.declarationIdentifier(): Identifier { val name = getName() @@ -35,7 +36,7 @@ class Identifier( get() = name.isEmpty() private fun toKotlin(): String { - if (quotingNeeded && ONLY_KOTLIN_KEYWORDS.contains(name) || name.contains("$")) { + if (quotingNeeded && KEYWORDS.contains(name) || name.contains("$")) { return quote(name) } @@ -53,9 +54,7 @@ class Identifier( class object { val Empty = Identifier("") - val ONLY_KOTLIN_KEYWORDS: Set = setOf( - "package", "as", "type", "val", "var", "fun", "is", "in", "object", "when", "trait", "This" - ) + private val KEYWORDS = JetTokens.KEYWORDS.getTypes().map { (it as JetKeywordToken).getValue() }.toSet() fun toKotlin(name: String): String = Identifier(name).toKotlin() } diff --git a/j2k/tests/testData/fileOrElement/identifier/keywords.kt b/j2k/tests/testData/fileOrElement/identifier/keywords.kt index c0f0386ed2b..8554ed9b603 100644 --- a/j2k/tests/testData/fileOrElement/identifier/keywords.kt +++ b/j2k/tests/testData/fileOrElement/identifier/keywords.kt @@ -1,5 +1,5 @@ val `as`: Int -val `type`: Int +val type: Int val `val`: Int val `var`: Int val `fun`: Int diff --git a/j2k/tests/testData/fileOrElement/importStatement/importWithKeywords.kt b/j2k/tests/testData/fileOrElement/importStatement/importWithKeywords.kt index 4b23bc76bd6..3cc700d9195 100644 --- a/j2k/tests/testData/fileOrElement/importStatement/importWithKeywords.kt +++ b/j2k/tests/testData/fileOrElement/importStatement/importWithKeywords.kt @@ -1,6 +1,6 @@ // ERROR: Unresolved reference: `as` package test -import `as`.`type`.`val`.`var`.`fun`.`is`.`in`.`object`.`when`.`trait`.`This` +import `as`.type.`val`.`var`.`fun`.`is`.`in`.`object`.`when`.`trait`.`This` class Test \ No newline at end of file