diff --git a/idea/testData/multiplatform/useCorrectBuiltIns/common/common.kt b/idea/testData/multiplatform/useCorrectBuiltIns/common/common.kt new file mode 100644 index 00000000000..c85eec1e4ed --- /dev/null +++ b/idea/testData/multiplatform/useCorrectBuiltIns/common/common.kt @@ -0,0 +1,16 @@ +// !DIAGNOSTICS: -UNUSED_VARIABLE + +import kotlin.browser.window +import kotlinx.cinterop.CPointed + +fun jvmSpecific() { + val x: Cloneable? = null +} + +fun nativeSpecific() { + val x: CPointed? = null +} + +fun jsSpecific() { + val windowClosed = window.closed +} \ No newline at end of file diff --git a/idea/testData/multiplatform/useCorrectBuiltIns/dependencies.txt b/idea/testData/multiplatform/useCorrectBuiltIns/dependencies.txt new file mode 100644 index 00000000000..05c951fbbf9 --- /dev/null +++ b/idea/testData/multiplatform/useCorrectBuiltIns/dependencies.txt @@ -0,0 +1,19 @@ +MODULE common { platform=[JS, JVM, Native] } +MODULE js { platform=[JS] } +MODULE jvmNoSdk { platform=[JVM] } +MODULE jvmWithSdk { platform=[JVM] } +MODULE native { platform=[Native] } + +common -> STDLIB_COMMON { kind=DEPENDENCY } + +js -> common { kind=DEPENDS_ON } +js -> STDLIB_JS { kind=DEPENDENCY } + +jvmNoSdk -> common { kind=DEPENDS_ON } +jvmNoSdk -> STDLIB_JVM { kind=DEPENDENCY } + +jvmWithSdk -> common { kind=DEPENDS_ON } +jvmWithSdk -> STDLIB_JVM { kind=DEPENDENCY } +jvmWithSdk -> FULL_JDK { kind=DEPENDENCY } + +native -> common { kind=DEPENDS_ON } diff --git a/idea/testData/multiplatform/useCorrectBuiltIns/js/js.kt b/idea/testData/multiplatform/useCorrectBuiltIns/js/js.kt new file mode 100644 index 00000000000..811702a466a --- /dev/null +++ b/idea/testData/multiplatform/useCorrectBuiltIns/js/js.kt @@ -0,0 +1,16 @@ +// !DIAGNOSTICS: -UNUSED_VARIABLE + +import kotlin.browser.window +import kotlinx.cinterop.CPointed + +fun jvmSpecific() { + val x: Cloneable? = null +} + +fun nativeSpecific() { + val x: CPointed? = null +} + +fun jsSpecific() { + val windowClosed = window.closed +} \ No newline at end of file diff --git a/idea/testData/multiplatform/useCorrectBuiltIns/jvmNoSdk/jvmNoSdk.kt b/idea/testData/multiplatform/useCorrectBuiltIns/jvmNoSdk/jvmNoSdk.kt new file mode 100644 index 00000000000..13933ac6ba0 --- /dev/null +++ b/idea/testData/multiplatform/useCorrectBuiltIns/jvmNoSdk/jvmNoSdk.kt @@ -0,0 +1,16 @@ +// !DIAGNOSTICS: -UNUSED_VARIABLE + +//import kotlin.browser.window +//import kotlinx.cinterop.CPointed +// +fun jvmSpecific() { + val x: Cloneable? = null +} + +//fun nativeSpecific() { +// val x: CPointed? = null +//} +// +//fun jsSpecific() { +// val windowClosed = window.closed +//} \ No newline at end of file diff --git a/idea/testData/multiplatform/useCorrectBuiltIns/jvmWithSdk/jvmWithSdk.kt b/idea/testData/multiplatform/useCorrectBuiltIns/jvmWithSdk/jvmWithSdk.kt new file mode 100644 index 00000000000..2c7f1388846 --- /dev/null +++ b/idea/testData/multiplatform/useCorrectBuiltIns/jvmWithSdk/jvmWithSdk.kt @@ -0,0 +1,16 @@ +// !DIAGNOSTICS: -UNUSED_VARIABLE + +import kotlin.browser.window +import kotlinx.cinterop.CPointed + +fun jvmSpecific() { + val x: Cloneable? = null +} + +fun nativeSpecific() { + val x: CPointed? = null +} + +fun jsSpecific() { + val windowClosed = window.closed +} \ No newline at end of file diff --git a/idea/testData/multiplatform/useCorrectBuiltIns/native/native.kt b/idea/testData/multiplatform/useCorrectBuiltIns/native/native.kt new file mode 100644 index 00000000000..c85eec1e4ed --- /dev/null +++ b/idea/testData/multiplatform/useCorrectBuiltIns/native/native.kt @@ -0,0 +1,16 @@ +// !DIAGNOSTICS: -UNUSED_VARIABLE + +import kotlin.browser.window +import kotlinx.cinterop.CPointed + +fun jvmSpecific() { + val x: Cloneable? = null +} + +fun nativeSpecific() { + val x: CPointed? = null +} + +fun jsSpecific() { + val windowClosed = window.closed +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiplatformAnalysisTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiplatformAnalysisTestGenerated.java index 24a9de080ce..793deb4bde8 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiplatformAnalysisTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiplatformAnalysisTestGenerated.java @@ -45,6 +45,11 @@ public class MultiplatformAnalysisTestGenerated extends AbstractMultiplatformAna public void testInternalFromProduction() throws Exception { runTest("idea/testData/multiplatform/internalFromProduction/"); } + + @TestMetadata("useCorrectBuiltIns") + public void testUseCorrectBuiltIns() throws Exception { + runTest("idea/testData/multiplatform/useCorrectBuiltIns/"); + } } @TestMetadata("idea/testData/multiplatformTypeRefinement") @@ -61,8 +66,7 @@ public class MultiplatformAnalysisTestGenerated extends AbstractMultiplatformAna } public void testAllFilesPresentInMultiplatformTypeRefinement() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/multiplatformTypeRefinement"), - Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, false); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/multiplatformTypeRefinement"), Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, false); } @TestMetadata("callableReferences")