From c20c1abb684b825b238a44d0caa3e04efe1c58d8 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Fri, 20 Oct 2017 18:06:16 +0300 Subject: [PATCH] Add test for VAL_REASSIGNMENT on when subject variable --- .../reassignmentToWhenSubjectVariable.kt | 10 ++++++++++ .../reassignmentToWhenSubjectVariable.txt | 4 ++++ .../kotlin/checkers/DiagnosticsTestGenerated.java | 6 ++++++ .../javac/DiagnosticsUsingJavacTestGenerated.java | 6 ++++++ 4 files changed, 26 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/when/withSubjectVariable/reassignmentToWhenSubjectVariable.kt create mode 100644 compiler/testData/diagnostics/tests/when/withSubjectVariable/reassignmentToWhenSubjectVariable.txt diff --git a/compiler/testData/diagnostics/tests/when/withSubjectVariable/reassignmentToWhenSubjectVariable.kt b/compiler/testData/diagnostics/tests/when/withSubjectVariable/reassignmentToWhenSubjectVariable.kt new file mode 100644 index 00000000000..4ede6e1db62 --- /dev/null +++ b/compiler/testData/diagnostics/tests/when/withSubjectVariable/reassignmentToWhenSubjectVariable.kt @@ -0,0 +1,10 @@ +// !LANGUAGE: +VariableDeclarationInWhenSubject +// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNUSED_VALUE + +fun foo(): Any = 42 + +fun test(x: Any) { + when (val y = foo()) { + is String -> y = "" + } +} diff --git a/compiler/testData/diagnostics/tests/when/withSubjectVariable/reassignmentToWhenSubjectVariable.txt b/compiler/testData/diagnostics/tests/when/withSubjectVariable/reassignmentToWhenSubjectVariable.txt new file mode 100644 index 00000000000..7227d2c6116 --- /dev/null +++ b/compiler/testData/diagnostics/tests/when/withSubjectVariable/reassignmentToWhenSubjectVariable.txt @@ -0,0 +1,4 @@ +package + +public fun foo(): kotlin.Any +public fun test(/*0*/ x: kotlin.Any): kotlin.Unit diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java index 4d8747a0938..d1bc4ab3557 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java @@ -22472,6 +22472,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest { doTest(fileName); } + @TestMetadata("reassignmentToWhenSubjectVariable.kt") + public void testReassignmentToWhenSubjectVariable() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/when/withSubjectVariable/reassignmentToWhenSubjectVariable.kt"); + doTest(fileName); + } + @TestMetadata("shadowingOtherVariable.kt") public void testShadowingOtherVariable() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/when/withSubjectVariable/shadowingOtherVariable.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java index 51767af99e1..c0a5d132225 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java @@ -22472,6 +22472,12 @@ public class DiagnosticsUsingJavacTestGenerated extends AbstractDiagnosticsUsing doTest(fileName); } + @TestMetadata("reassignmentToWhenSubjectVariable.kt") + public void testReassignmentToWhenSubjectVariable() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/when/withSubjectVariable/reassignmentToWhenSubjectVariable.kt"); + doTest(fileName); + } + @TestMetadata("shadowingOtherVariable.kt") public void testShadowingOtherVariable() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/when/withSubjectVariable/shadowingOtherVariable.kt");