diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFirTestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFirTestdataTestGenerated.java index 09855c399ee..971b65b79c7 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFirTestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFirTestdataTestGenerated.java @@ -6052,12 +6052,30 @@ public class DiagnosticCompilerTestFirTestdataTestGenerated extends AbstractDiag runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/inPlaceLambda.kt"); } + @Test + @TestMetadata("infiniteLoop.kt") + public void testInfiniteLoop() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/infiniteLoop.kt"); + } + + @Test + @TestMetadata("namedArgument.kt") + public void testNamedArgument() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/namedArgument.kt"); + } + @Test @TestMetadata("simple.kt") public void testSimple() throws Exception { runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/simple.kt"); } + @Test + @TestMetadata("tryFinally.kt") + public void testTryFinally() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/tryFinally.kt"); + } + @Test @TestMetadata("unknown.kt") public void testUnknown() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFirTestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFirTestDataTestGenerated.java index 4b1047b7fa6..816fd43c484 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFirTestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFirTestDataTestGenerated.java @@ -6052,12 +6052,30 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFirTestDataTestGenerated runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/inPlaceLambda.kt"); } + @Test + @TestMetadata("infiniteLoop.kt") + public void testInfiniteLoop() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/infiniteLoop.kt"); + } + + @Test + @TestMetadata("namedArgument.kt") + public void testNamedArgument() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/namedArgument.kt"); + } + @Test @TestMetadata("simple.kt") public void testSimple() throws Exception { runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/simple.kt"); } + @Test + @TestMetadata("tryFinally.kt") + public void testTryFinally() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/tryFinally.kt"); + } + @Test @TestMetadata("unknown.kt") public void testUnknown() throws Exception { diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/infiniteLoop.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/infiniteLoop.fir.txt new file mode 100644 index 00000000000..00c6d18cd4d --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/infiniteLoop.fir.txt @@ -0,0 +1,76 @@ +FILE: infiniteLoop.kt + public final fun getCondition(): R|kotlin/Boolean| { + ^getCondition Boolean(true) + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final fun test_1(f: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(f, AT_LEAST_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.AT_LEAST_ONCE|) + } + ) + } + + while(Boolean(true)) { + R|/f|.R|SubstitutionOverride|() + } + + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final fun test_2(f: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(f, AT_LEAST_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.AT_LEAST_ONCE|) + } + ) + } + + do { + R|/f|.R|SubstitutionOverride|() + } + while(Boolean(true)) + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final fun test_3(f: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(f, AT_LEAST_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.AT_LEAST_ONCE|) + } + ) + } + + while(R|/getCondition|()) { + R|/f|.R|SubstitutionOverride|() + } + + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final fun test_4(f: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(f, AT_LEAST_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.AT_LEAST_ONCE|) + } + ) + } + + do { + R|/f|.R|SubstitutionOverride|() + } + while(R|/getCondition|()) + } diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/infiniteLoop.kt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/infiniteLoop.kt new file mode 100644 index 00000000000..0e63eeb1562 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/infiniteLoop.kt @@ -0,0 +1,37 @@ +// ISSUE: KT-64500 +import kotlin.contracts.* + +fun getCondition(): Boolean = true + +@OptIn(ExperimentalContracts::class) +fun test_1(f: () -> Unit) { + contract { callsInPlace(f, InvocationKind.AT_LEAST_ONCE) } + while (true) { + f() + } +} + +@OptIn(ExperimentalContracts::class) +fun test_2(f: () -> Unit) { + contract { callsInPlace(f, InvocationKind.AT_LEAST_ONCE) } + do { + f() + } while (true) +} + +@OptIn(ExperimentalContracts::class) +fun test_3(f: () -> Unit) { + contract { callsInPlace(f, InvocationKind.AT_LEAST_ONCE) } + while (getCondition()) { + f() + } +} + +@OptIn(ExperimentalContracts::class) +fun test_4(f: () -> Unit) { + contract { callsInPlace(f, InvocationKind.AT_LEAST_ONCE) } + do { + f() + } while (getCondition()) +} + diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/namedArgument.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/namedArgument.fir.txt new file mode 100644 index 00000000000..4710c2fa60c --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/namedArgument.fir.txt @@ -0,0 +1,46 @@ +FILE: namedArgument.kt + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final inline fun myRun(f: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(f, EXACTLY_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.EXACTLY_ONCE|) + } + ) + } + + R|/f|.R|SubstitutionOverride|() + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final inline fun test_1(g: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(g, EXACTLY_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/g|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.EXACTLY_ONCE|) + } + ) + } + + R|/myRun|(f = R|/g|) + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final inline fun test_2(g: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(g, EXACTLY_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/g|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.EXACTLY_ONCE|) + } + ) + } + + R|/myRun|(R|/g|) + } diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/namedArgument.kt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/namedArgument.kt new file mode 100644 index 00000000000..dc2c3955303 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/namedArgument.kt @@ -0,0 +1,20 @@ +// ISSUE: KT-64501 +import kotlin.contracts.* + +@OptIn(ExperimentalContracts::class) +inline fun myRun(f: () -> Unit) { + contract { callsInPlace(f, InvocationKind.EXACTLY_ONCE) } + f() +} + +@OptIn(ExperimentalContracts::class) +inline fun test_1(g: () -> Unit) { + contract { callsInPlace(g, InvocationKind.EXACTLY_ONCE) } + myRun(f = g) +} + +@OptIn(ExperimentalContracts::class) +inline fun test_2(g: () -> Unit) { + contract { callsInPlace(g, InvocationKind.EXACTLY_ONCE) } + myRun(g) +} diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/tryFinally.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/tryFinally.fir.txt new file mode 100644 index 00000000000..0290582256b --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/tryFinally.fir.txt @@ -0,0 +1,174 @@ +FILE: tryFinally.kt + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final inline fun test_1(f: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(f, EXACTLY_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.EXACTLY_ONCE|) + } + ) + } + + try { + R|/f|.R|SubstitutionOverride|() + } + finally { + } + + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final inline fun test_2(f: R|() -> kotlin/Int|): R|kotlin/Int| + [R|Contract description] + < + CallsInPlace(f, EXACTLY_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.EXACTLY_ONCE|) + } + ) + } + + try { + ^test_2 R|/f|.R|SubstitutionOverride|() + } + finally { + R|kotlin/io/println|() + } + + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final inline fun test_3(f: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(f, EXACTLY_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.EXACTLY_ONCE|) + } + ) + } + + try { + R|/f|.R|SubstitutionOverride|() + } + catch (: R|kotlin/Exception|) { + } + + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final inline fun test_4(f: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(f, EXACTLY_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.EXACTLY_ONCE|) + } + ) + } + + try { + R|/f|.R|SubstitutionOverride|() + } + catch (: R|kotlin/Exception|) { + throw R|java/lang/Exception.Exception|() + } + + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final inline fun test_5(f: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(f, EXACTLY_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.EXACTLY_ONCE|) + } + ) + } + + try { + R|/f|.R|SubstitutionOverride|() + } + catch (: R|kotlin/Exception|) { + throw R|java/lang/Exception.Exception|() + } + finally { + } + + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final inline fun test_6(f: R|() -> kotlin/Int|): R|kotlin/Int| + [R|Contract description] + < + CallsInPlace(f, EXACTLY_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.EXACTLY_ONCE|) + } + ) + } + + try { + ^test_6 R|/f|.R|SubstitutionOverride|() + } + catch (: R|kotlin/Exception|) { + throw R|java/lang/Exception.Exception|() + } + finally { + } + + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final inline fun test_7(f: R|() -> kotlin/Unit|): R|kotlin/Unit| + [R|Contract description] + < + CallsInPlace(f, EXACTLY_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.EXACTLY_ONCE|) + } + ) + } + + try { + R|/f|.R|SubstitutionOverride|() + } + catch (: R|kotlin/Exception|) { + } + finally { + } + + } + @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/contracts/ExperimentalContracts|))) public final inline fun test_8(f: R|() -> kotlin/Int|): R|kotlin/Int| + [R|Contract description] + < + CallsInPlace(f, EXACTLY_ONCE) + > + { + { + R|kotlin/contracts/contract|( = contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.callsInPlace|(R|/f|, Q|kotlin/contracts/InvocationKind|.R|kotlin/contracts/InvocationKind.EXACTLY_ONCE|) + } + ) + } + + try { + ^test_8 R|/f|.R|SubstitutionOverride|() + } + catch (: R|kotlin/Exception|) { + ^test_8 Int(1) + } + finally { + } + + } diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/tryFinally.kt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/tryFinally.kt new file mode 100644 index 00000000000..3a4eabdaf43 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/tryFinally.kt @@ -0,0 +1,89 @@ +// ISSUE: KT-63414 +import kotlin.contracts.* + +@OptIn(ExperimentalContracts::class) +inline fun test_1(f: () -> Unit) { + contract { callsInPlace(f, InvocationKind.EXACTLY_ONCE) } // should be ok + try { + f() + } finally { + + } +} + +@OptIn(ExperimentalContracts::class) +inline fun test_2(f: () -> Int): Int { + contract { callsInPlace(f, InvocationKind.EXACTLY_ONCE) } // should be ok + try { + return f() + } finally { + println() + } +} + +@OptIn(ExperimentalContracts::class) +inline fun test_3(f: () -> Unit) { + contract { callsInPlace(f, InvocationKind.EXACTLY_ONCE) } // should be error + try { + f() + } catch (_: Exception) { + } +} + +@OptIn(ExperimentalContracts::class) +inline fun test_4(f: () -> Unit) { + contract { callsInPlace(f, InvocationKind.EXACTLY_ONCE) } // should be ok + try { + f() + } catch (_: Exception) { + throw Exception() + } +} + +@OptIn(ExperimentalContracts::class) +inline fun test_5(f: () -> Unit) { + contract { callsInPlace(f, InvocationKind.EXACTLY_ONCE) } // should be ok + try { + f() + } catch (_: Exception) { + throw Exception() + } finally { + + } +} + +@OptIn(ExperimentalContracts::class) +inline fun test_6(f: () -> Int): Int { + contract { callsInPlace(f, InvocationKind.EXACTLY_ONCE) } // should be ok + try { + return f() + } catch (_: Exception) { + throw Exception() + } finally { + + } +} + +@OptIn(ExperimentalContracts::class) +inline fun test_7(f: () -> Unit) { + contract { callsInPlace(f, InvocationKind.EXACTLY_ONCE) } // should be error + try { + f() + } catch (_: Exception) { + + } finally { + + } +} + +@OptIn(ExperimentalContracts::class) +inline fun test_8(f: () -> Int): Int { + contract { callsInPlace(f, InvocationKind.EXACTLY_ONCE) } // should be error + try { + return f() + } catch (_: Exception) { + return 1 + } finally { + + } +} diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java index 8624eb1ac1a..5002e1123d3 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java @@ -6052,12 +6052,30 @@ public class FirLightTreeDiagnosticsTestGenerated extends AbstractFirLightTreeDi runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/inPlaceLambda.kt"); } + @Test + @TestMetadata("infiniteLoop.kt") + public void testInfiniteLoop() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/infiniteLoop.kt"); + } + + @Test + @TestMetadata("namedArgument.kt") + public void testNamedArgument() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/namedArgument.kt"); + } + @Test @TestMetadata("simple.kt") public void testSimple() throws Exception { runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/simple.kt"); } + @Test + @TestMetadata("tryFinally.kt") + public void testTryFinally() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/tryFinally.kt"); + } + @Test @TestMetadata("unknown.kt") public void testUnknown() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java index 9edbee066f3..2523c28886e 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java @@ -6052,12 +6052,30 @@ public class FirPsiDiagnosticTestGenerated extends AbstractFirPsiDiagnosticTest runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/inPlaceLambda.kt"); } + @Test + @TestMetadata("infiniteLoop.kt") + public void testInfiniteLoop() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/infiniteLoop.kt"); + } + + @Test + @TestMetadata("namedArgument.kt") + public void testNamedArgument() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/namedArgument.kt"); + } + @Test @TestMetadata("simple.kt") public void testSimple() throws Exception { runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/simple.kt"); } + @Test + @TestMetadata("tryFinally.kt") + public void testTryFinally() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/contracts/fromSource/good/callsInPlace/tryFinally.kt"); + } + @Test @TestMetadata("unknown.kt") public void testUnknown() throws Exception {