[FIR JS] Add more tests for JS_NAME_CLASH and JS_FAKE_NAME_CLASH

^KT-59425 Related
^KT-59370 Related
This commit is contained in:
Alexander Korepanov
2023-09-04 20:29:23 +02:00
committed by Space Team
parent 6bb939c6cb
commit ea9e2eb41a
20 changed files with 2366 additions and 0 deletions
@@ -5178,6 +5178,12 @@ public class FirJsBoxTestGenerated extends AbstractFirJsBoxTest {
runTest("js/js.translator/testData/box/inheritance/fromNestedNativeClass.kt");
}
@Test
@TestMetadata("inheritExtensionsWithSameNames.kt")
public void testInheritExtensionsWithSameNames() throws Exception {
runTest("js/js.translator/testData/box/inheritance/inheritExtensionsWithSameNames.kt");
}
@Test
@TestMetadata("inheritFromCharIterator.kt")
public void testInheritFromCharIterator() throws Exception {
@@ -5284,6 +5284,12 @@ public class FirJsES6BoxTestGenerated extends AbstractFirJsES6BoxTest {
runTest("js/js.translator/testData/box/inheritance/fromNestedNativeClass.kt");
}
@Test
@TestMetadata("inheritExtensionsWithSameNames.kt")
public void testInheritExtensionsWithSameNames() throws Exception {
runTest("js/js.translator/testData/box/inheritance/inheritExtensionsWithSameNames.kt");
}
@Test
@TestMetadata("inheritFromCharIterator.kt")
public void testInheritFromCharIterator() throws Exception {
@@ -698,12 +698,30 @@ public class FirPsiJsOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiJ
runTest("compiler/testData/diagnostics/testsWithJsStdLib/name/classAndTypealias.kt");
}
@Test
@TestMetadata("classInheritance.kt")
public void testClassInheritance() throws Exception {
runTest("compiler/testData/diagnostics/testsWithJsStdLib/name/classInheritance.kt");
}
@Test
@TestMetadata("classInheritanceExtensions.kt")
public void testClassInheritanceExtensions() throws Exception {
runTest("compiler/testData/diagnostics/testsWithJsStdLib/name/classInheritanceExtensions.kt");
}
@Test
@TestMetadata("classLevelMethodAndProperty.kt")
public void testClassLevelMethodAndProperty() throws Exception {
runTest("compiler/testData/diagnostics/testsWithJsStdLib/name/classLevelMethodAndProperty.kt");
}
@Test
@TestMetadata("classMembers.kt")
public void testClassMembers() throws Exception {
runTest("compiler/testData/diagnostics/testsWithJsStdLib/name/classMembers.kt");
}
@Test
@TestMetadata("conflictingNamesFromSuperclass.kt")
public void testConflictingNamesFromSuperclass() throws Exception {
@@ -722,6 +740,18 @@ public class FirPsiJsOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiJ
runTest("compiler/testData/diagnostics/testsWithJsStdLib/name/extensionPropertyAndMethod.kt");
}
@Test
@TestMetadata("extensionPropertyAndMethodWithJsName.kt")
public void testExtensionPropertyAndMethodWithJsName() throws Exception {
runTest("compiler/testData/diagnostics/testsWithJsStdLib/name/extensionPropertyAndMethodWithJsName.kt");
}
@Test
@TestMetadata("externalClassInheritance.kt")
public void testExternalClassInheritance() throws Exception {
runTest("compiler/testData/diagnostics/testsWithJsStdLib/name/externalClassInheritance.kt");
}
@Test
@TestMetadata("illegalName.kt")
public void testIllegalName() throws Exception {
@@ -854,6 +884,12 @@ public class FirPsiJsOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiJ
runTest("compiler/testData/diagnostics/testsWithJsStdLib/name/propertyAndMethodInSubclass.kt");
}
@Test
@TestMetadata("topLevelDeclarations.kt")
public void testTopLevelDeclarations() throws Exception {
runTest("compiler/testData/diagnostics/testsWithJsStdLib/name/topLevelDeclarations.kt");
}
@Test
@TestMetadata("topLevelMethodAndJsNameConstructor.kt")
public void testTopLevelMethodAndJsNameConstructor() throws Exception {
@@ -5284,6 +5284,12 @@ public class IrBoxJsES6TestGenerated extends AbstractIrBoxJsES6Test {
runTest("js/js.translator/testData/box/inheritance/fromNestedNativeClass.kt");
}
@Test
@TestMetadata("inheritExtensionsWithSameNames.kt")
public void testInheritExtensionsWithSameNames() throws Exception {
runTest("js/js.translator/testData/box/inheritance/inheritExtensionsWithSameNames.kt");
}
@Test
@TestMetadata("inheritFromCharIterator.kt")
public void testInheritFromCharIterator() throws Exception {
@@ -5178,6 +5178,12 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest {
runTest("js/js.translator/testData/box/inheritance/fromNestedNativeClass.kt");
}
@Test
@TestMetadata("inheritExtensionsWithSameNames.kt")
public void testInheritExtensionsWithSameNames() throws Exception {
runTest("js/js.translator/testData/box/inheritance/inheritExtensionsWithSameNames.kt");
}
@Test
@TestMetadata("inheritFromCharIterator.kt")
public void testInheritFromCharIterator() throws Exception {
@@ -0,0 +1,17 @@
open class Class {
fun String.test(): String = "O"
val String.test: String
get() = "K"
}
// This case is only relevant for the JS Legacy BE and is not applicable to the JS IR backend,
// as the IR BE can resolve such name collisions.
@Suppress("JS_FAKE_NAME_CLASH")
class MyClass1 : Class()
fun box(): String {
val s = ""
return with(MyClass1()) {
s.test() + s.test
}
}