[Tests] Add regression test for #KT-58575

#KT-58575 Fixed
This commit is contained in:
Kirill Rakhman
2024-03-19 13:30:14 +01:00
committed by Space Team
parent a0120d28cc
commit 988edab7a0
7 changed files with 148 additions and 0 deletions
@@ -21960,6 +21960,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
runTest("compiler/testData/diagnostics/tests/j+k/javaSupertypeNameDisambiguation.kt");
}
@Test
@TestMetadata("jkjPrivateProperty.kt")
public void testJkjPrivateProperty() {
runTest("compiler/testData/diagnostics/tests/j+k/jkjPrivateProperty.kt");
}
@Test
@TestMetadata("KJKInheritance.kt")
public void testKJKInheritance() {
@@ -21966,6 +21966,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
runTest("compiler/testData/diagnostics/tests/j+k/javaSupertypeNameDisambiguation.kt");
}
@Test
@TestMetadata("jkjPrivateProperty.kt")
public void testJkjPrivateProperty() {
runTest("compiler/testData/diagnostics/tests/j+k/jkjPrivateProperty.kt");
}
@Test
@TestMetadata("KJKInheritance.kt")
public void testKJKInheritance() {
@@ -0,0 +1,59 @@
// ISSUE: KT-58575
// FILE: JavaBases.java
interface JavaImmutableBase {
String getData();
}
interface JavaMutableBase {
String getData();
void setData(String data);
}
// FILE: KotlinChildren.kt
open class KotlinImmutableChild1: JavaImmutableBase {
private val data: String = ""
override fun getData(): String = ""
}
open class KotlinImmutableChild2: JavaImmutableBase {
private val data: String? = ""
override fun getData(): String = ""
}
open class KotlinImmutableChild4: JavaImmutableBase {
private val data: String? = ""
override fun getData(): String? = ""
}
open class KotlinMutableChild1: JavaMutableBase {
private var data: String = ""
override fun getData(): String = ""
override fun setData(data: String) {}
}
open class KotlinMutableChild6: JavaMutableBase {
private var data: String? = ""
override fun getData(): String = ""
override fun setData(data: String?) {}
}
open class KotlinMutableChild8: JavaMutableBase {
private var data: String? = ""
override fun getData(): String? = ""
override fun setData(data: String?) {}
}
// FILE: JavaChildren.java
class JavaImmutableChild1 extends KotlinImmutableChild1 {}
class JavaImmutableChild2 extends KotlinImmutableChild2 {}
class JavaImmutableChild4 extends KotlinImmutableChild4 {}
class JavaMutableChild1 extends KotlinMutableChild1 {}
class JavaMutableChild6 extends KotlinMutableChild6 {}
class JavaMutableChild8 extends KotlinMutableChild8 {}
// FILE: Main.kt
fun unresolvedReferences() {
JavaImmutableChild1().getData()
JavaImmutableChild2().getData()
JavaImmutableChild4().getData()
JavaMutableChild1().getData()
JavaMutableChild1().setData("")
JavaMutableChild6().getData()
JavaMutableChild6().setData("")
JavaMutableChild8().getData()
JavaMutableChild8().setData("")
}
@@ -0,0 +1,59 @@
// ISSUE: KT-58575
// FILE: JavaBases.java
interface JavaImmutableBase {
String getData();
}
interface JavaMutableBase {
String getData();
void setData(String data);
}
// FILE: KotlinChildren.kt
open class KotlinImmutableChild1: JavaImmutableBase {
private val data: String = ""
override fun getData(): String = ""
}
open class KotlinImmutableChild2: JavaImmutableBase {
private val data: String? = ""
override fun getData(): String = ""
}
open class KotlinImmutableChild4: JavaImmutableBase {
private val data: String? = ""
override fun getData(): String? = ""
}
open class KotlinMutableChild1: JavaMutableBase {
private var data: String = ""
override fun getData(): String = ""
override fun setData(data: String) {}
}
open class KotlinMutableChild6: JavaMutableBase {
private var data: String? = ""
override fun getData(): String = ""
override fun setData(data: String?) {}
}
open class KotlinMutableChild8: JavaMutableBase {
private var data: String? = ""
override fun getData(): String? = ""
override fun setData(data: String?) {}
}
// FILE: JavaChildren.java
class JavaImmutableChild1 extends KotlinImmutableChild1 {}
class JavaImmutableChild2 extends KotlinImmutableChild2 {}
class JavaImmutableChild4 extends KotlinImmutableChild4 {}
class JavaMutableChild1 extends KotlinMutableChild1 {}
class JavaMutableChild6 extends KotlinMutableChild6 {}
class JavaMutableChild8 extends KotlinMutableChild8 {}
// FILE: Main.kt
fun unresolvedReferences() {
JavaImmutableChild1().<!UNRESOLVED_REFERENCE!>getData<!>()
JavaImmutableChild2().<!UNRESOLVED_REFERENCE!>getData<!>()
JavaImmutableChild4().<!UNRESOLVED_REFERENCE!>getData<!>()
JavaMutableChild1().<!UNRESOLVED_REFERENCE!>getData<!>()
JavaMutableChild1().<!UNRESOLVED_REFERENCE!>setData<!>("")
JavaMutableChild6().<!UNRESOLVED_REFERENCE!>getData<!>()
JavaMutableChild6().<!UNRESOLVED_REFERENCE!>setData<!>("")
JavaMutableChild8().<!UNRESOLVED_REFERENCE!>getData<!>()
JavaMutableChild8().<!UNRESOLVED_REFERENCE!>setData<!>("")
}
@@ -21966,6 +21966,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/tests/j+k/javaSupertypeNameDisambiguation.kt");
}
@Test
@TestMetadata("jkjPrivateProperty.kt")
public void testJkjPrivateProperty() {
runTest("compiler/testData/diagnostics/tests/j+k/jkjPrivateProperty.kt");
}
@Test
@TestMetadata("KJKInheritance.kt")
public void testKJKInheritance() {