diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java index b74968d744a..3afb35bc051 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java @@ -1401,6 +1401,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/tailRecursionComplex.kt"); } + @Test + @TestMetadata("tailrec.kt") + public void testTailrec() throws Exception { + runTest("compiler/testData/diagnostics/tests/tailrec.kt"); + } + @Test @TestMetadata("TraitOverrideObjectMethods.kt") public void testTraitOverrideObjectMethods() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java index 72c065a6da1..bb62c4e8202 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java @@ -1401,6 +1401,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/tailRecursionComplex.kt"); } + @Test + @TestMetadata("tailrec.kt") + public void testTailrec() throws Exception { + runTest("compiler/testData/diagnostics/tests/tailrec.kt"); + } + @Test @TestMetadata("TraitOverrideObjectMethods.kt") public void testTraitOverrideObjectMethods() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java index 87f71856d9d..656b0113dc9 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java @@ -1401,6 +1401,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/tailRecursionComplex.kt"); } + @Test + @TestMetadata("tailrec.kt") + public void testTailrec() throws Exception { + runTest("compiler/testData/diagnostics/tests/tailrec.kt"); + } + @Test @TestMetadata("TraitOverrideObjectMethods.kt") public void testTraitOverrideObjectMethods() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java index 73f7652100d..cf6563359a1 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java @@ -1401,6 +1401,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/tailRecursionComplex.kt"); } + @Test + @TestMetadata("tailrec.kt") + public void testTailrec() throws Exception { + runTest("compiler/testData/diagnostics/tests/tailrec.kt"); + } + @Test @TestMetadata("TraitOverrideObjectMethods.kt") public void testTraitOverrideObjectMethods() throws Exception { diff --git a/compiler/testData/diagnostics/tests/tailrec.fir.kt b/compiler/testData/diagnostics/tests/tailrec.fir.kt new file mode 100644 index 00000000000..b8a72d4dea1 --- /dev/null +++ b/compiler/testData/diagnostics/tests/tailrec.fir.kt @@ -0,0 +1,8 @@ +// ISSUE: KT-63529 + +private tailrec fun Context.findActivityOrNull(): Activity? { + return mBase?.findActivityOrNull() +} +abstract class Context +open class Activity +var mBase: Context = TODO() \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/tailrec.kt b/compiler/testData/diagnostics/tests/tailrec.kt new file mode 100644 index 00000000000..3c3f4cbf54a --- /dev/null +++ b/compiler/testData/diagnostics/tests/tailrec.kt @@ -0,0 +1,8 @@ +// ISSUE: KT-63529 + +private tailrec fun Context.findActivityOrNull(): Activity? { + return mBase?.findActivityOrNull() +} +abstract class Context +open class Activity +var mBase: Context = TODO() diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index 0370b5f2fc6..8ef3f5add4c 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -1401,6 +1401,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/tailRecursionComplex.kt"); } + @Test + @TestMetadata("tailrec.kt") + public void testTailrec() throws Exception { + runTest("compiler/testData/diagnostics/tests/tailrec.kt"); + } + @Test @TestMetadata("TraitOverrideObjectMethods.kt") public void testTraitOverrideObjectMethods() throws Exception {