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 340596ba071..0a137b41f1c 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 @@ -3270,6 +3270,28 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia public void testAnonymousFunctionArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/AnonymousFunctionArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform"); + } + + @Test + @TestMetadata("InsideNestedBuilderInferenceLambda.kt") + public void testInsideNestedBuilderInferenceLambda() throws Exception { + runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedBuilderInferenceLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + } } } } 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 9e97e9e2a8e..3d4529231df 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 @@ -3270,6 +3270,28 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated public void testAnonymousFunctionArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/AnonymousFunctionArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform"); + } + + @Test + @TestMetadata("InsideNestedBuilderInferenceLambda.kt") + public void testInsideNestedBuilderInferenceLambda() throws Exception { + runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedBuilderInferenceLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + } } } } 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 f770ec41bd6..215ac9b2d5a 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 @@ -3270,6 +3270,28 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir public void testAnonymousFunctionArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/AnonymousFunctionArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform"); + } + + @Test + @TestMetadata("InsideNestedBuilderInferenceLambda.kt") + public void testInsideNestedBuilderInferenceLambda() throws Exception { + runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedBuilderInferenceLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + } } } } 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 5b2e5e2b48f..9c53fa253be 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 @@ -3276,6 +3276,28 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia public void testAnonymousFunctionArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/AnonymousFunctionArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform"); + } + + @Test + @TestMetadata("InsideNestedBuilderInferenceLambda.kt") + public void testInsideNestedBuilderInferenceLambda() throws Exception { + runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedBuilderInferenceLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + } } } } diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java index 12c8938d3fc..0a36496be0d 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java @@ -2757,6 +2757,46 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java index 432fab48901..ad7310425b2 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java @@ -2757,6 +2757,46 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt b/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt new file mode 100644 index 00000000000..61676790866 --- /dev/null +++ b/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt @@ -0,0 +1,51 @@ +// IGNORE_BACKEND: NATIVE +// IGNORE_BACKEND: WASM +// IGNORE_BACKEND: JS, JS_IR, JS_IR_ES6 +// IGNORE_LIGHT_ANALYSIS + +// CHECK_TYPE_WITH_EXACT + +class Buildee { + fun yield(arg: CT) {} + fun materialize(): CT = UserKlass() as CT +} + +fun build( + instructions: Buildee.() -> Unit +): Buildee { + return Buildee().apply(instructions) +} + +class UserKlass + +// test 1: PTV is in consuming position (yield-case) +fun testYield() { + val arg: UserKlass = UserKlass() + val buildee = build { + object { + init { + yield(arg) + } + } + } + checkExactType>(buildee) +} + +// test 2: PTV is in producing position (materialize-case) +fun testMaterialize() { + fun consume(arg: UserKlass) {} + val buildee = build { + object { + init { + consume(materialize()) + } + } + } + checkExactType>(buildee) +} + +fun box(): String { + testYield() + testMaterialize() + return "OK" +} diff --git a/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt b/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt new file mode 100644 index 00000000000..820f538a4bb --- /dev/null +++ b/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt @@ -0,0 +1,49 @@ +// IGNORE_BACKEND: NATIVE +// IGNORE_BACKEND: WASM +// IGNORE_BACKEND: JS, JS_IR, JS_IR_ES6 +// IGNORE_LIGHT_ANALYSIS + +// CHECK_TYPE_WITH_EXACT + +class Buildee { + fun yield(arg: CT) {} + fun materialize(): CT = UserKlass() as CT +} + +fun build( + instructions: Buildee.() -> Unit +): Buildee { + return Buildee().apply(instructions) +} + +class UserKlass + +fun execute(action: () -> Unit) {} + +// test 1: PTV is in consuming position (yield-case) +fun testYield() { + val arg: UserKlass = UserKlass() + val buildee = build { + execute { + yield(arg) + } + } + checkExactType>(buildee) +} + +// test 2: PTV is in producing position (materialize-case) +fun testMaterialize() { + fun consume(arg: UserKlass) {} + val buildee = build { + execute { + consume(materialize()) + } + } + checkExactType>(buildee) +} + +fun box(): String { + testYield() + testMaterialize() + return "OK" +} diff --git a/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt b/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt new file mode 100644 index 00000000000..cc26e9969ff --- /dev/null +++ b/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt @@ -0,0 +1,41 @@ +// IGNORE_BACKEND_K2: NATIVE +// IGNORE_BACKEND_K2: WASM +// IGNORE_BACKEND_K2: JS, JS_IR, JS_IR_ES6 +// IGNORE_LIGHT_ANALYSIS + +// CHECK_TYPE_WITH_EXACT + +// IGNORE_BACKEND_K1: ANY +// ISSUE: KT-60274 + +import kotlin.reflect.KProperty + +class Buildee { + fun materialize(): CT = UserKlass() as CT +} + +fun build( + instructions: Buildee.() -> Unit +): Buildee { + return Buildee().apply(instructions) +} + +class UserKlass + +class Delegate(private val value: T) { + operator fun getValue(reference: Nothing?, property: KProperty<*>): T = value +} + +fun testMaterialize() { + fun consume(arg: UserKlass) {} + val buildee = build { + val temp by Delegate(materialize()) + consume(temp) + } + checkExactType>(buildee) +} + +fun box(): String { + testMaterialize() + return "OK" +} diff --git a/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt b/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt new file mode 100644 index 00000000000..85978efaac4 --- /dev/null +++ b/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt @@ -0,0 +1,38 @@ +// IGNORE_BACKEND: NATIVE +// IGNORE_BACKEND: WASM +// IGNORE_BACKEND: JS, JS_IR, JS_IR_ES6 +// IGNORE_LIGHT_ANALYSIS + +// CHECK_TYPE_WITH_EXACT + +import kotlin.reflect.KProperty + +class Buildee { + fun yield(arg: CT) {} +} + +fun build( + instructions: Buildee.() -> Unit +): Buildee { + return Buildee().apply(instructions) +} + +class UserKlass + +class Delegate(private val value: T) { + operator fun getValue(reference: Nothing?, property: KProperty<*>): T = value +} + +fun testYield() { + val arg: UserKlass = UserKlass() + val buildee = build { + val temp by Delegate(arg) + yield(temp) + } + checkExactType>(buildee) +} + +fun box(): String { + testYield() + return "OK" +} diff --git a/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt b/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt new file mode 100644 index 00000000000..9d06912b4b3 --- /dev/null +++ b/compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt @@ -0,0 +1,45 @@ +// IGNORE_BACKEND: NATIVE +// IGNORE_BACKEND: WASM +// IGNORE_BACKEND: JS, JS_IR, JS_IR_ES6 +// IGNORE_LIGHT_ANALYSIS + +// CHECK_TYPE_WITH_EXACT + +class Buildee { + fun yield(arg: CT) {} + fun materialize(): CT = UserKlass() as CT +} + +fun build( + instructions: Buildee.() -> Unit +): Buildee { + return Buildee().apply(instructions) +} + +class UserKlass + +// test 1: PTV is in consuming position (yield-case) +fun testYield() { + val arg: UserKlass = UserKlass() + val buildee = build { + val temp = arg + yield(temp) + } + checkExactType>(buildee) +} + +// test 2: PTV is in producing position (materialize-case) +fun testMaterialize() { + fun consume(arg: UserKlass) {} + val buildee = build { + val temp = materialize() + consume(temp) + } + checkExactType>(buildee) +} + +fun box(): String { + testYield() + testMaterialize() + return "OK" +} diff --git a/compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedBuilderInferenceLambda.fir.kt b/compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedBuilderInferenceLambda.fir.kt new file mode 100644 index 00000000000..59ca6450e75 --- /dev/null +++ b/compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedBuilderInferenceLambda.fir.kt @@ -0,0 +1,59 @@ +// DIAGNOSTICS: -UNCHECKED_CAST + +// CHECK_TYPE_WITH_EXACT + +// ISSUE: KT-60663 +/* ATTENTION: + * this test is supposed to monitor unclear feature behavior; + * an explicit design decision regarding said behavior has not been made at the moment of test creation; + * if the behavior of the test changes, please consult with the linked YT ticket + * and either add a comment about the change if an explicit design decision is still unavailable + * (preferably accompanied by an analysis of the change's reasons) + * or remove this disclaimer otherwise + */ + +class Buildee { + fun yield(arg: CT) {} + fun materialize(): CT = UserKlass() as CT +} + +fun build( + instructions: Buildee.() -> Unit +): Buildee { + return Buildee().apply(instructions) +} + +class UserKlass + +class NestedBuildee { + fun nestedYield(arg: T) {} +} +fun nestedBuild( + instructions: NestedBuildee.() -> Unit +): NestedBuildee { + return NestedBuildee().apply(instructions) +} + +// test 1: PTV is in consuming position (yield-case) +fun testYield() { + val arg: UserKlass = UserKlass() + val buildee = build { + nestedBuild { + yield(arg) + nestedYield(42) + } + } + checkExactType<Buildee>(buildee) +} + +// test 2: PTV is in producing position (materialize-case) +fun testMaterialize() { + fun consume(arg: UserKlass) {} + val buildee = build { + nestedBuild { + consume(materialize()) + nestedYield(42) + } + } + checkExactType<Buildee>(buildee) +} diff --git a/compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedBuilderInferenceLambda.kt b/compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedBuilderInferenceLambda.kt new file mode 100644 index 00000000000..0d35e6dd097 --- /dev/null +++ b/compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedBuilderInferenceLambda.kt @@ -0,0 +1,59 @@ +// DIAGNOSTICS: -UNCHECKED_CAST + +// CHECK_TYPE_WITH_EXACT + +// ISSUE: KT-60663 +/* ATTENTION: + * this test is supposed to monitor unclear feature behavior; + * an explicit design decision regarding said behavior has not been made at the moment of test creation; + * if the behavior of the test changes, please consult with the linked YT ticket + * and either add a comment about the change if an explicit design decision is still unavailable + * (preferably accompanied by an analysis of the change's reasons) + * or remove this disclaimer otherwise + */ + +class Buildee { + fun yield(arg: CT) {} + fun materialize(): CT = UserKlass() as CT +} + +fun build( + instructions: Buildee.() -> Unit +): Buildee { + return Buildee().apply(instructions) +} + +class UserKlass + +class NestedBuildee { + fun nestedYield(arg: T) {} +} +fun nestedBuild( + instructions: NestedBuildee.() -> Unit +): NestedBuildee { + return NestedBuildee().apply(instructions) +} + +// test 1: PTV is in consuming position (yield-case) +fun testYield() { + val arg: UserKlass = UserKlass() + val buildee = build { + nestedBuild { + yield(arg) + nestedYield(42) + } + } + checkExactType>(buildee) +} + +// test 2: PTV is in producing position (materialize-case) +fun testMaterialize() { + fun consume(arg: UserKlass) {} + val buildee = build { + nestedBuild { + consume(materialize()) + nestedYield(42) + } + } + checkExactType>(buildee) +} diff --git a/compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt b/compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt new file mode 100644 index 00000000000..ea6a1975466 --- /dev/null +++ b/compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt @@ -0,0 +1,34 @@ +// FIR_IDENTICAL +// DIAGNOSTICS: -UNCHECKED_CAST + +// CHECK_TYPE_WITH_EXACT + +// ISSUE: KT-60274 +// (also see an analogous codegen test) + +import kotlin.reflect.KProperty + +class Buildee { + fun materialize(): CT = UserKlass() as CT +} + +fun build( + instructions: Buildee.() -> Unit +): Buildee { + return Buildee().apply(instructions) +} + +class UserKlass + +class Delegate(private val value: T) { + operator fun getValue(reference: Nothing?, property: KProperty<*>): T = value +} + +fun testMaterialize() { + fun consume(arg: UserKlass) {} + val buildee = build { + val temp by Delegate(materialize()) + consume(temp) + } + checkExactType>(buildee) +} 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 1098ac89e73..95328c51c86 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 @@ -3276,6 +3276,28 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { public void testAnonymousFunctionArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/AnonymousFunctionArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); + } + + @Test + @TestMetadata("InsideNestedBuilderInferenceLambda.kt") + public void testInsideNestedBuilderInferenceLambda() throws Exception { + runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedBuilderInferenceLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/diagnostics/tests/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + } } } } diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index 0c151b5ae14..bbbc7be42de 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -2595,6 +2595,46 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index d671324c819..861e25e697b 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -2757,6 +2757,46 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java index ba5cf890c02..b17764ab59b 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java @@ -2757,6 +2757,46 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index cbbcfb47e97..d8749f6c858 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -2418,6 +2418,44 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class SourceSinkFeedContexts extends AbstractLightAnalysisModeTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath); + } + + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java index e5324bcf026..060015b41d9 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java @@ -1881,6 +1881,46 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest { public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java index c3d3dba835c..f1f8b29ee8d 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java @@ -1881,6 +1881,46 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java index 4d9012f0c4d..5ddffea384a 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java @@ -1881,6 +1881,46 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java index 3568602433a..e47c33b3093 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java @@ -1949,6 +1949,49 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java index c9e87d0f274..4cf5202fe11 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java @@ -2001,6 +2001,51 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + @UsePartialLinkage(mode = Mode.DISABLED) + @Tag("no-partial-linkage-may-be-skipped") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java index 80373488264..aaaeac99ceb 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java @@ -1924,6 +1924,48 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + @DisabledTestsIfProperty(sourceLocations = { "compiler/testData/codegen/box/coroutines/featureIntersection/defaultExpect.kt", "compiler/testData/codegen/box/multiplatform/defaultArguments/*.kt", "compiler/testData/codegen/box/multiplatform/migratedOldTests/*.kt", "compiler/testData/codegen/boxInline/multiplatform/defaultArguments/receiversAndParametersInLambda.kt" }, property = ClassLevelProperty.TEST_MODE, propertyValue = "ONE_STAGE_MULTI_MODULE") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java index b93efbe0ed1..f6d5ac20c73 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java @@ -1950,6 +1950,49 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + @UsePartialLinkage(mode = Mode.DISABLED) + @Tag("no-partial-linkage-may-be-skipped") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxTestGenerated.java b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxTestGenerated.java index 82c9ca6ace2..e3ca83feff1 100644 --- a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxTestGenerated.java +++ b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxTestGenerated.java @@ -1869,6 +1869,46 @@ public class FirWasmCodegenBoxTestGenerated extends AbstractFirWasmCodegenBoxTes public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } } diff --git a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxTestGenerated.java b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxTestGenerated.java index 7aa97d7039c..10b676014be 100644 --- a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxTestGenerated.java +++ b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxTestGenerated.java @@ -1869,6 +1869,46 @@ public class K1WasmCodegenBoxTestGenerated extends AbstractK1WasmCodegenBoxTest public void testLambdaArgumentAndBuildeeReceiver() throws Exception { runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/LambdaArgumentAndBuildeeReceiver.kt"); } + + @Nested + @TestMetadata("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts") + @TestDataPath("$PROJECT_ROOT") + public class SourceSinkFeedContexts { + @Test + public void testAllFilesPresentInSourceSinkFeedContexts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true); + } + + @Test + @TestMetadata("InsideAnonymousObject.kt") + public void testInsideAnonymousObject() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideAnonymousObject.kt"); + } + + @Test + @TestMetadata("InsideNestedLambda.kt") + public void testInsideNestedLambda() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/InsideNestedLambda.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableMaterializeCase.kt") + public void testThroughDelegatedLocalVariableMaterializeCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableMaterializeCase.kt"); + } + + @Test + @TestMetadata("ThroughDelegatedLocalVariableYieldCase.kt") + public void testThroughDelegatedLocalVariableYieldCase() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughDelegatedLocalVariableYieldCase.kt"); + } + + @Test + @TestMetadata("ThroughLocalVariable.kt") + public void testThroughLocalVariable() throws Exception { + runTest("compiler/testData/codegen/box/builderInference/oneParameter/oneTypeVariable/oneTypeInfoOrigin/sourceSinkFeedContexts/ThroughLocalVariable.kt"); + } + } } } }