From 2405f28e647b8593b1b092746438b6aef6badefd Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 7 Feb 2023 17:15:33 +0100 Subject: [PATCH] K2: add test confirming successful work of KT-56261 --- ...nosisCompilerFirTestdataTestGenerated.java | 6 ++++++ ...TouchedTilContractsPhaseTestGenerated.java | 5 +++++ ...ocalVariableInSecondaryConstructor.fir.txt | 19 +++++++++++++++++++ .../localVariableInSecondaryConstructor.kt | 10 ++++++++++ .../runners/FirDiagnosticTestGenerated.java | 6 ++++++ ...DiagnosticsWithLightTreeTestGenerated.java | 6 ++++++ 6 files changed, 52 insertions(+) create mode 100644 compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.fir.txt create mode 100644 compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java index f448732bf92..f45dd11d013 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java @@ -2866,6 +2866,12 @@ public class DiagnosisCompilerFirTestdataTestGenerated extends AbstractDiagnosis runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.kt"); } + @Test + @TestMetadata("localVariableInSecondaryConstructor.kt") + public void testLocalVariableInSecondaryConstructor() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.kt"); + } + @Test @TestMetadata("manyLocalVariables.kt") public void testManyLocalVariables() throws Exception { diff --git a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java b/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java index 69be6b72d79..6cf546fd58f 100644 --- a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java +++ b/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java @@ -2512,6 +2512,11 @@ public class LazyBodyIsNotTouchedTilContractsPhaseTestGenerated extends Abstract runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.kt"); } + @TestMetadata("localVariableInSecondaryConstructor.kt") + public void testLocalVariableInSecondaryConstructor() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.kt"); + } + @TestMetadata("manyLocalVariables.kt") public void testManyLocalVariables() throws Exception { runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/manyLocalVariables.kt"); diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.fir.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.fir.txt new file mode 100644 index 00000000000..fd9d1fac306 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.fir.txt @@ -0,0 +1,19 @@ +FILE: localVariableInSecondaryConstructor.kt + public final fun main(): R|kotlin/Unit| { + lval localVariable: R|kotlin/Int| = Int(0) + local final class LocalClass : R|kotlin/Any| { + public constructor(arg: R|kotlin/Int|): R|LocalClass| { + super() + } + + public final val arg: R|kotlin/Int| = R|/arg| + public get(): R|kotlin/Int| + + public constructor(): R|LocalClass| { + this(R|/localVariable|) + } + + } + + R|/LocalClass.LocalClass|().R|/arg| + } diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.kt new file mode 100644 index 00000000000..afc93d9b6d6 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.kt @@ -0,0 +1,10 @@ +fun main() { + + val localVariable = 0 + + class LocalClass(val arg: Int) { + constructor() : this(localVariable) + } + + LocalClass().arg +} diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java index ada959b45cf..d87c807eb53 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java @@ -2866,6 +2866,12 @@ public class FirDiagnosticTestGenerated extends AbstractFirDiagnosticTest { runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.kt"); } + @Test + @TestMetadata("localVariableInSecondaryConstructor.kt") + public void testLocalVariableInSecondaryConstructor() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.kt"); + } + @Test @TestMetadata("manyLocalVariables.kt") public void testManyLocalVariables() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java index 97cd53b7dc7..db17788cc53 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java @@ -2866,6 +2866,12 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.kt"); } + @Test + @TestMetadata("localVariableInSecondaryConstructor.kt") + public void testLocalVariableInSecondaryConstructor() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariableInSecondaryConstructor.kt"); + } + @Test @TestMetadata("manyLocalVariables.kt") public void testManyLocalVariables() throws Exception {