diff --git a/compiler/testData/diagnostics/testsWithStdLib/experimental/scripts.kt b/compiler/testData/diagnostics/testsWithStdLib/experimental/scripts.kt new file mode 100644 index 00000000000..4974178bbc4 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/experimental/scripts.kt @@ -0,0 +1,50 @@ +// !API_VERSION: 1.3 +// !DIAGNOSTICS: -UNUSED_VARIABLE +// MODULE: api +// FILE: api.kt + +package api + +@Experimental(Experimental.Level.WARNING, [Experimental.Impact.COMPILATION]) +annotation class ExperimentalAPI + +@ExperimentalAPI +fun function(): String = "" + +// MODULE: usage1(api) +// FILE: usage-propagate.kts + +import api.* + +@ExperimentalAPI +fun use() { + function() +} + +function() +use() + +// MODULE: usage2(api) +// FILE: usage-use.kts + +@file:UseExperimental(ExperimentalAPI::class) +import api.* + +fun use() { + function() +} + +function() +use() + +// MODULE: usage3(api) +// FILE: usage-none.kts + +import api.* + +fun use() { + function() +} + +function() +use() diff --git a/compiler/testData/diagnostics/testsWithStdLib/experimental/scripts.txt b/compiler/testData/diagnostics/testsWithStdLib/experimental/scripts.txt new file mode 100644 index 00000000000..db8c572ec7a --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/experimental/scripts.txt @@ -0,0 +1,61 @@ +// -- Module: -- +package + +package api { + @api.ExperimentalAPI public fun function(): kotlin.String + + @kotlin.Experimental(changesMayBreak = {Impact.COMPILATION}, level = Level.WARNING) public final annotation class ExperimentalAPI : kotlin.Annotation { + public constructor ExperimentalAPI() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + } +} + + +// -- Module: -- +package + +public final class Usage_propagate : kotlin.script.templates.standard.ScriptTemplateWithArgs { + public constructor Usage_propagate(/*0*/ args: kotlin.Array) + public final override /*1*/ /*fake_override*/ val args: kotlin.Array + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + @api.ExperimentalAPI public final fun use(): kotlin.Unit +} + +package api { +} + + +// -- Module: -- +package + +public final class Usage_use : kotlin.script.templates.standard.ScriptTemplateWithArgs { + public constructor Usage_use(/*0*/ args: kotlin.Array) + public final override /*1*/ /*fake_override*/ val args: kotlin.Array + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public final fun use(): kotlin.Unit +} + +package api { +} + + +// -- Module: -- +package + +public final class Usage_none : kotlin.script.templates.standard.ScriptTemplateWithArgs { + public constructor Usage_none(/*0*/ args: kotlin.Array) + public final override /*1*/ /*fake_override*/ val args: kotlin.Array + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public final fun use(): kotlin.Unit +} + +package api { +} diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java index 3562bc5b42f..73aec19c76d 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java @@ -1887,6 +1887,12 @@ public class DiagnosticsTestWithStdLibGenerated extends AbstractDiagnosticsTestW doTest(fileName); } + @TestMetadata("scripts.kt") + public void testScripts() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/experimental/scripts.kt"); + doTest(fileName); + } + @TestMetadata("topLevel.kt") public void testTopLevel() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/experimental/topLevel.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java index e5d3b0e37bc..b6733823c02 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java @@ -1887,6 +1887,12 @@ public class DiagnosticsTestWithStdLibUsingJavacGenerated extends AbstractDiagno doTest(fileName); } + @TestMetadata("scripts.kt") + public void testScripts() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/experimental/scripts.kt"); + doTest(fileName); + } + @TestMetadata("topLevel.kt") public void testTopLevel() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/experimental/topLevel.kt");