KMP: Put "prohbit implicit Java actualization" under the flag

^KT-61668 Fixed

Review: https://jetbrains.team/p/kt/reviews/12062/timeline
This commit is contained in:
Nikita Bobko
2023-09-05 16:25:25 +02:00
committed by Space Team
parent 7667b36aa0
commit 3a0c4d1087
6 changed files with 49 additions and 0 deletions
@@ -1532,6 +1532,12 @@ public class FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated extends Abst
runTest("compiler/testData/diagnostics/tests/multiplatform/java/implicitJavaActualization_multipleActuals.kt");
}
@Test
@TestMetadata("implicitJavaActualization_oldLanguageVersion.kt")
public void testImplicitJavaActualization_oldLanguageVersion() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/java/implicitJavaActualization_oldLanguageVersion.kt");
}
@Test
@TestMetadata("inheritedJavaMembers.kt")
public void testInheritedJavaMembers() throws Exception {
@@ -1532,6 +1532,12 @@ public class FirOldFrontendMPPDiagnosticsWithPsiTestGenerated extends AbstractFi
runTest("compiler/testData/diagnostics/tests/multiplatform/java/implicitJavaActualization_multipleActuals.kt");
}
@Test
@TestMetadata("implicitJavaActualization_oldLanguageVersion.kt")
public void testImplicitJavaActualization_oldLanguageVersion() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/java/implicitJavaActualization_oldLanguageVersion.kt");
}
@Test
@TestMetadata("inheritedJavaMembers.kt")
public void testInheritedJavaMembers() throws Exception {
@@ -124,6 +124,7 @@ class ExpectedActualDeclarationChecker(
module: ModuleDescriptor,
context: DeclarationCheckerContext
) {
if (!context.languageVersionSettings.supportsFeature(LanguageFeature.MultiplatformRestrictions)) return
val actualMembers = actuals
.filter { (compatibility, _) -> compatibility.isCompatibleOrWeaklyIncompatible }
.flatMap { (_, members) -> members }
@@ -0,0 +1,15 @@
// LANGUAGE: -MultiplatformRestrictions
// MODULE: m1-common
// FILE: common.kt
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect class <!PACKAGE_OR_CLASSIFIER_REDECLARATION!>Foo<!>() {
fun foo()
}<!>
// MODULE: m2-jvm()()(m1-common)
// FILE: Foo.java
public class Foo {
public void foo() {
}
}
@@ -0,0 +1,15 @@
// LANGUAGE: -MultiplatformRestrictions
// MODULE: m1-common
// FILE: common.kt
expect class Foo() {
fun foo()
}
// MODULE: m2-jvm()()(m1-common)
// FILE: Foo.java
public class Foo {
public void foo() {
}
}
@@ -24527,6 +24527,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/tests/multiplatform/java/implicitJavaActualization_multipleActuals.kt");
}
@Test
@TestMetadata("implicitJavaActualization_oldLanguageVersion.kt")
public void testImplicitJavaActualization_oldLanguageVersion() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/java/implicitJavaActualization_oldLanguageVersion.kt");
}
@Test
@TestMetadata("inheritedJavaMembers.kt")
public void testInheritedJavaMembers() throws Exception {