diff --git a/generators/generators.iml b/generators/generators.iml
index 5f537b3b4e2..602b55f43c5 100644
--- a/generators/generators.iml
+++ b/generators/generators.iml
@@ -23,6 +23,7 @@
+
diff --git a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt
index ad19fe6859e..015cb6c41ba 100644
--- a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt
+++ b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt
@@ -120,6 +120,8 @@ import org.jetbrains.jet.plugin.parameterInfo.AbstractFunctionParameterInfoTest
import org.jetbrains.jet.psi.patternMatching.AbstractJetPsiUnifierTest
import org.jetbrains.jet.completion.weighers.AbstractBasicCompletionWeigherTest
import org.jetbrains.jet.completion.weighers.AbstractSmartCompletionWeigherTest
+import org.jetbrains.jet.generators.tests.reservedWords.generateTestDataForReservedWords
+import org.jetbrains.k2js.test.semantics.AbstractReservedWordTest
fun main(args: Array) {
System.setProperty("java.awt.headless", "true")
@@ -617,6 +619,14 @@ fun main(args: Array) {
model("incremental", extension = null, excludeParentDirs = true)
}
}
+
+ generateTestDataForReservedWords()
+
+ testGroup("js/js.tests/test", "js/js.translator/testData") {
+ testClass(javaClass()) {
+ model("reservedWords/cases")
+ }
+ }
}
private class TestGroup(val testsRoot: String, val testDataRoot: String) {
diff --git a/generators/src/org/jetbrains/jet/generators/tests/generateTestDataForReservedWords.kt b/generators/src/org/jetbrains/jet/generators/tests/generateTestDataForReservedWords.kt
new file mode 100644
index 00000000000..596806c32fa
--- /dev/null
+++ b/generators/src/org/jetbrains/jet/generators/tests/generateTestDataForReservedWords.kt
@@ -0,0 +1,331 @@
+/*
+ * Copyright 2010-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jetbrains.jet.generators.tests.reservedWords
+
+import java.io.File
+import org.jetbrains.jet.renderer.KeywordStringsGenerated
+import com.google.dart.compiler.backend.js.ast.JsFunctionScope
+
+val commonCases: CaseBuilder.(String, String) -> Unit = { (testByName, testByRef) ->
+ case("val", "val $KEYWORD_MARKER: Int", " = 0", testByName)
+ case("var", "var $KEYWORD_MARKER: Int", " = 0", testByName)
+ case("fun", "fun $KEYWORD_MARKER()", " { $KEYWORD_MARKER() }", testByRef)
+ case("funParam",
+ "fun foo($KEYWORD_MARKER: String)", """ {
+ assertEquals("123", $KEYWORD_MARKER)
+ $testRenamedByName
+}""", "foo(\"123\")")
+
+ case("label", "val t: Int", " = 0", "testRenamed(\"$KEYWORD_MARKER\", { @$KEYWORD_MARKER while (false) {} })")
+}
+
+val commonCasesWithTestNotRenamed: CaseBuilder.() -> Unit = { commonCases(testNotRenamedByName, testNotRenamedByRef) }
+
+fun main(args: Array) {
+ generateTestDataForReservedWords()
+}
+
+fun generateTestDataForReservedWords() {
+ generate("js/js.translator/testData/reservedWords/cases") {
+ suite("toplevel",
+"""
+$DEFINITION_MARKER
+
+fun box(): String {
+ $TEST_BLOCK_MARKER
+
+ return "OK"
+}"""
+ ) {
+ commonCasesWithTestNotRenamed()
+
+ case("class", "class $KEYWORD_MARKER { class object {} }", "", testNotRenamedByName)
+ case("trait", "trait $KEYWORD_MARKER { class object {} }", "", testNotRenamedByName)
+ case("enum", "enum class $KEYWORD_MARKER { foo }", "", testNotRenamed("$KEYWORD_MARKER.foo"))
+ case("object", "object $KEYWORD_MARKER {}", "", testNotRenamedByName)
+ }
+// -------------------------
+
+ suite("local",
+ """
+fun box(): String {
+ $DEFINITION_MARKER
+
+ $TEST_BLOCK_MARKER
+
+ return "OK"
+}"""
+ ) {
+ commonCases(testRenamedByName, testRenamedByRef)
+ case("catch", "", "",
+"""
+ try {
+ throw Exception()
+ }
+ catch($KEYWORD_MARKER: Exception) {
+ $testRenamedByName
+ }""")
+
+ }
+// -------------------------
+
+ suite("insideClass",
+"""
+class TestClass {
+ $DEFINITION_MARKER
+
+ fun test() {
+ $TEST_BLOCK_MARKER
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}""", commonCasesWithTestNotRenamed)
+// -------------------------
+
+ suite("insideClassObject",
+"""
+class TestClass {
+ class object {
+ $DEFINITION_MARKER
+
+ fun test() {
+ $TEST_BLOCK_MARKER
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}""", commonCasesWithTestNotRenamed)
+// -------------------------
+
+ suite("insideObject",
+"""
+object TestObject {
+ $DEFINITION_MARKER
+
+ fun test() {
+ $TEST_BLOCK_MARKER
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}""", commonCasesWithTestNotRenamed)
+// -------------------------
+
+ suite("dataClass",
+"""
+data class DataClass($DEFINITION_MARKER: String) {
+ {
+ $TEST_BLOCK_MARKER
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}"""
+ ) {
+ case("val", "val $KEYWORD_MARKER", "", testNotRenamedByName)
+ case("var", "var $KEYWORD_MARKER", "", testNotRenamedByName)
+ case("param", "$KEYWORD_MARKER", "",testRenamedByName)
+ }
+// -------------------------
+
+ suite("delegated",
+"""
+trait Trait {
+ $DECLARATION_MARKER
+}
+
+class TraitImpl : Trait {
+ override $DEFINITION_MARKER
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ $TEST_BLOCK_MARKER
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}""", commonCasesWithTestNotRenamed)
+// -------------------------
+
+ suite("enum",
+"""
+enum class Foo {
+ BAR
+ $DEFINITION_MARKER
+
+ fun test() {
+ $TEST_BLOCK_MARKER
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}""", commonCasesWithTestNotRenamed)
+// -------------------------
+
+ suite("enum",
+"""
+enum class Foo {
+ $KEYWORD_MARKER
+}
+
+fun box(): String {
+ ${testNotRenamed("Foo.$KEYWORD_MARKER")}
+
+ return "OK"
+}"""
+ ) {
+ case("entry", "", "", "")
+ }
+// -------------------------
+ }
+}
+
+// DSL
+
+class Case(val name: String, val testDeclaration: String, val testDeclarationInit: String, val testBlock: String)
+class Suite(val name: String, val code: String, val cases: List)
+
+class CaseBuilder {
+ val cases = arrayListOf()
+
+ fun case(name: String, testDeclaration: String, testDeclarationInit: String, testBlock: String) {
+ cases.add(Case(name, testDeclaration, testDeclarationInit, testBlock))
+ }
+}
+
+class TestDataBuilder() {
+ val suites = arrayListOf()
+
+ fun suite(name: String, code: String, f: CaseBuilder.() -> Unit) {
+ val builder = CaseBuilder()
+ builder.f()
+
+ suites.add(Suite(name, PREAMBLE + code, builder.cases))
+ }
+
+ fun generate(testDataDirPath: String) {
+ val testDataDir = File(testDataDirPath)
+ if (!testDataDir.exists() && !testDataDir.mkdirs()) {
+ println("Unable to find or create test data dir: '$testDataDirPath'.")
+ return
+ }
+
+ for (suite in suites) {
+ for (case in suite.cases) {
+
+ // Uses small portions of keywords instead of ALL_KEYWORDS to avoid a combinatorial explosion
+ // Each portion contains at least one keyword which should be escaped and at least one which should not.
+ for (keyword in nextKeywordPortion()) {
+ val keywordWithEscapeIfNeed = if (keyword in SHOULD_BE_ESCAPED) "`$keyword`" else keyword
+
+ val out = suite.code
+ .replace(DEFINITION_MARKER, case.testDeclaration + case.testDeclarationInit)
+ .replace(DECLARATION_MARKER, case.testDeclaration)
+ .replace(DECLARATION_INIT_MARKER, case.testDeclarationInit)
+ .replace(TEST_BLOCK_MARKER, case.testBlock)
+ .replace("\"$KEYWORD_MARKER\"", "\"$keyword\"")
+ .replace(KEYWORD_MARKER, keywordWithEscapeIfNeed)
+
+
+ val fileName = "${suite.name.decapitalize()}${case.name.capitalize()}${keyword.capitalize()}.kt"
+
+ File(testDataDirPath + "/" + fileName).writeText(out)
+ }
+ }
+ }
+ }
+}
+
+fun generate(testDataDirPath: String, f: TestDataBuilder.() -> Unit) {
+ val builder = TestDataBuilder()
+ builder.f()
+ builder.generate(testDataDirPath)
+}
+
+val DEFINITION_MARKER = "DEFINITION"
+val DECLARATION_MARKER = "DECLARATION"
+val DECLARATION_INIT_MARKER = "DECLARATION_INIT"
+val TEST_BLOCK_MARKER = "TEST_BLOCK"
+val KEYWORD_MARKER = "KEYWORD"
+
+val PREAMBLE = """package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+"""
+
+fun testRenamed(reference: String = "$KEYWORD_MARKER") = "testRenamed(\"$KEYWORD_MARKER\", { $reference })"
+fun testNotRenamed(reference: String = "$KEYWORD_MARKER") = "testNotRenamed(\"$KEYWORD_MARKER\", { $reference })"
+
+val testRenamedByName = testRenamed()
+val testRenamedByRef = testRenamed("::$KEYWORD_MARKER")
+
+val testNotRenamedByName = testNotRenamed()
+val testNotRenamedByRef = testNotRenamed("::$KEYWORD_MARKER")
+
+// KEYWORDS
+
+val ALL_KEYWORDS = JsFunctionScope.RESERVED_WORDS.toList()
+
+val SHOULD_BE_ESCAPED = (ALL_KEYWORDS.filter { it in KeywordStringsGenerated.KEYWORDS } union setOf("catch", "finally")).toSortedList()
+val SHOULD_NOT_BE_ESCAPED = ALL_KEYWORDS.filter { it !in SHOULD_BE_ESCAPED }.toSortedList()
+
+
+// all keywords by portions
+
+// cyclic keyword streams
+val s1 = SHOULD_BE_ESCAPED.cyclicStream()
+val s2 = SHOULD_NOT_BE_ESCAPED.cyclicStream()
+
+val PORTION_PART_SIZE = 2;
+
+fun nextKeywordPortion() = s1.take(PORTION_PART_SIZE).toList() + s2.take(PORTION_PART_SIZE).toList()
+
+// CyclicStream
+
+fun List.cyclicStream() = CyclicStream(this)
+
+class CyclicStream(val c: List) : Stream {
+ var i = 0
+ override fun iterator(): Iterator = object : Iterator{
+ override fun next(): T {
+ i = if (i >= c.size) 0 else i
+ return c[i++]
+ }
+ override fun hasNext(): Boolean = true
+ }
+}
\ No newline at end of file
diff --git a/js/js.tests/test/org/jetbrains/k2js/test/semantics/AbstractReservedWordTest.kt b/js/js.tests/test/org/jetbrains/k2js/test/semantics/AbstractReservedWordTest.kt
new file mode 100644
index 00000000000..13db5efed56
--- /dev/null
+++ b/js/js.tests/test/org/jetbrains/k2js/test/semantics/AbstractReservedWordTest.kt
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2010-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jetbrains.k2js.test.semantics
+
+import org.jetbrains.k2js.test.SingleFileTranslationTest
+
+public abstract class AbstractReservedWordTest : SingleFileTranslationTest("reservedWords/") {
+ fun doTest(fileName: String) = checkFooBoxIsOk()
+}
diff --git a/js/js.tests/test/org/jetbrains/k2js/test/semantics/ReservedWordTestGenerated.java b/js/js.tests/test/org/jetbrains/k2js/test/semantics/ReservedWordTestGenerated.java
new file mode 100644
index 00000000000..5dbbc3ba65b
--- /dev/null
+++ b/js/js.tests/test/org/jetbrains/k2js/test/semantics/ReservedWordTestGenerated.java
@@ -0,0 +1,1097 @@
+/*
+ * Copyright 2010-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jetbrains.k2js.test.semantics;
+
+import com.intellij.testFramework.TestDataPath;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import org.junit.runner.RunWith;
+import org.jetbrains.jet.JetTestUtils;
+import org.jetbrains.jet.test.InnerTestClasses;
+import org.jetbrains.jet.test.TestMetadata;
+import org.jetbrains.jet.JUnit3RunnerWithInners;
+
+import java.io.File;
+import java.util.regex.Pattern;
+
+/** This class is generated by {@link org.jetbrains.jet.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
+@SuppressWarnings("all")
+@TestMetadata("js/js.translator/testData/reservedWords/cases")
+@TestDataPath("$PROJECT_ROOT")
+@RunWith(org.jetbrains.jet.JUnit3RunnerWithInners.class)
+public class ReservedWordTestGenerated extends AbstractReservedWordTest {
+ public void testAllFilesPresentInCases() throws Exception {
+ JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/reservedWords/cases"), Pattern.compile("^(.+)\\.kt$"), true);
+ }
+
+ @TestMetadata("dataClassParamArguments.kt")
+ public void testDataClassParamArguments() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassParamArguments.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("dataClassParamAwait.kt")
+ public void testDataClassParamAwait() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassParamAwait.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("dataClassParamPackage.kt")
+ public void testDataClassParamPackage() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassParamPackage.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("dataClassParamReturn.kt")
+ public void testDataClassParamReturn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassParamReturn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("dataClassValFalse.kt")
+ public void testDataClassValFalse() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassValFalse.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("dataClassValFinally.kt")
+ public void testDataClassValFinally() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassValFinally.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("dataClassValVoid.kt")
+ public void testDataClassValVoid() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassValVoid.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("dataClassValWith.kt")
+ public void testDataClassValWith() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassValWith.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("dataClassVarIf.kt")
+ public void testDataClassVarIf() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassVarIf.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("dataClassVarIn.kt")
+ public void testDataClassVarIn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassVarIn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("dataClassVarInfinity.kt")
+ public void testDataClassVarInfinity() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassVarInfinity.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("dataClassVarKotlin.kt")
+ public void testDataClassVarKotlin() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/dataClassVarKotlin.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedFunBreak.kt")
+ public void testDelegatedFunBreak() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedFunBreak.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedFunCatch.kt")
+ public void testDelegatedFunCatch() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedFunCatch.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedFunExport.kt")
+ public void testDelegatedFunExport() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedFunExport.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedFunExtends.kt")
+ public void testDelegatedFunExtends() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedFunExtends.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedFunParamContinue.kt")
+ public void testDelegatedFunParamContinue() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedFunParamContinue.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedFunParamDo.kt")
+ public void testDelegatedFunParamDo() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedFunParamDo.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedFunParamImplements.kt")
+ public void testDelegatedFunParamImplements() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedFunParamImplements.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedFunParamImport.kt")
+ public void testDelegatedFunParamImport() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedFunParamImport.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedLabelFalse.kt")
+ public void testDelegatedLabelFalse() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedLabelFalse.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedLabelFinally.kt")
+ public void testDelegatedLabelFinally() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedLabelFinally.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedLabelInterface.kt")
+ public void testDelegatedLabelInterface() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedLabelInterface.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedLabelLet.kt")
+ public void testDelegatedLabelLet() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedLabelLet.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedValConst.kt")
+ public void testDelegatedValConst() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedValConst.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedValDebugger.kt")
+ public void testDelegatedValDebugger() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedValDebugger.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedValThis.kt")
+ public void testDelegatedValThis() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedValThis.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedValThrow.kt")
+ public void testDelegatedValThrow() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedValThrow.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedVarDelete.kt")
+ public void testDelegatedVarDelete() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedVarDelete.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedVarEnum.kt")
+ public void testDelegatedVarEnum() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedVarEnum.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedVarTry.kt")
+ public void testDelegatedVarTry() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedVarTry.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("delegatedVarVar.kt")
+ public void testDelegatedVarVar() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/delegatedVarVar.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumEntryCase.kt")
+ public void testEnumEntryCase() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumEntryCase.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumEntryConst.kt")
+ public void testEnumEntryConst() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumEntryConst.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumEntryContinue.kt")
+ public void testEnumEntryContinue() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumEntryContinue.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumEntryDo.kt")
+ public void testEnumEntryDo() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumEntryDo.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumFunParamInfinity.kt")
+ public void testEnumFunParamInfinity() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumFunParamInfinity.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumFunParamTry.kt")
+ public void testEnumFunParamTry() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumFunParamTry.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumFunParamVar.kt")
+ public void testEnumFunParamVar() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumFunParamVar.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumFunParamYield.kt")
+ public void testEnumFunParamYield() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumFunParamYield.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumFunThis.kt")
+ public void testEnumFunThis() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumFunThis.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumFunThrow.kt")
+ public void testEnumFunThrow() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumFunThrow.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumFunUndefined.kt")
+ public void testEnumFunUndefined() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumFunUndefined.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumFunVoid.kt")
+ public void testEnumFunVoid() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumFunVoid.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumLabelArguments.kt")
+ public void testEnumLabelArguments() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumLabelArguments.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumLabelBreak.kt")
+ public void testEnumLabelBreak() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumLabelBreak.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumLabelCatch.kt")
+ public void testEnumLabelCatch() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumLabelCatch.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumLabelNaN.kt")
+ public void testEnumLabelNaN() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumLabelNaN.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumValIf.kt")
+ public void testEnumValIf() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumValIf.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumValIn.kt")
+ public void testEnumValIn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumValIn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumValPrivate.kt")
+ public void testEnumValPrivate() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumValPrivate.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumValProtected.kt")
+ public void testEnumValProtected() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumValProtected.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumVarPackage.kt")
+ public void testEnumVarPackage() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumVarPackage.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumVarReturn.kt")
+ public void testEnumVarReturn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumVarReturn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumVarStatic.kt")
+ public void testEnumVarStatic() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumVarStatic.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("enumVarSwitch.kt")
+ public void testEnumVarSwitch() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/enumVarSwitch.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassFunIf.kt")
+ public void testInsideClassFunIf() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassFunIf.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassFunIn.kt")
+ public void testInsideClassFunIn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassFunIn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassFunNew.kt")
+ public void testInsideClassFunNew() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassFunNew.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassFunParamPackage.kt")
+ public void testInsideClassFunParamPackage() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassFunParamPackage.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassFunParamPublic.kt")
+ public void testInsideClassFunParamPublic() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassFunParamPublic.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassFunParamReturn.kt")
+ public void testInsideClassFunParamReturn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassFunParamReturn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassFunParamStatic.kt")
+ public void testInsideClassFunParamStatic() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassFunParamStatic.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassFunPrivate.kt")
+ public void testInsideClassFunPrivate() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassFunPrivate.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassLabelThis.kt")
+ public void testInsideClassLabelThis() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassLabelThis.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassLabelThrow.kt")
+ public void testInsideClassLabelThrow() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassLabelThrow.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassLabelTypeof.kt")
+ public void testInsideClassLabelTypeof() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassLabelTypeof.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassLabelUndefined.kt")
+ public void testInsideClassLabelUndefined() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassLabelUndefined.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectFunAwait.kt")
+ public void testInsideClassObjectFunAwait() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectFunAwait.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectFunCase.kt")
+ public void testInsideClassObjectFunCase() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectFunCase.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectFunContinue.kt")
+ public void testInsideClassObjectFunContinue() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectFunContinue.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectFunDo.kt")
+ public void testInsideClassObjectFunDo() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectFunDo.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectFunParamDebugger.kt")
+ public void testInsideClassObjectFunParamDebugger() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamDebugger.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectFunParamDefault.kt")
+ public void testInsideClassObjectFunParamDefault() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamDefault.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectFunParamFalse.kt")
+ public void testInsideClassObjectFunParamFalse() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamFalse.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectFunParamFinally.kt")
+ public void testInsideClassObjectFunParamFinally() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamFinally.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectLabelEnum.kt")
+ public void testInsideClassObjectLabelEnum() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectLabelEnum.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectLabelEval.kt")
+ public void testInsideClassObjectLabelEval() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectLabelEval.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectLabelIf.kt")
+ public void testInsideClassObjectLabelIf() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectLabelIf.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectLabelIn.kt")
+ public void testInsideClassObjectLabelIn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectLabelIn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectValTry.kt")
+ public void testInsideClassObjectValTry() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectValTry.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectValVar.kt")
+ public void testInsideClassObjectValVar() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectValVar.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectValWith.kt")
+ public void testInsideClassObjectValWith() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectValWith.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectValYield.kt")
+ public void testInsideClassObjectValYield() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectValYield.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectVarBreak.kt")
+ public void testInsideClassObjectVarBreak() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectVarBreak.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectVarCatch.kt")
+ public void testInsideClassObjectVarCatch() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectVarCatch.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectVarKotlin.kt")
+ public void testInsideClassObjectVarKotlin() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectVarKotlin.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassObjectVarNaN.kt")
+ public void testInsideClassObjectVarNaN() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassObjectVarNaN.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassValContinue.kt")
+ public void testInsideClassValContinue() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassValContinue.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassValDo.kt")
+ public void testInsideClassValDo() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassValDo.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassValFunction.kt")
+ public void testInsideClassValFunction() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassValFunction.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassValImplements.kt")
+ public void testInsideClassValImplements() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassValImplements.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassVarFalse.kt")
+ public void testInsideClassVarFalse() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassVarFalse.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassVarFinally.kt")
+ public void testInsideClassVarFinally() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassVarFinally.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassVarInstanceof.kt")
+ public void testInsideClassVarInstanceof() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassVarInstanceof.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideClassVarInterface.kt")
+ public void testInsideClassVarInterface() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideClassVarInterface.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectFunLet.kt")
+ public void testInsideObjectFunLet() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectFunLet.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectFunNew.kt")
+ public void testInsideObjectFunNew() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectFunNew.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectFunParamBreak.kt")
+ public void testInsideObjectFunParamBreak() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectFunParamBreak.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectFunParamCatch.kt")
+ public void testInsideObjectFunParamCatch() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectFunParamCatch.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectFunParamProtected.kt")
+ public void testInsideObjectFunParamProtected() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectFunParamProtected.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectFunParamPublic.kt")
+ public void testInsideObjectFunParamPublic() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectFunParamPublic.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectFunTry.kt")
+ public void testInsideObjectFunTry() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectFunTry.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectFunVar.kt")
+ public void testInsideObjectFunVar() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectFunVar.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectLabelContinue.kt")
+ public void testInsideObjectLabelContinue() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectLabelContinue.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectLabelDo.kt")
+ public void testInsideObjectLabelDo() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectLabelDo.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectLabelSwitch.kt")
+ public void testInsideObjectLabelSwitch() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectLabelSwitch.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectLabelTypeof.kt")
+ public void testInsideObjectLabelTypeof() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectLabelTypeof.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectValExtends.kt")
+ public void testInsideObjectValExtends() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectValExtends.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectValFunction.kt")
+ public void testInsideObjectValFunction() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectValFunction.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectValPackage.kt")
+ public void testInsideObjectValPackage() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectValPackage.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectValReturn.kt")
+ public void testInsideObjectValReturn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectValReturn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectVarImport.kt")
+ public void testInsideObjectVarImport() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectVarImport.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectVarInstanceof.kt")
+ public void testInsideObjectVarInstanceof() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectVarInstanceof.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectVarThis.kt")
+ public void testInsideObjectVarThis() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectVarThis.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("insideObjectVarThrow.kt")
+ public void testInsideObjectVarThrow() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/insideObjectVarThrow.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localCatchBreak.kt")
+ public void testLocalCatchBreak() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localCatchBreak.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localCatchCatch.kt")
+ public void testLocalCatchCatch() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localCatchCatch.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localCatchEval.kt")
+ public void testLocalCatchEval() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localCatchEval.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localCatchExport.kt")
+ public void testLocalCatchExport() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localCatchExport.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localFunArguments.kt")
+ public void testLocalFunArguments() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localFunArguments.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localFunNaN.kt")
+ public void testLocalFunNaN() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localFunNaN.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localFunPackage.kt")
+ public void testLocalFunPackage() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localFunPackage.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localFunParamCase.kt")
+ public void testLocalFunParamCase() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localFunParamCase.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localFunParamConst.kt")
+ public void testLocalFunParamConst() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localFunParamConst.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localFunParamThis.kt")
+ public void testLocalFunParamThis() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localFunParamThis.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localFunParamThrow.kt")
+ public void testLocalFunParamThrow() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localFunParamThrow.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localFunReturn.kt")
+ public void testLocalFunReturn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localFunReturn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localLabelDefault.kt")
+ public void testLocalLabelDefault() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localLabelDefault.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localLabelDelete.kt")
+ public void testLocalLabelDelete() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localLabelDelete.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localLabelTry.kt")
+ public void testLocalLabelTry() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localLabelTry.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localLabelVar.kt")
+ public void testLocalLabelVar() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localLabelVar.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localValFalse.kt")
+ public void testLocalValFalse() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localValFalse.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localValFinally.kt")
+ public void testLocalValFinally() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localValFinally.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localValUndefined.kt")
+ public void testLocalValUndefined() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localValUndefined.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localValVoid.kt")
+ public void testLocalValVoid() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localValVoid.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localVarIf.kt")
+ public void testLocalVarIf() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localVarIf.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localVarIn.kt")
+ public void testLocalVarIn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localVarIn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localVarInfinity.kt")
+ public void testLocalVarInfinity() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localVarInfinity.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("localVarYield.kt")
+ public void testLocalVarYield() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/localVarYield.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelClassImplements.kt")
+ public void testToplevelClassImplements() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelClassImplements.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelClassImport.kt")
+ public void testToplevelClassImport() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelClassImport.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelClassThis.kt")
+ public void testToplevelClassThis() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelClassThis.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelClassThrow.kt")
+ public void testToplevelClassThrow() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelClassThrow.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelEnumBreak.kt")
+ public void testToplevelEnumBreak() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelEnumBreak.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelEnumCatch.kt")
+ public void testToplevelEnumCatch() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelEnumCatch.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelEnumPrivate.kt")
+ public void testToplevelEnumPrivate() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelEnumPrivate.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelEnumProtected.kt")
+ public void testToplevelEnumProtected() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelEnumProtected.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelFunConst.kt")
+ public void testToplevelFunConst() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelFunConst.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelFunDebugger.kt")
+ public void testToplevelFunDebugger() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelFunDebugger.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelFunFalse.kt")
+ public void testToplevelFunFalse() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelFunFalse.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelFunFinally.kt")
+ public void testToplevelFunFinally() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelFunFinally.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelFunParamDelete.kt")
+ public void testToplevelFunParamDelete() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelFunParamDelete.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelFunParamEnum.kt")
+ public void testToplevelFunParamEnum() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelFunParamEnum.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelFunParamIf.kt")
+ public void testToplevelFunParamIf() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelFunParamIf.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelFunParamIn.kt")
+ public void testToplevelFunParamIn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelFunParamIn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelLabelExport.kt")
+ public void testToplevelLabelExport() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelLabelExport.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelLabelExtends.kt")
+ public void testToplevelLabelExtends() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelLabelExtends.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelLabelPackage.kt")
+ public void testToplevelLabelPackage() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelLabelPackage.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelLabelReturn.kt")
+ public void testToplevelLabelReturn() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelLabelReturn.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelObjectContinue.kt")
+ public void testToplevelObjectContinue() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelObjectContinue.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelObjectDo.kt")
+ public void testToplevelObjectDo() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelObjectDo.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelObjectStatic.kt")
+ public void testToplevelObjectStatic() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelObjectStatic.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelObjectSwitch.kt")
+ public void testToplevelObjectSwitch() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelObjectSwitch.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelTraitInterface.kt")
+ public void testToplevelTraitInterface() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelTraitInterface.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelTraitLet.kt")
+ public void testToplevelTraitLet() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelTraitLet.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelTraitTry.kt")
+ public void testToplevelTraitTry() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelTraitTry.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelTraitVar.kt")
+ public void testToplevelTraitVar() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelTraitVar.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelValBreak.kt")
+ public void testToplevelValBreak() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelValBreak.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelValCatch.kt")
+ public void testToplevelValCatch() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelValCatch.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelValInfinity.kt")
+ public void testToplevelValInfinity() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelValInfinity.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelValKotlin.kt")
+ public void testToplevelValKotlin() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelValKotlin.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelVarArguments.kt")
+ public void testToplevelVarArguments() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelVarArguments.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelVarAwait.kt")
+ public void testToplevelVarAwait() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelVarAwait.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelVarContinue.kt")
+ public void testToplevelVarContinue() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelVarContinue.kt");
+ doTest(fileName);
+ }
+
+ @TestMetadata("toplevelVarDo.kt")
+ public void testToplevelVarDo() throws Exception {
+ String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/reservedWords/cases/toplevelVarDo.kt");
+ doTest(fileName);
+ }
+
+}
diff --git a/js/js.translator/testData/_commonFiles/asserts.kt b/js/js.translator/testData/_commonFiles/asserts.kt
index b6ea65c08c8..1a214268faa 100644
--- a/js/js.translator/testData/_commonFiles/asserts.kt
+++ b/js/js.translator/testData/_commonFiles/asserts.kt
@@ -1,15 +1,19 @@
package kotlin
+fun fail(message: String? = null) = throw Exception(message)
+
fun assertEquals(expected: T, actual: T, message: String? = null) {
if (expected != actual) {
val msg = if (message == null) "" else (" message = '" + message + "',")
- throw Exception("Unexpected value:$msg expected = '$expected', actual = '$actual'")
+ fail("Unexpected value:$msg expected = '$expected', actual = '$actual'")
}
}
fun assertNotEquals(illegal: T, actual: T, message: String? = null) {
if (illegal == actual) {
val msg = if (message == null) "" else (" message = '" + message + "',")
- throw Exception("Illegal value:$msg illegal = '$illegal', actual = '$actual'")
+ fail("Illegal value:$msg illegal = '$illegal', actual = '$actual'")
}
-}
\ No newline at end of file
+}
+
+fun assertTrue(actual: Boolean, message: String? = null) = assertEquals(true, actual, message)
diff --git a/js/js.translator/testData/reservedWords/_commonFiles/helpers.kt b/js/js.translator/testData/reservedWords/_commonFiles/helpers.kt
new file mode 100644
index 00000000000..fe7993fd5b5
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/_commonFiles/helpers.kt
@@ -0,0 +1,32 @@
+package foo
+
+fun testRenamed(case: String, f: () -> Unit) = test(case, true, f)
+fun testNotRenamed(case: String, f: () -> Unit) = test(case, false, f)
+
+native
+fun String.replace(r: String, s: String): String = noImpl
+
+native
+class RegExp(pattern: String, flag: String)
+
+native
+fun String.match(r: RegExp): Array = noImpl
+
+fun test(keyword: String, expectedRenamed: Boolean, f: Any) {
+ val fs = f.toString().replace("while (false)", "")
+ val matches = fs.match(RegExp("[\\w$]*$keyword[\\w_$]*", "g"))
+
+ assertNotEquals(null, matches, "matches == null, fs = $fs")
+ assertNotEquals(0, matches.size, "matches = $matches")
+
+ val actual = matches[matches.size -1]
+
+ assertTrue(actual.contains(keyword), "'$keyword' not found in '$matches' from '$fs'")
+
+ if (expectedRenamed) {
+ assertNotEquals(keyword, actual, "fs = $fs")
+ }
+ else {
+ assertEquals(keyword, actual, "fs = $fs")
+ }
+}
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassParamArguments.kt b/js/js.translator/testData/reservedWords/cases/dataClassParamArguments.kt
new file mode 100644
index 00000000000..5fceaee203e
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassParamArguments.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(arguments: String) {
+ {
+ testRenamed("arguments", { arguments })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassParamAwait.kt b/js/js.translator/testData/reservedWords/cases/dataClassParamAwait.kt
new file mode 100644
index 00000000000..e43badfa3fb
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassParamAwait.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(await: String) {
+ {
+ testRenamed("await", { await })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassParamPackage.kt b/js/js.translator/testData/reservedWords/cases/dataClassParamPackage.kt
new file mode 100644
index 00000000000..03b76dd6f63
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassParamPackage.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(`package`: String) {
+ {
+ testRenamed("package", { `package` })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassParamReturn.kt b/js/js.translator/testData/reservedWords/cases/dataClassParamReturn.kt
new file mode 100644
index 00000000000..f57782d880c
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassParamReturn.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(`return`: String) {
+ {
+ testRenamed("return", { `return` })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassValFalse.kt b/js/js.translator/testData/reservedWords/cases/dataClassValFalse.kt
new file mode 100644
index 00000000000..bcd797ee7ca
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassValFalse.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(val `false`: String) {
+ {
+ testNotRenamed("false", { `false` })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassValFinally.kt b/js/js.translator/testData/reservedWords/cases/dataClassValFinally.kt
new file mode 100644
index 00000000000..156fc6f7fc2
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassValFinally.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(val `finally`: String) {
+ {
+ testNotRenamed("finally", { `finally` })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassValVoid.kt b/js/js.translator/testData/reservedWords/cases/dataClassValVoid.kt
new file mode 100644
index 00000000000..a7f791e5e99
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassValVoid.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(val void: String) {
+ {
+ testNotRenamed("void", { void })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassValWith.kt b/js/js.translator/testData/reservedWords/cases/dataClassValWith.kt
new file mode 100644
index 00000000000..f0f49464df2
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassValWith.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(val with: String) {
+ {
+ testNotRenamed("with", { with })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassVarIf.kt b/js/js.translator/testData/reservedWords/cases/dataClassVarIf.kt
new file mode 100644
index 00000000000..48171102b35
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassVarIf.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(var `if`: String) {
+ {
+ testNotRenamed("if", { `if` })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassVarIn.kt b/js/js.translator/testData/reservedWords/cases/dataClassVarIn.kt
new file mode 100644
index 00000000000..b8f32a810d1
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassVarIn.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(var `in`: String) {
+ {
+ testNotRenamed("in", { `in` })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassVarInfinity.kt b/js/js.translator/testData/reservedWords/cases/dataClassVarInfinity.kt
new file mode 100644
index 00000000000..88b8dd49f4d
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassVarInfinity.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(var Infinity: String) {
+ {
+ testNotRenamed("Infinity", { Infinity })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/dataClassVarKotlin.kt b/js/js.translator/testData/reservedWords/cases/dataClassVarKotlin.kt
new file mode 100644
index 00000000000..b0adbc06de1
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/dataClassVarKotlin.kt
@@ -0,0 +1,15 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+data class DataClass(var Kotlin: String) {
+ {
+ testNotRenamed("Kotlin", { Kotlin })
+ }
+}
+
+fun box(): String {
+ DataClass("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedFunBreak.kt b/js/js.translator/testData/reservedWords/cases/delegatedFunBreak.kt
new file mode 100644
index 00000000000..c40e5ee7e5c
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedFunBreak.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ fun `break`()
+}
+
+class TraitImpl : Trait {
+ override fun `break`() { `break`() }
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("break", { ::`break` })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedFunCatch.kt b/js/js.translator/testData/reservedWords/cases/delegatedFunCatch.kt
new file mode 100644
index 00000000000..2ff5fcd8008
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedFunCatch.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ fun `catch`()
+}
+
+class TraitImpl : Trait {
+ override fun `catch`() { `catch`() }
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("catch", { ::`catch` })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedFunExport.kt b/js/js.translator/testData/reservedWords/cases/delegatedFunExport.kt
new file mode 100644
index 00000000000..e73596ec845
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedFunExport.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ fun export()
+}
+
+class TraitImpl : Trait {
+ override fun export() { export() }
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("export", { ::export })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedFunExtends.kt b/js/js.translator/testData/reservedWords/cases/delegatedFunExtends.kt
new file mode 100644
index 00000000000..ef883de292f
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedFunExtends.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ fun extends()
+}
+
+class TraitImpl : Trait {
+ override fun extends() { extends() }
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("extends", { ::extends })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedFunParamContinue.kt b/js/js.translator/testData/reservedWords/cases/delegatedFunParamContinue.kt
new file mode 100644
index 00000000000..18a9cea69ed
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedFunParamContinue.kt
@@ -0,0 +1,26 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ fun foo(`continue`: String)
+}
+
+class TraitImpl : Trait {
+ override fun foo(`continue`: String) {
+ assertEquals("123", `continue`)
+ testRenamed("continue", { `continue` })
+}
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedFunParamDo.kt b/js/js.translator/testData/reservedWords/cases/delegatedFunParamDo.kt
new file mode 100644
index 00000000000..078ec4835b6
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedFunParamDo.kt
@@ -0,0 +1,26 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ fun foo(`do`: String)
+}
+
+class TraitImpl : Trait {
+ override fun foo(`do`: String) {
+ assertEquals("123", `do`)
+ testRenamed("do", { `do` })
+}
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedFunParamImplements.kt b/js/js.translator/testData/reservedWords/cases/delegatedFunParamImplements.kt
new file mode 100644
index 00000000000..4b8948e0d8b
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedFunParamImplements.kt
@@ -0,0 +1,26 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ fun foo(implements: String)
+}
+
+class TraitImpl : Trait {
+ override fun foo(implements: String) {
+ assertEquals("123", implements)
+ testRenamed("implements", { implements })
+}
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedFunParamImport.kt b/js/js.translator/testData/reservedWords/cases/delegatedFunParamImport.kt
new file mode 100644
index 00000000000..5de8a693c7c
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedFunParamImport.kt
@@ -0,0 +1,26 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ fun foo(import: String)
+}
+
+class TraitImpl : Trait {
+ override fun foo(import: String) {
+ assertEquals("123", import)
+ testRenamed("import", { import })
+}
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedLabelFalse.kt b/js/js.translator/testData/reservedWords/cases/delegatedLabelFalse.kt
new file mode 100644
index 00000000000..209c98acc4d
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedLabelFalse.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ val t: Int
+}
+
+class TraitImpl : Trait {
+ override val t: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testRenamed("false", { @`false` while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedLabelFinally.kt b/js/js.translator/testData/reservedWords/cases/delegatedLabelFinally.kt
new file mode 100644
index 00000000000..2cd3ace8ee3
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedLabelFinally.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ val t: Int
+}
+
+class TraitImpl : Trait {
+ override val t: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testRenamed("finally", { @`finally` while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedLabelInterface.kt b/js/js.translator/testData/reservedWords/cases/delegatedLabelInterface.kt
new file mode 100644
index 00000000000..38599e76021
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedLabelInterface.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ val t: Int
+}
+
+class TraitImpl : Trait {
+ override val t: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testRenamed("interface", { @interface while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedLabelLet.kt b/js/js.translator/testData/reservedWords/cases/delegatedLabelLet.kt
new file mode 100644
index 00000000000..d048e2d7bab
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedLabelLet.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ val t: Int
+}
+
+class TraitImpl : Trait {
+ override val t: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testRenamed("let", { @let while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedValConst.kt b/js/js.translator/testData/reservedWords/cases/delegatedValConst.kt
new file mode 100644
index 00000000000..a86211dfd56
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedValConst.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ val const: Int
+}
+
+class TraitImpl : Trait {
+ override val const: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("const", { const })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedValDebugger.kt b/js/js.translator/testData/reservedWords/cases/delegatedValDebugger.kt
new file mode 100644
index 00000000000..eac077251fb
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedValDebugger.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ val debugger: Int
+}
+
+class TraitImpl : Trait {
+ override val debugger: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("debugger", { debugger })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedValThis.kt b/js/js.translator/testData/reservedWords/cases/delegatedValThis.kt
new file mode 100644
index 00000000000..9b05aef0c88
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedValThis.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ val `this`: Int
+}
+
+class TraitImpl : Trait {
+ override val `this`: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("this", { `this` })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedValThrow.kt b/js/js.translator/testData/reservedWords/cases/delegatedValThrow.kt
new file mode 100644
index 00000000000..416ab0b6201
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedValThrow.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ val `throw`: Int
+}
+
+class TraitImpl : Trait {
+ override val `throw`: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("throw", { `throw` })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedVarDelete.kt b/js/js.translator/testData/reservedWords/cases/delegatedVarDelete.kt
new file mode 100644
index 00000000000..178998d6e9f
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedVarDelete.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ var delete: Int
+}
+
+class TraitImpl : Trait {
+ override var delete: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("delete", { delete })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedVarEnum.kt b/js/js.translator/testData/reservedWords/cases/delegatedVarEnum.kt
new file mode 100644
index 00000000000..57ab5290463
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedVarEnum.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ var enum: Int
+}
+
+class TraitImpl : Trait {
+ override var enum: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("enum", { enum })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedVarTry.kt b/js/js.translator/testData/reservedWords/cases/delegatedVarTry.kt
new file mode 100644
index 00000000000..59cd2fbbc51
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedVarTry.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ var `try`: Int
+}
+
+class TraitImpl : Trait {
+ override var `try`: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("try", { `try` })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/delegatedVarVar.kt b/js/js.translator/testData/reservedWords/cases/delegatedVarVar.kt
new file mode 100644
index 00000000000..eff2d03d103
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/delegatedVarVar.kt
@@ -0,0 +1,23 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait Trait {
+ var `var`: Int
+}
+
+class TraitImpl : Trait {
+ override var `var`: Int = 0
+}
+
+class TestDelegate : Trait by TraitImpl() {
+ fun test() {
+ testNotRenamed("var", { `var` })
+ }
+}
+
+fun box(): String {
+ TestDelegate().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumEntryCase.kt b/js/js.translator/testData/reservedWords/cases/enumEntryCase.kt
new file mode 100644
index 00000000000..ddc3214984e
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumEntryCase.kt
@@ -0,0 +1,13 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ case
+}
+
+fun box(): String {
+ testNotRenamed("case", { Foo.case })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumEntryConst.kt b/js/js.translator/testData/reservedWords/cases/enumEntryConst.kt
new file mode 100644
index 00000000000..c29f0b15b0b
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumEntryConst.kt
@@ -0,0 +1,13 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ const
+}
+
+fun box(): String {
+ testNotRenamed("const", { Foo.const })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumEntryContinue.kt b/js/js.translator/testData/reservedWords/cases/enumEntryContinue.kt
new file mode 100644
index 00000000000..a6881b51875
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumEntryContinue.kt
@@ -0,0 +1,13 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ `continue`
+}
+
+fun box(): String {
+ testNotRenamed("continue", { Foo.`continue` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumEntryDo.kt b/js/js.translator/testData/reservedWords/cases/enumEntryDo.kt
new file mode 100644
index 00000000000..a593141c31b
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumEntryDo.kt
@@ -0,0 +1,13 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ `do`
+}
+
+fun box(): String {
+ testNotRenamed("do", { Foo.`do` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumFunParamInfinity.kt b/js/js.translator/testData/reservedWords/cases/enumFunParamInfinity.kt
new file mode 100644
index 00000000000..63468a6b9ef
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumFunParamInfinity.kt
@@ -0,0 +1,21 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ fun foo(Infinity: String) {
+ assertEquals("123", Infinity)
+ testRenamed("Infinity", { Infinity })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumFunParamTry.kt b/js/js.translator/testData/reservedWords/cases/enumFunParamTry.kt
new file mode 100644
index 00000000000..542aa51c501
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumFunParamTry.kt
@@ -0,0 +1,21 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ fun foo(`try`: String) {
+ assertEquals("123", `try`)
+ testRenamed("try", { `try` })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumFunParamVar.kt b/js/js.translator/testData/reservedWords/cases/enumFunParamVar.kt
new file mode 100644
index 00000000000..575ae644cb3
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumFunParamVar.kt
@@ -0,0 +1,21 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ fun foo(`var`: String) {
+ assertEquals("123", `var`)
+ testRenamed("var", { `var` })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumFunParamYield.kt b/js/js.translator/testData/reservedWords/cases/enumFunParamYield.kt
new file mode 100644
index 00000000000..9de012c8578
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumFunParamYield.kt
@@ -0,0 +1,21 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ fun foo(yield: String) {
+ assertEquals("123", yield)
+ testRenamed("yield", { yield })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumFunThis.kt b/js/js.translator/testData/reservedWords/cases/enumFunThis.kt
new file mode 100644
index 00000000000..391484674ac
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumFunThis.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ fun `this`() { `this`() }
+
+ fun test() {
+ testNotRenamed("this", { ::`this` })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumFunThrow.kt b/js/js.translator/testData/reservedWords/cases/enumFunThrow.kt
new file mode 100644
index 00000000000..6a14369fefd
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumFunThrow.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ fun `throw`() { `throw`() }
+
+ fun test() {
+ testNotRenamed("throw", { ::`throw` })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumFunUndefined.kt b/js/js.translator/testData/reservedWords/cases/enumFunUndefined.kt
new file mode 100644
index 00000000000..5e26f7f6da1
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumFunUndefined.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ fun undefined() { undefined() }
+
+ fun test() {
+ testNotRenamed("undefined", { ::undefined })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumFunVoid.kt b/js/js.translator/testData/reservedWords/cases/enumFunVoid.kt
new file mode 100644
index 00000000000..a5811d41bb4
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumFunVoid.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ fun void() { void() }
+
+ fun test() {
+ testNotRenamed("void", { ::void })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumLabelArguments.kt b/js/js.translator/testData/reservedWords/cases/enumLabelArguments.kt
new file mode 100644
index 00000000000..5bd8778fe7e
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumLabelArguments.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("arguments", { @arguments while (false) {} })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumLabelBreak.kt b/js/js.translator/testData/reservedWords/cases/enumLabelBreak.kt
new file mode 100644
index 00000000000..ea74a2b7b46
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumLabelBreak.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("break", { @`break` while (false) {} })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumLabelCatch.kt b/js/js.translator/testData/reservedWords/cases/enumLabelCatch.kt
new file mode 100644
index 00000000000..76c40f3a29e
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumLabelCatch.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("catch", { @`catch` while (false) {} })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumLabelNaN.kt b/js/js.translator/testData/reservedWords/cases/enumLabelNaN.kt
new file mode 100644
index 00000000000..20bf4b90a75
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumLabelNaN.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("NaN", { @NaN while (false) {} })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumValIf.kt b/js/js.translator/testData/reservedWords/cases/enumValIf.kt
new file mode 100644
index 00000000000..1d438fe1e2e
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumValIf.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ val `if`: Int = 0
+
+ fun test() {
+ testNotRenamed("if", { `if` })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumValIn.kt b/js/js.translator/testData/reservedWords/cases/enumValIn.kt
new file mode 100644
index 00000000000..7384f2d41fe
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumValIn.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ val `in`: Int = 0
+
+ fun test() {
+ testNotRenamed("in", { `in` })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumValPrivate.kt b/js/js.translator/testData/reservedWords/cases/enumValPrivate.kt
new file mode 100644
index 00000000000..9486fed0ce2
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumValPrivate.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ val private: Int = 0
+
+ fun test() {
+ testNotRenamed("private", { private })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumValProtected.kt b/js/js.translator/testData/reservedWords/cases/enumValProtected.kt
new file mode 100644
index 00000000000..7b4900c021d
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumValProtected.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ val protected: Int = 0
+
+ fun test() {
+ testNotRenamed("protected", { protected })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumVarPackage.kt b/js/js.translator/testData/reservedWords/cases/enumVarPackage.kt
new file mode 100644
index 00000000000..585e5062c8b
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumVarPackage.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ var `package`: Int = 0
+
+ fun test() {
+ testNotRenamed("package", { `package` })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumVarReturn.kt b/js/js.translator/testData/reservedWords/cases/enumVarReturn.kt
new file mode 100644
index 00000000000..4efa24e1e29
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumVarReturn.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ var `return`: Int = 0
+
+ fun test() {
+ testNotRenamed("return", { `return` })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumVarStatic.kt b/js/js.translator/testData/reservedWords/cases/enumVarStatic.kt
new file mode 100644
index 00000000000..abb96239962
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumVarStatic.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ var static: Int = 0
+
+ fun test() {
+ testNotRenamed("static", { static })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/enumVarSwitch.kt b/js/js.translator/testData/reservedWords/cases/enumVarSwitch.kt
new file mode 100644
index 00000000000..3db59023b3a
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/enumVarSwitch.kt
@@ -0,0 +1,18 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class Foo {
+ BAR
+ var switch: Int = 0
+
+ fun test() {
+ testNotRenamed("switch", { switch })
+ }
+}
+
+fun box(): String {
+ Foo.BAR.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassFunIf.kt b/js/js.translator/testData/reservedWords/cases/insideClassFunIf.kt
new file mode 100644
index 00000000000..89344d27501
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassFunIf.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ fun `if`() { `if`() }
+
+ fun test() {
+ testNotRenamed("if", { ::`if` })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassFunIn.kt b/js/js.translator/testData/reservedWords/cases/insideClassFunIn.kt
new file mode 100644
index 00000000000..6254cb61838
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassFunIn.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ fun `in`() { `in`() }
+
+ fun test() {
+ testNotRenamed("in", { ::`in` })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassFunNew.kt b/js/js.translator/testData/reservedWords/cases/insideClassFunNew.kt
new file mode 100644
index 00000000000..9a9a2eaf706
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassFunNew.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ fun new() { new() }
+
+ fun test() {
+ testNotRenamed("new", { ::new })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassFunParamPackage.kt b/js/js.translator/testData/reservedWords/cases/insideClassFunParamPackage.kt
new file mode 100644
index 00000000000..b7b72d41c61
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassFunParamPackage.kt
@@ -0,0 +1,20 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ fun foo(`package`: String) {
+ assertEquals("123", `package`)
+ testRenamed("package", { `package` })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassFunParamPublic.kt b/js/js.translator/testData/reservedWords/cases/insideClassFunParamPublic.kt
new file mode 100644
index 00000000000..c95a5c5dbb7
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassFunParamPublic.kt
@@ -0,0 +1,20 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ fun foo(public: String) {
+ assertEquals("123", public)
+ testRenamed("public", { public })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassFunParamReturn.kt b/js/js.translator/testData/reservedWords/cases/insideClassFunParamReturn.kt
new file mode 100644
index 00000000000..c3b990053a8
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassFunParamReturn.kt
@@ -0,0 +1,20 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ fun foo(`return`: String) {
+ assertEquals("123", `return`)
+ testRenamed("return", { `return` })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassFunParamStatic.kt b/js/js.translator/testData/reservedWords/cases/insideClassFunParamStatic.kt
new file mode 100644
index 00000000000..c1e59897750
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassFunParamStatic.kt
@@ -0,0 +1,20 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ fun foo(static: String) {
+ assertEquals("123", static)
+ testRenamed("static", { static })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassFunPrivate.kt b/js/js.translator/testData/reservedWords/cases/insideClassFunPrivate.kt
new file mode 100644
index 00000000000..e1157605c07
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassFunPrivate.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ fun private() { private() }
+
+ fun test() {
+ testNotRenamed("private", { ::private })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassLabelThis.kt b/js/js.translator/testData/reservedWords/cases/insideClassLabelThis.kt
new file mode 100644
index 00000000000..5b3385b03fd
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassLabelThis.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("this", { @`this` while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassLabelThrow.kt b/js/js.translator/testData/reservedWords/cases/insideClassLabelThrow.kt
new file mode 100644
index 00000000000..824f3ea9d71
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassLabelThrow.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("throw", { @`throw` while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassLabelTypeof.kt b/js/js.translator/testData/reservedWords/cases/insideClassLabelTypeof.kt
new file mode 100644
index 00000000000..2e6cb208cd9
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassLabelTypeof.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("typeof", { @typeof while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassLabelUndefined.kt b/js/js.translator/testData/reservedWords/cases/insideClassLabelUndefined.kt
new file mode 100644
index 00000000000..4de10aed75d
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassLabelUndefined.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("undefined", { @undefined while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectFunAwait.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunAwait.kt
new file mode 100644
index 00000000000..70fbb68e49d
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunAwait.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ fun await() { await() }
+
+ fun test() {
+ testNotRenamed("await", { ::await })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectFunCase.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunCase.kt
new file mode 100644
index 00000000000..f0cdd567b82
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunCase.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ fun case() { case() }
+
+ fun test() {
+ testNotRenamed("case", { ::case })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectFunContinue.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunContinue.kt
new file mode 100644
index 00000000000..b4f30a0a902
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunContinue.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ fun `continue`() { `continue`() }
+
+ fun test() {
+ testNotRenamed("continue", { ::`continue` })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectFunDo.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunDo.kt
new file mode 100644
index 00000000000..bbf5986256d
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunDo.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ fun `do`() { `do`() }
+
+ fun test() {
+ testNotRenamed("do", { ::`do` })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamDebugger.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamDebugger.kt
new file mode 100644
index 00000000000..53800e999ba
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamDebugger.kt
@@ -0,0 +1,22 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ fun foo(debugger: String) {
+ assertEquals("123", debugger)
+ testRenamed("debugger", { debugger })
+}
+
+ fun test() {
+ foo("123")
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamDefault.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamDefault.kt
new file mode 100644
index 00000000000..88622e6b4ae
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamDefault.kt
@@ -0,0 +1,22 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ fun foo(default: String) {
+ assertEquals("123", default)
+ testRenamed("default", { default })
+}
+
+ fun test() {
+ foo("123")
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamFalse.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamFalse.kt
new file mode 100644
index 00000000000..5fa6299e65e
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamFalse.kt
@@ -0,0 +1,22 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ fun foo(`false`: String) {
+ assertEquals("123", `false`)
+ testRenamed("false", { `false` })
+}
+
+ fun test() {
+ foo("123")
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamFinally.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamFinally.kt
new file mode 100644
index 00000000000..827b5296f65
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectFunParamFinally.kt
@@ -0,0 +1,22 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ fun foo(`finally`: String) {
+ assertEquals("123", `finally`)
+ testRenamed("finally", { `finally` })
+}
+
+ fun test() {
+ foo("123")
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelEnum.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelEnum.kt
new file mode 100644
index 00000000000..d743ff8c08d
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelEnum.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("enum", { @enum while (false) {} })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelEval.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelEval.kt
new file mode 100644
index 00000000000..20582b8afd8
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelEval.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("eval", { @eval while (false) {} })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelIf.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelIf.kt
new file mode 100644
index 00000000000..b8db865ad91
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelIf.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("if", { @`if` while (false) {} })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelIn.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelIn.kt
new file mode 100644
index 00000000000..b1b4087e1a0
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectLabelIn.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("in", { @`in` while (false) {} })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectValTry.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectValTry.kt
new file mode 100644
index 00000000000..ce5001c5435
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectValTry.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ val `try`: Int = 0
+
+ fun test() {
+ testNotRenamed("try", { `try` })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectValVar.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectValVar.kt
new file mode 100644
index 00000000000..a50d147824e
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectValVar.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ val `var`: Int = 0
+
+ fun test() {
+ testNotRenamed("var", { `var` })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectValWith.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectValWith.kt
new file mode 100644
index 00000000000..299a9fcaa60
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectValWith.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ val with: Int = 0
+
+ fun test() {
+ testNotRenamed("with", { with })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectValYield.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectValYield.kt
new file mode 100644
index 00000000000..7d235c2c625
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectValYield.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ val yield: Int = 0
+
+ fun test() {
+ testNotRenamed("yield", { yield })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectVarBreak.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectVarBreak.kt
new file mode 100644
index 00000000000..10cc54bcd99
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectVarBreak.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ var `break`: Int = 0
+
+ fun test() {
+ testNotRenamed("break", { `break` })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectVarCatch.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectVarCatch.kt
new file mode 100644
index 00000000000..2223e263525
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectVarCatch.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ var `catch`: Int = 0
+
+ fun test() {
+ testNotRenamed("catch", { `catch` })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectVarKotlin.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectVarKotlin.kt
new file mode 100644
index 00000000000..79a7dbc5760
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectVarKotlin.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ var Kotlin: Int = 0
+
+ fun test() {
+ testNotRenamed("Kotlin", { Kotlin })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassObjectVarNaN.kt b/js/js.translator/testData/reservedWords/cases/insideClassObjectVarNaN.kt
new file mode 100644
index 00000000000..fa45c12c768
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassObjectVarNaN.kt
@@ -0,0 +1,19 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ class object {
+ var NaN: Int = 0
+
+ fun test() {
+ testNotRenamed("NaN", { NaN })
+ }
+ }
+}
+
+fun box(): String {
+ TestClass.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassValContinue.kt b/js/js.translator/testData/reservedWords/cases/insideClassValContinue.kt
new file mode 100644
index 00000000000..fc9d95c0589
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassValContinue.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ val `continue`: Int = 0
+
+ fun test() {
+ testNotRenamed("continue", { `continue` })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassValDo.kt b/js/js.translator/testData/reservedWords/cases/insideClassValDo.kt
new file mode 100644
index 00000000000..6713f3a37dc
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassValDo.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ val `do`: Int = 0
+
+ fun test() {
+ testNotRenamed("do", { `do` })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassValFunction.kt b/js/js.translator/testData/reservedWords/cases/insideClassValFunction.kt
new file mode 100644
index 00000000000..52ec0a2e789
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassValFunction.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ val function: Int = 0
+
+ fun test() {
+ testNotRenamed("function", { function })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassValImplements.kt b/js/js.translator/testData/reservedWords/cases/insideClassValImplements.kt
new file mode 100644
index 00000000000..bec3b4daf5b
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassValImplements.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ val implements: Int = 0
+
+ fun test() {
+ testNotRenamed("implements", { implements })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassVarFalse.kt b/js/js.translator/testData/reservedWords/cases/insideClassVarFalse.kt
new file mode 100644
index 00000000000..e53719fc530
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassVarFalse.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ var `false`: Int = 0
+
+ fun test() {
+ testNotRenamed("false", { `false` })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassVarFinally.kt b/js/js.translator/testData/reservedWords/cases/insideClassVarFinally.kt
new file mode 100644
index 00000000000..d98c55c916d
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassVarFinally.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ var `finally`: Int = 0
+
+ fun test() {
+ testNotRenamed("finally", { `finally` })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassVarInstanceof.kt b/js/js.translator/testData/reservedWords/cases/insideClassVarInstanceof.kt
new file mode 100644
index 00000000000..27b7f644670
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassVarInstanceof.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ var instanceof: Int = 0
+
+ fun test() {
+ testNotRenamed("instanceof", { instanceof })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideClassVarInterface.kt b/js/js.translator/testData/reservedWords/cases/insideClassVarInterface.kt
new file mode 100644
index 00000000000..eeb3ac640d2
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideClassVarInterface.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class TestClass {
+ var interface: Int = 0
+
+ fun test() {
+ testNotRenamed("interface", { interface })
+ }
+}
+
+fun box(): String {
+ TestClass().test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectFunLet.kt b/js/js.translator/testData/reservedWords/cases/insideObjectFunLet.kt
new file mode 100644
index 00000000000..8ebc98ab94d
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectFunLet.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ fun let() { let() }
+
+ fun test() {
+ testNotRenamed("let", { ::let })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectFunNew.kt b/js/js.translator/testData/reservedWords/cases/insideObjectFunNew.kt
new file mode 100644
index 00000000000..4dcddffb0e4
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectFunNew.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ fun new() { new() }
+
+ fun test() {
+ testNotRenamed("new", { ::new })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectFunParamBreak.kt b/js/js.translator/testData/reservedWords/cases/insideObjectFunParamBreak.kt
new file mode 100644
index 00000000000..aedc3a5e521
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectFunParamBreak.kt
@@ -0,0 +1,20 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ fun foo(`break`: String) {
+ assertEquals("123", `break`)
+ testRenamed("break", { `break` })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectFunParamCatch.kt b/js/js.translator/testData/reservedWords/cases/insideObjectFunParamCatch.kt
new file mode 100644
index 00000000000..3f061963677
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectFunParamCatch.kt
@@ -0,0 +1,20 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ fun foo(`catch`: String) {
+ assertEquals("123", `catch`)
+ testRenamed("catch", { `catch` })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectFunParamProtected.kt b/js/js.translator/testData/reservedWords/cases/insideObjectFunParamProtected.kt
new file mode 100644
index 00000000000..e26923ae16d
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectFunParamProtected.kt
@@ -0,0 +1,20 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ fun foo(protected: String) {
+ assertEquals("123", protected)
+ testRenamed("protected", { protected })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectFunParamPublic.kt b/js/js.translator/testData/reservedWords/cases/insideObjectFunParamPublic.kt
new file mode 100644
index 00000000000..77de44b5d35
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectFunParamPublic.kt
@@ -0,0 +1,20 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ fun foo(public: String) {
+ assertEquals("123", public)
+ testRenamed("public", { public })
+}
+
+ fun test() {
+ foo("123")
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectFunTry.kt b/js/js.translator/testData/reservedWords/cases/insideObjectFunTry.kt
new file mode 100644
index 00000000000..9109b34fdb2
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectFunTry.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ fun `try`() { `try`() }
+
+ fun test() {
+ testNotRenamed("try", { ::`try` })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectFunVar.kt b/js/js.translator/testData/reservedWords/cases/insideObjectFunVar.kt
new file mode 100644
index 00000000000..41c03dc3dad
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectFunVar.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ fun `var`() { `var`() }
+
+ fun test() {
+ testNotRenamed("var", { ::`var` })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectLabelContinue.kt b/js/js.translator/testData/reservedWords/cases/insideObjectLabelContinue.kt
new file mode 100644
index 00000000000..82182a4dd21
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectLabelContinue.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("continue", { @`continue` while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectLabelDo.kt b/js/js.translator/testData/reservedWords/cases/insideObjectLabelDo.kt
new file mode 100644
index 00000000000..bb4cda98ac9
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectLabelDo.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("do", { @`do` while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectLabelSwitch.kt b/js/js.translator/testData/reservedWords/cases/insideObjectLabelSwitch.kt
new file mode 100644
index 00000000000..3fbae64fb9e
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectLabelSwitch.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("switch", { @switch while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectLabelTypeof.kt b/js/js.translator/testData/reservedWords/cases/insideObjectLabelTypeof.kt
new file mode 100644
index 00000000000..c8d13b90ac5
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectLabelTypeof.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ val t: Int = 0
+
+ fun test() {
+ testRenamed("typeof", { @typeof while (false) {} })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectValExtends.kt b/js/js.translator/testData/reservedWords/cases/insideObjectValExtends.kt
new file mode 100644
index 00000000000..28427d2d35a
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectValExtends.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ val extends: Int = 0
+
+ fun test() {
+ testNotRenamed("extends", { extends })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectValFunction.kt b/js/js.translator/testData/reservedWords/cases/insideObjectValFunction.kt
new file mode 100644
index 00000000000..fa89fe33055
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectValFunction.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ val function: Int = 0
+
+ fun test() {
+ testNotRenamed("function", { function })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectValPackage.kt b/js/js.translator/testData/reservedWords/cases/insideObjectValPackage.kt
new file mode 100644
index 00000000000..a4e740ec302
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectValPackage.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ val `package`: Int = 0
+
+ fun test() {
+ testNotRenamed("package", { `package` })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectValReturn.kt b/js/js.translator/testData/reservedWords/cases/insideObjectValReturn.kt
new file mode 100644
index 00000000000..786644cf4dd
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectValReturn.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ val `return`: Int = 0
+
+ fun test() {
+ testNotRenamed("return", { `return` })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectVarImport.kt b/js/js.translator/testData/reservedWords/cases/insideObjectVarImport.kt
new file mode 100644
index 00000000000..3a50c555e1f
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectVarImport.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ var import: Int = 0
+
+ fun test() {
+ testNotRenamed("import", { import })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectVarInstanceof.kt b/js/js.translator/testData/reservedWords/cases/insideObjectVarInstanceof.kt
new file mode 100644
index 00000000000..ffb204109fc
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectVarInstanceof.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ var instanceof: Int = 0
+
+ fun test() {
+ testNotRenamed("instanceof", { instanceof })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectVarThis.kt b/js/js.translator/testData/reservedWords/cases/insideObjectVarThis.kt
new file mode 100644
index 00000000000..e46be8cc6c5
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectVarThis.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ var `this`: Int = 0
+
+ fun test() {
+ testNotRenamed("this", { `this` })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/insideObjectVarThrow.kt b/js/js.translator/testData/reservedWords/cases/insideObjectVarThrow.kt
new file mode 100644
index 00000000000..ac7c1f87696
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/insideObjectVarThrow.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object TestObject {
+ var `throw`: Int = 0
+
+ fun test() {
+ testNotRenamed("throw", { `throw` })
+ }
+}
+
+fun box(): String {
+ TestObject.test()
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localCatchBreak.kt b/js/js.translator/testData/reservedWords/cases/localCatchBreak.kt
new file mode 100644
index 00000000000..1039d37561c
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localCatchBreak.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+
+
+
+ try {
+ throw Exception()
+ }
+ catch(`break`: Exception) {
+ testRenamed("break", { `break` })
+ }
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localCatchCatch.kt b/js/js.translator/testData/reservedWords/cases/localCatchCatch.kt
new file mode 100644
index 00000000000..5103836e2fc
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localCatchCatch.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+
+
+
+ try {
+ throw Exception()
+ }
+ catch(`catch`: Exception) {
+ testRenamed("catch", { `catch` })
+ }
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localCatchEval.kt b/js/js.translator/testData/reservedWords/cases/localCatchEval.kt
new file mode 100644
index 00000000000..40235a0877b
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localCatchEval.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+
+
+
+ try {
+ throw Exception()
+ }
+ catch(eval: Exception) {
+ testRenamed("eval", { eval })
+ }
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localCatchExport.kt b/js/js.translator/testData/reservedWords/cases/localCatchExport.kt
new file mode 100644
index 00000000000..cbe92ac861b
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localCatchExport.kt
@@ -0,0 +1,17 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+
+
+
+ try {
+ throw Exception()
+ }
+ catch(export: Exception) {
+ testRenamed("export", { export })
+ }
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localFunArguments.kt b/js/js.translator/testData/reservedWords/cases/localFunArguments.kt
new file mode 100644
index 00000000000..652db1c922f
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localFunArguments.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ fun arguments() { arguments() }
+
+ testRenamed("arguments", { ::arguments })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localFunNaN.kt b/js/js.translator/testData/reservedWords/cases/localFunNaN.kt
new file mode 100644
index 00000000000..394da5404af
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localFunNaN.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ fun NaN() { NaN() }
+
+ testRenamed("NaN", { ::NaN })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localFunPackage.kt b/js/js.translator/testData/reservedWords/cases/localFunPackage.kt
new file mode 100644
index 00000000000..21060ef2176
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localFunPackage.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ fun `package`() { `package`() }
+
+ testRenamed("package", { ::`package` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localFunParamCase.kt b/js/js.translator/testData/reservedWords/cases/localFunParamCase.kt
new file mode 100644
index 00000000000..5e61bce29ab
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localFunParamCase.kt
@@ -0,0 +1,14 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ fun foo(case: String) {
+ assertEquals("123", case)
+ testRenamed("case", { case })
+}
+
+ foo("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localFunParamConst.kt b/js/js.translator/testData/reservedWords/cases/localFunParamConst.kt
new file mode 100644
index 00000000000..391dce29d96
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localFunParamConst.kt
@@ -0,0 +1,14 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ fun foo(const: String) {
+ assertEquals("123", const)
+ testRenamed("const", { const })
+}
+
+ foo("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localFunParamThis.kt b/js/js.translator/testData/reservedWords/cases/localFunParamThis.kt
new file mode 100644
index 00000000000..2ac9ce2ffa5
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localFunParamThis.kt
@@ -0,0 +1,14 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ fun foo(`this`: String) {
+ assertEquals("123", `this`)
+ testRenamed("this", { `this` })
+}
+
+ foo("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localFunParamThrow.kt b/js/js.translator/testData/reservedWords/cases/localFunParamThrow.kt
new file mode 100644
index 00000000000..c3a4bca6531
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localFunParamThrow.kt
@@ -0,0 +1,14 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ fun foo(`throw`: String) {
+ assertEquals("123", `throw`)
+ testRenamed("throw", { `throw` })
+}
+
+ foo("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localFunReturn.kt b/js/js.translator/testData/reservedWords/cases/localFunReturn.kt
new file mode 100644
index 00000000000..ebf2fd2349f
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localFunReturn.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ fun `return`() { `return`() }
+
+ testRenamed("return", { ::`return` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localLabelDefault.kt b/js/js.translator/testData/reservedWords/cases/localLabelDefault.kt
new file mode 100644
index 00000000000..61b429374ea
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localLabelDefault.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ val t: Int = 0
+
+ testRenamed("default", { @default while (false) {} })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localLabelDelete.kt b/js/js.translator/testData/reservedWords/cases/localLabelDelete.kt
new file mode 100644
index 00000000000..bc972fb8a51
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localLabelDelete.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ val t: Int = 0
+
+ testRenamed("delete", { @delete while (false) {} })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localLabelTry.kt b/js/js.translator/testData/reservedWords/cases/localLabelTry.kt
new file mode 100644
index 00000000000..4c1e6d10f4a
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localLabelTry.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ val t: Int = 0
+
+ testRenamed("try", { @`try` while (false) {} })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localLabelVar.kt b/js/js.translator/testData/reservedWords/cases/localLabelVar.kt
new file mode 100644
index 00000000000..894e5e5e5f2
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localLabelVar.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ val t: Int = 0
+
+ testRenamed("var", { @`var` while (false) {} })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localValFalse.kt b/js/js.translator/testData/reservedWords/cases/localValFalse.kt
new file mode 100644
index 00000000000..30cd5c583d4
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localValFalse.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ val `false`: Int = 0
+
+ testRenamed("false", { `false` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localValFinally.kt b/js/js.translator/testData/reservedWords/cases/localValFinally.kt
new file mode 100644
index 00000000000..1feb298b2ae
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localValFinally.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ val `finally`: Int = 0
+
+ testRenamed("finally", { `finally` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localValUndefined.kt b/js/js.translator/testData/reservedWords/cases/localValUndefined.kt
new file mode 100644
index 00000000000..1d366a27c16
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localValUndefined.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ val undefined: Int = 0
+
+ testRenamed("undefined", { undefined })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localValVoid.kt b/js/js.translator/testData/reservedWords/cases/localValVoid.kt
new file mode 100644
index 00000000000..02fa9f07e42
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localValVoid.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ val void: Int = 0
+
+ testRenamed("void", { void })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localVarIf.kt b/js/js.translator/testData/reservedWords/cases/localVarIf.kt
new file mode 100644
index 00000000000..a4ff7c15235
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localVarIf.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ var `if`: Int = 0
+
+ testRenamed("if", { `if` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localVarIn.kt b/js/js.translator/testData/reservedWords/cases/localVarIn.kt
new file mode 100644
index 00000000000..b0340393372
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localVarIn.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ var `in`: Int = 0
+
+ testRenamed("in", { `in` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localVarInfinity.kt b/js/js.translator/testData/reservedWords/cases/localVarInfinity.kt
new file mode 100644
index 00000000000..86b7f48f432
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localVarInfinity.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ var Infinity: Int = 0
+
+ testRenamed("Infinity", { Infinity })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/localVarYield.kt b/js/js.translator/testData/reservedWords/cases/localVarYield.kt
new file mode 100644
index 00000000000..60e206e12c8
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/localVarYield.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun box(): String {
+ var yield: Int = 0
+
+ testRenamed("yield", { yield })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelClassImplements.kt b/js/js.translator/testData/reservedWords/cases/toplevelClassImplements.kt
new file mode 100644
index 00000000000..4bd769087d0
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelClassImplements.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class implements { class object {} }
+
+fun box(): String {
+ testNotRenamed("implements", { implements })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelClassImport.kt b/js/js.translator/testData/reservedWords/cases/toplevelClassImport.kt
new file mode 100644
index 00000000000..2099ad8c0d3
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelClassImport.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class import { class object {} }
+
+fun box(): String {
+ testNotRenamed("import", { import })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelClassThis.kt b/js/js.translator/testData/reservedWords/cases/toplevelClassThis.kt
new file mode 100644
index 00000000000..7740dcbd5bd
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelClassThis.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class `this` { class object {} }
+
+fun box(): String {
+ testNotRenamed("this", { `this` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelClassThrow.kt b/js/js.translator/testData/reservedWords/cases/toplevelClassThrow.kt
new file mode 100644
index 00000000000..7f9e5b48898
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelClassThrow.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+class `throw` { class object {} }
+
+fun box(): String {
+ testNotRenamed("throw", { `throw` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelEnumBreak.kt b/js/js.translator/testData/reservedWords/cases/toplevelEnumBreak.kt
new file mode 100644
index 00000000000..4a8284b8cd3
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelEnumBreak.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class `break` { foo }
+
+fun box(): String {
+ testNotRenamed("break", { `break`.foo })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelEnumCatch.kt b/js/js.translator/testData/reservedWords/cases/toplevelEnumCatch.kt
new file mode 100644
index 00000000000..2124fc4c1f2
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelEnumCatch.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class `catch` { foo }
+
+fun box(): String {
+ testNotRenamed("catch", { `catch`.foo })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelEnumPrivate.kt b/js/js.translator/testData/reservedWords/cases/toplevelEnumPrivate.kt
new file mode 100644
index 00000000000..3ab682627e0
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelEnumPrivate.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class private { foo }
+
+fun box(): String {
+ testNotRenamed("private", { private.foo })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelEnumProtected.kt b/js/js.translator/testData/reservedWords/cases/toplevelEnumProtected.kt
new file mode 100644
index 00000000000..c8d326425db
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelEnumProtected.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+enum class protected { foo }
+
+fun box(): String {
+ testNotRenamed("protected", { protected.foo })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelFunConst.kt b/js/js.translator/testData/reservedWords/cases/toplevelFunConst.kt
new file mode 100644
index 00000000000..56dbbed0a5c
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelFunConst.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun const() { const() }
+
+fun box(): String {
+ testNotRenamed("const", { ::const })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelFunDebugger.kt b/js/js.translator/testData/reservedWords/cases/toplevelFunDebugger.kt
new file mode 100644
index 00000000000..dd5e29038ac
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelFunDebugger.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun debugger() { debugger() }
+
+fun box(): String {
+ testNotRenamed("debugger", { ::debugger })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelFunFalse.kt b/js/js.translator/testData/reservedWords/cases/toplevelFunFalse.kt
new file mode 100644
index 00000000000..5bff7066cd5
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelFunFalse.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun `false`() { `false`() }
+
+fun box(): String {
+ testNotRenamed("false", { ::`false` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelFunFinally.kt b/js/js.translator/testData/reservedWords/cases/toplevelFunFinally.kt
new file mode 100644
index 00000000000..2f01f9ce1a9
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelFunFinally.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun `finally`() { `finally`() }
+
+fun box(): String {
+ testNotRenamed("finally", { ::`finally` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelFunParamDelete.kt b/js/js.translator/testData/reservedWords/cases/toplevelFunParamDelete.kt
new file mode 100644
index 00000000000..bd5b9704efb
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelFunParamDelete.kt
@@ -0,0 +1,14 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun foo(delete: String) {
+ assertEquals("123", delete)
+ testRenamed("delete", { delete })
+}
+
+fun box(): String {
+ foo("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelFunParamEnum.kt b/js/js.translator/testData/reservedWords/cases/toplevelFunParamEnum.kt
new file mode 100644
index 00000000000..cee76c34170
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelFunParamEnum.kt
@@ -0,0 +1,14 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun foo(enum: String) {
+ assertEquals("123", enum)
+ testRenamed("enum", { enum })
+}
+
+fun box(): String {
+ foo("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelFunParamIf.kt b/js/js.translator/testData/reservedWords/cases/toplevelFunParamIf.kt
new file mode 100644
index 00000000000..933ea3c9a85
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelFunParamIf.kt
@@ -0,0 +1,14 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun foo(`if`: String) {
+ assertEquals("123", `if`)
+ testRenamed("if", { `if` })
+}
+
+fun box(): String {
+ foo("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelFunParamIn.kt b/js/js.translator/testData/reservedWords/cases/toplevelFunParamIn.kt
new file mode 100644
index 00000000000..67fd8e26d5d
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelFunParamIn.kt
@@ -0,0 +1,14 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+fun foo(`in`: String) {
+ assertEquals("123", `in`)
+ testRenamed("in", { `in` })
+}
+
+fun box(): String {
+ foo("123")
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelLabelExport.kt b/js/js.translator/testData/reservedWords/cases/toplevelLabelExport.kt
new file mode 100644
index 00000000000..0d9b70a53d2
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelLabelExport.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+val t: Int = 0
+
+fun box(): String {
+ testRenamed("export", { @export while (false) {} })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelLabelExtends.kt b/js/js.translator/testData/reservedWords/cases/toplevelLabelExtends.kt
new file mode 100644
index 00000000000..7f772bb1166
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelLabelExtends.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+val t: Int = 0
+
+fun box(): String {
+ testRenamed("extends", { @extends while (false) {} })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelLabelPackage.kt b/js/js.translator/testData/reservedWords/cases/toplevelLabelPackage.kt
new file mode 100644
index 00000000000..613437461b2
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelLabelPackage.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+val t: Int = 0
+
+fun box(): String {
+ testRenamed("package", { @`package` while (false) {} })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelLabelReturn.kt b/js/js.translator/testData/reservedWords/cases/toplevelLabelReturn.kt
new file mode 100644
index 00000000000..d496367b0ff
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelLabelReturn.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+val t: Int = 0
+
+fun box(): String {
+ testRenamed("return", { @`return` while (false) {} })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelObjectContinue.kt b/js/js.translator/testData/reservedWords/cases/toplevelObjectContinue.kt
new file mode 100644
index 00000000000..44402701aec
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelObjectContinue.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object `continue` {}
+
+fun box(): String {
+ testNotRenamed("continue", { `continue` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelObjectDo.kt b/js/js.translator/testData/reservedWords/cases/toplevelObjectDo.kt
new file mode 100644
index 00000000000..719e1a347d2
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelObjectDo.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object `do` {}
+
+fun box(): String {
+ testNotRenamed("do", { `do` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelObjectStatic.kt b/js/js.translator/testData/reservedWords/cases/toplevelObjectStatic.kt
new file mode 100644
index 00000000000..4001d12b1ad
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelObjectStatic.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object static {}
+
+fun box(): String {
+ testNotRenamed("static", { static })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelObjectSwitch.kt b/js/js.translator/testData/reservedWords/cases/toplevelObjectSwitch.kt
new file mode 100644
index 00000000000..61e445c0815
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelObjectSwitch.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+object switch {}
+
+fun box(): String {
+ testNotRenamed("switch", { switch })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelTraitInterface.kt b/js/js.translator/testData/reservedWords/cases/toplevelTraitInterface.kt
new file mode 100644
index 00000000000..5ddea6992a6
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelTraitInterface.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait interface { class object {} }
+
+fun box(): String {
+ testNotRenamed("interface", { interface })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelTraitLet.kt b/js/js.translator/testData/reservedWords/cases/toplevelTraitLet.kt
new file mode 100644
index 00000000000..cb3fa4d6588
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelTraitLet.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait let { class object {} }
+
+fun box(): String {
+ testNotRenamed("let", { let })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelTraitTry.kt b/js/js.translator/testData/reservedWords/cases/toplevelTraitTry.kt
new file mode 100644
index 00000000000..e5b284ff150
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelTraitTry.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait `try` { class object {} }
+
+fun box(): String {
+ testNotRenamed("try", { `try` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelTraitVar.kt b/js/js.translator/testData/reservedWords/cases/toplevelTraitVar.kt
new file mode 100644
index 00000000000..cb0efb5dd49
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelTraitVar.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+trait `var` { class object {} }
+
+fun box(): String {
+ testNotRenamed("var", { `var` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelValBreak.kt b/js/js.translator/testData/reservedWords/cases/toplevelValBreak.kt
new file mode 100644
index 00000000000..3134067ab92
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelValBreak.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+val `break`: Int = 0
+
+fun box(): String {
+ testNotRenamed("break", { `break` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelValCatch.kt b/js/js.translator/testData/reservedWords/cases/toplevelValCatch.kt
new file mode 100644
index 00000000000..6cdd54a58f3
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelValCatch.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+val `catch`: Int = 0
+
+fun box(): String {
+ testNotRenamed("catch", { `catch` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelValInfinity.kt b/js/js.translator/testData/reservedWords/cases/toplevelValInfinity.kt
new file mode 100644
index 00000000000..f6dbd7f1359
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelValInfinity.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+val Infinity: Int = 0
+
+fun box(): String {
+ testNotRenamed("Infinity", { Infinity })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelValKotlin.kt b/js/js.translator/testData/reservedWords/cases/toplevelValKotlin.kt
new file mode 100644
index 00000000000..112b6cf8730
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelValKotlin.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+val Kotlin: Int = 0
+
+fun box(): String {
+ testNotRenamed("Kotlin", { Kotlin })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelVarArguments.kt b/js/js.translator/testData/reservedWords/cases/toplevelVarArguments.kt
new file mode 100644
index 00000000000..b5a78ada0f6
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelVarArguments.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+var arguments: Int = 0
+
+fun box(): String {
+ testNotRenamed("arguments", { arguments })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelVarAwait.kt b/js/js.translator/testData/reservedWords/cases/toplevelVarAwait.kt
new file mode 100644
index 00000000000..af6e912ea12
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelVarAwait.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+var await: Int = 0
+
+fun box(): String {
+ testNotRenamed("await", { await })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelVarContinue.kt b/js/js.translator/testData/reservedWords/cases/toplevelVarContinue.kt
new file mode 100644
index 00000000000..859c07d8ba6
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelVarContinue.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+var `continue`: Int = 0
+
+fun box(): String {
+ testNotRenamed("continue", { `continue` })
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/js/js.translator/testData/reservedWords/cases/toplevelVarDo.kt b/js/js.translator/testData/reservedWords/cases/toplevelVarDo.kt
new file mode 100644
index 00000000000..348572489cd
--- /dev/null
+++ b/js/js.translator/testData/reservedWords/cases/toplevelVarDo.kt
@@ -0,0 +1,11 @@
+package foo
+
+// NOTE THIS FILE IS AUTO-GENERATED by the generateTestDataForReservedWords.kt. DO NOT EDIT!
+
+var `do`: Int = 0
+
+fun box(): String {
+ testNotRenamed("do", { `do` })
+
+ return "OK"
+}
\ No newline at end of file