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:
+6
@@ -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 {
|
||||
|
||||
+6
@@ -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 {
|
||||
|
||||
+1
@@ -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 }
|
||||
|
||||
+15
@@ -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() {
|
||||
}
|
||||
}
|
||||
+15
@@ -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() {
|
||||
}
|
||||
}
|
||||
Generated
+6
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user