K1/K2: add tests confirming behavior of remaining KT-63242 cases

This commit is contained in:
Mikhail Glukhikh
2024-02-27 16:50:04 +01:00
committed by Space Team
parent 0008e832d8
commit e8ba534904
25 changed files with 372 additions and 0 deletions
@@ -22276,6 +22276,18 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/j+k/intersectionWithJavaVoidNothing.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/diagnostics/tests/j+k/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/diagnostics/tests/j+k/invisibleFake2.kt");
}
@Test
@TestMetadata("invisiblePackagePrivateInheritedMember.kt")
public void testInvisiblePackagePrivateInheritedMember() {
@@ -33438,6 +33438,18 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
runTest("compiler/testData/codegen/box/javaInterop/inheritanceWithWildcard.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake2.kt");
}
@Test
@TestMetadata("javaForKotlinOverrideProperty.kt")
public void testJavaForKotlinOverrideProperty() {
@@ -22276,6 +22276,18 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/j+k/intersectionWithJavaVoidNothing.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/diagnostics/tests/j+k/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/diagnostics/tests/j+k/invisibleFake2.kt");
}
@Test
@TestMetadata("invisiblePackagePrivateInheritedMember.kt")
public void testInvisiblePackagePrivateInheritedMember() {
@@ -33438,6 +33438,18 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
runTest("compiler/testData/codegen/box/javaInterop/inheritanceWithWildcard.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake2.kt");
}
@Test
@TestMetadata("javaForKotlinOverrideProperty.kt")
public void testJavaForKotlinOverrideProperty() {
@@ -22270,6 +22270,18 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
runTest("compiler/testData/diagnostics/tests/j+k/intersectionWithJavaVoidNothing.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/diagnostics/tests/j+k/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/diagnostics/tests/j+k/invisibleFake2.kt");
}
@Test
@TestMetadata("invisiblePackagePrivateInheritedMember.kt")
public void testInvisiblePackagePrivateInheritedMember() {
@@ -22276,6 +22276,18 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
runTest("compiler/testData/diagnostics/tests/j+k/intersectionWithJavaVoidNothing.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/diagnostics/tests/j+k/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/diagnostics/tests/j+k/invisibleFake2.kt");
}
@Test
@TestMetadata("invisiblePackagePrivateInheritedMember.kt")
public void testInvisiblePackagePrivateInheritedMember() {
@@ -33307,6 +33307,18 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/javaInterop/inheritanceWithWildcard.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake2.kt");
}
@Test
@TestMetadata("javaForKotlinOverrideProperty.kt")
public void testJavaForKotlinOverrideProperty() {
@@ -33307,6 +33307,18 @@ public class FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGener
runTest("compiler/testData/codegen/box/javaInterop/inheritanceWithWildcard.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake2.kt");
}
@Test
@TestMetadata("javaForKotlinOverrideProperty.kt")
public void testJavaForKotlinOverrideProperty() {
@@ -33307,6 +33307,18 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/javaInterop/inheritanceWithWildcard.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake2.kt");
}
@Test
@TestMetadata("javaForKotlinOverrideProperty.kt")
public void testJavaForKotlinOverrideProperty() {
@@ -0,0 +1,32 @@
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_K2: JVM_IR
// Reason: incorrect result FAIL B
// IGNORE_LIGHT_ANALYSIS
// ISSUE: KT-63242, KT-66324
// FILE: box.kt
private open class C : B() {
override fun foo(d: Any?): String = "FAIL C"
}
fun box(): String =
D().foo("s")
// FILE: A.java
interface A {
String foo(Object value);
}
abstract class B implements A {
public String foo(String value) {
return "FAIL B";
}
}
class D extends C {
@Override
public String foo(Object value) {
return "OK";
}
}
@@ -0,0 +1,27 @@
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_K1: JVM_IR
// Reason: red code
// ISSUE: KT-63242, KT-66324
// FILE: box.kt
private open class C : B() {
override fun foo(d: Any?): String = "FAIL"
}
fun box(): String =
D().foo("s")
// FILE: A.java
interface A {
String foo(Object value);
}
abstract class B implements A {
public String foo(String value) {
return "OK";
}
}
class D extends C {
}
@@ -0,0 +1,8 @@
D:
[Enhancement]: public open fun foo(value: R|@EnhancedNullability kotlin/Any?|): R|@EnhancedNullability kotlin/String| from Java enhancement scope for /D [id: 0]
[Source]: public open override fun foo(d: R|kotlin/Any?|): R|kotlin/String| from Use site scope of /C [id: 1]
[Enhancement]: public abstract fun foo(value: R|kotlin/Any!|): R|kotlin/String!| from Java enhancement scope for /B [id: 2]
[Enhancement]: public abstract fun foo(value: R|kotlin/Any!|): R|kotlin/String!| from Java enhancement scope for /A [id: 2]
[Enhancement]: public open fun foo(value: R|kotlin/String!|): R|kotlin/String!| from Java enhancement scope for /D [id: 0]
[Enhancement]: public open fun foo(value: R|kotlin/String!|): R|kotlin/String!| from Use site scope of /C [id: 0]
[Enhancement]: public open fun foo(value: R|kotlin/String!|): R|kotlin/String!| from Java enhancement scope for /B [id: 0]
@@ -0,0 +1,14 @@
FILE: box.kt
private open class C : R|B| {
public constructor(): R|C| {
super<R|B|>()
}
public open override fun foo(d: R|kotlin/Any?|): R|kotlin/String| {
^foo String(C)
}
}
public final fun box(): R|kotlin/String| {
^box R|/D.D|().R|/B.foo|(String(s))
}
@@ -0,0 +1,31 @@
// FIR_IDENTICAL
// ISSUE: KT-63242, KT-66324
// SCOPE_DUMP: D:foo
// FIR_DUMP
// FILE: box.kt
private open class C : B() {
override fun foo(d: Any?): String = "C"
}
fun box(): String =
D().foo("s") // K1: D.foo, K2: B.foo
// FILE: A.java
interface A {
String foo(Object value);
}
abstract class B implements A {
public String foo(String value) {
return "B";
}
}
class D extends C {
@Override
public String foo(Object value) {
return "D";
}
}
@@ -0,0 +1,8 @@
D:
[Enhancement]: public open fun foo(value: R|@EnhancedNullability kotlin/Any?|): R|@EnhancedNullability kotlin/String| from Java enhancement scope for /D [id: 0]
[Source]: public open override fun foo(d: R|kotlin/Any?|): R|kotlin/String| from Use site scope of /C [id: 1]
[Enhancement]: public abstract fun foo(value: R|kotlin/Any!|): R|kotlin/String!| from Java enhancement scope for /B [id: 2]
[Enhancement]: public abstract fun foo(value: R|kotlin/Any!|): R|kotlin/String!| from Java enhancement scope for /A [id: 2]
[Enhancement]: public open fun foo(value: R|kotlin/String!|): R|kotlin/String!| from Java enhancement scope for /D [id: 0]
[Enhancement]: public open fun foo(value: R|kotlin/String!|): R|kotlin/String!| from Use site scope of /C [id: 0]
[Enhancement]: public open fun foo(value: R|kotlin/String!|): R|kotlin/String!| from Java enhancement scope for /B [id: 0]
@@ -0,0 +1,26 @@
// ISSUE: KT-63242, KT-66324
// SCOPE_DUMP: D:foo
// FIR_DUMP
// FILE: box.kt
private open class C : B() {
override fun foo(d: Any?): String = "C"
}
fun box(): String =
D().foo("s")
// FILE: A.java
interface A {
String foo(Object value);
}
abstract class B implements A {
public String foo(String value) {
return "B";
}
}
class D extends C {
}
@@ -0,0 +1,8 @@
D:
[Source]: public open override fun foo(d: R|kotlin/Any?|): R|kotlin/String| from Java enhancement scope for /D [id: 0]
[Source]: public open override fun foo(d: R|kotlin/Any?|): R|kotlin/String| from Use site scope of /C [id: 0]
[Enhancement]: public abstract fun foo(value: R|kotlin/Any!|): R|kotlin/String!| from Java enhancement scope for /B [id: 1]
[Enhancement]: public abstract fun foo(value: R|kotlin/Any!|): R|kotlin/String!| from Java enhancement scope for /A [id: 1]
[Enhancement]: public open fun foo(value: R|kotlin/String!|): R|kotlin/String!| from Java enhancement scope for /D [id: 0]
[Enhancement]: public open fun foo(value: R|kotlin/String!|): R|kotlin/String!| from Use site scope of /C [id: 0]
[Enhancement]: public open fun foo(value: R|kotlin/String!|): R|kotlin/String!| from Java enhancement scope for /B [id: 0]
@@ -0,0 +1,14 @@
FILE: box.kt
private open class C : R|B| {
public constructor(): R|C| {
super<R|B|>()
}
public open override fun foo(d: R|kotlin/Any?|): R|kotlin/String| {
^foo String(C)
}
}
public final fun box(): R|kotlin/String| {
^box R|/D.D|().R|/B.foo|(String(s))
}
@@ -0,0 +1,26 @@
// ISSUE: KT-63242, KT-66324
// SCOPE_DUMP: D:foo
// FIR_DUMP
// FILE: box.kt
private open class C : B() {
override fun foo(d: Any?): String = "C"
}
fun box(): String =
D().<!INVISIBLE_MEMBER!>foo<!>("s")
// FILE: A.java
interface A {
String foo(Object value);
}
abstract class B implements A {
public String foo(String value) {
return "B";
}
}
class D extends C {
}
@@ -22276,6 +22276,18 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/tests/j+k/intersectionWithJavaVoidNothing.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/diagnostics/tests/j+k/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/diagnostics/tests/j+k/invisibleFake2.kt");
}
@Test
@TestMetadata("invisiblePackagePrivateInheritedMember.kt")
public void testInvisiblePackagePrivateInheritedMember() {
@@ -33307,6 +33307,18 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency
runTest("compiler/testData/codegen/box/javaInterop/inheritanceWithWildcard.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake2.kt");
}
@Test
@TestMetadata("javaForKotlinOverrideProperty.kt")
public void testJavaForKotlinOverrideProperty() {
@@ -33307,6 +33307,18 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/javaInterop/inheritanceWithWildcard.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake2.kt");
}
@Test
@TestMetadata("javaForKotlinOverrideProperty.kt")
public void testJavaForKotlinOverrideProperty() {
@@ -33307,6 +33307,18 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/javaInterop/inheritanceWithWildcard.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake2.kt");
}
@Test
@TestMetadata("javaForKotlinOverrideProperty.kt")
public void testJavaForKotlinOverrideProperty() {
@@ -33307,6 +33307,18 @@ public class FirBlackBoxCodegenTestWithInlineScopesGenerated extends AbstractFir
runTest("compiler/testData/codegen/box/javaInterop/inheritanceWithWildcard.kt");
}
@Test
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake.kt");
}
@Test
@TestMetadata("invisibleFake2.kt")
public void testInvisibleFake2() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake2.kt");
}
@Test
@TestMetadata("javaForKotlinOverrideProperty.kt")
public void testJavaForKotlinOverrideProperty() {
@@ -28176,6 +28176,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class JavaInterop extends AbstractLightAnalysisModeTest {
@TestMetadata("invisibleFake2.kt")
public void ignoreInvisibleFake2() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake2.kt");
}
private void runTest(String testDataFilePath) {
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
}
@@ -28229,6 +28234,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/javaInterop/inheritanceWithWildcard.kt");
}
@TestMetadata("invisibleFake.kt")
public void testInvisibleFake() {
runTest("compiler/testData/codegen/box/javaInterop/invisibleFake.kt");
}
@TestMetadata("javaForKotlinOverrideProperty.kt")
public void testJavaForKotlinOverrideProperty() {
runTest("compiler/testData/codegen/box/javaInterop/javaForKotlinOverrideProperty.kt");