From 5a8d912d5657795de8bdff41ef44047d8dd43df6 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 5 Jul 2013 20:19:22 +0400 Subject: [PATCH] KT-3750 When without else #KT-3750 Fixed GitOrigin-RevId: 3f0280142dd950caf69d5f487f679702abdcf794 --- .../jet/checkers/JetPsiCheckerTestGenerated.java | 5 +++++ .../codeInsight/OutOfBlockModificationTest.java | 4 ++++ .../checker/WhenInEnumInExtensionProperty.kt | 15 +++++++++++++++ .../outOfBlock/InGlobalPropertyWithGetter.kt | 9 +++++++++ 4 files changed, 33 insertions(+) create mode 100644 plugins/kotlin/idea/tests/testData/checker/WhenInEnumInExtensionProperty.kt create mode 100644 plugins/kotlin/idea/tests/testData/codeInsight/outOfBlock/InGlobalPropertyWithGetter.kt diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/jet/checkers/JetPsiCheckerTestGenerated.java b/plugins/kotlin/idea/tests/test/org/jetbrains/jet/checkers/JetPsiCheckerTestGenerated.java index 306bf099898c..38c3a9699eb7 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/jet/checkers/JetPsiCheckerTestGenerated.java +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/jet/checkers/JetPsiCheckerTestGenerated.java @@ -268,6 +268,11 @@ public class JetPsiCheckerTestGenerated extends AbstractJetPsiCheckerTest { doTest("idea/testData/checker/When.kt"); } + @TestMetadata("WhenInEnumInExtensionProperty.kt") + public void testWhenInEnumInExtensionProperty() throws Exception { + doTest("idea/testData/checker/WhenInEnumInExtensionProperty.kt"); + } + } @TestMetadata("idea/testData/checker/regression") diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/jet/plugin/codeInsight/OutOfBlockModificationTest.java b/plugins/kotlin/idea/tests/test/org/jetbrains/jet/plugin/codeInsight/OutOfBlockModificationTest.java index 3acf3e9fab3e..1af69dc5333a 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/jet/plugin/codeInsight/OutOfBlockModificationTest.java +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/jet/plugin/codeInsight/OutOfBlockModificationTest.java @@ -59,6 +59,10 @@ public class OutOfBlockModificationTest extends LightCodeInsightFixtureTestCase doTest(); } + public void testInGlobalPropertyWithGetter() { + doTest(); + } + public void testInMethod() { doTest(); } diff --git a/plugins/kotlin/idea/tests/testData/checker/WhenInEnumInExtensionProperty.kt b/plugins/kotlin/idea/tests/testData/checker/WhenInEnumInExtensionProperty.kt new file mode 100644 index 000000000000..5217d16fdf76 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/checker/WhenInEnumInExtensionProperty.kt @@ -0,0 +1,15 @@ +// KT-3750 When without else + +enum class A { + e1 + e2 +} +class B(val a: A) +val B.foo: Int + get() { + // Check absence [NO_ELSE_IN_WHEN] error + return when (a) { + A.e1 -> 1 + A.e2 -> 3 + } + } \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/outOfBlock/InGlobalPropertyWithGetter.kt b/plugins/kotlin/idea/tests/testData/codeInsight/outOfBlock/InGlobalPropertyWithGetter.kt new file mode 100644 index 000000000000..74c94a1805bb --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/codeInsight/outOfBlock/InGlobalPropertyWithGetter.kt @@ -0,0 +1,9 @@ +// FALSE +class B(val a: A) +val B.foo: Int + get() { + return when (a) { + A.e1 -> 1 + A.e2 -> 4 + } + } \ No newline at end of file