From 357fda2efa5cf223dd9f9c686d164a1e140d8d1a Mon Sep 17 00:00:00 2001 From: Victor Petukhov Date: Thu, 15 Jul 2021 11:17:27 +0300 Subject: [PATCH] Initialize builder inference lambda anyway, even a call is inapplicable ^KT-47744 Fixed --- ...irOldFrontendDiagnosticsTestGenerated.java | 6 +++ ...DiagnosticsWithLightTreeTestGenerated.java | 6 +++ .../FirBlackBoxCodegenTestGenerated.java | 6 +++ .../DelegatedPropertyInferenceSession.kt | 4 ++ .../inference/BuilderInferenceSession.kt | 6 ++- .../calls/components/InferenceSession.kt | 4 ++ .../components/PostponedArgumentsAnalyzer.kt | 1 + .../box/inference/builderInference/kt47744.kt | 38 ++++++++++++++++++ .../inference/builderInference/kt47744.fir.kt | 37 ++++++++++++++++++ .../inference/builderInference/kt47744.kt | 37 ++++++++++++++++++ .../inference/builderInference/kt47744.txt | 39 +++++++++++++++++++ .../test/runners/DiagnosticTestGenerated.java | 6 +++ .../codegen/BlackBoxCodegenTestGenerated.java | 6 +++ .../IrBlackBoxCodegenTestGenerated.java | 6 +++ .../LightAnalysisModeTestGenerated.java | 5 +++ ...CompilerTestFE10TestdataTestGenerated.java | 6 +++ .../IrJsCodegenBoxES6TestGenerated.java | 5 +++ .../IrJsCodegenBoxTestGenerated.java | 5 +++ .../semantics/JsCodegenBoxTestGenerated.java | 5 +++ 19 files changed, 227 insertions(+), 1 deletion(-) create mode 100644 compiler/testData/codegen/box/inference/builderInference/kt47744.kt create mode 100644 compiler/testData/diagnostics/tests/inference/builderInference/kt47744.fir.kt create mode 100644 compiler/testData/diagnostics/tests/inference/builderInference/kt47744.kt create mode 100644 compiler/testData/diagnostics/tests/inference/builderInference/kt47744.txt diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java index 6a3d0fd71fc..70ecf49fc21 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java @@ -12988,6 +12988,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/inference/builderInference"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); } + @Test + @TestMetadata("kt47744.kt") + public void testKt47744() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt47744.kt"); + } + @Test @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java index e83a65d0414..d82cb5f1fd4 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java @@ -12988,6 +12988,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/inference/builderInference"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); } + @Test + @TestMetadata("kt47744.kt") + public void testKt47744() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt47744.kt"); + } + @Test @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java index c10e8dcbfe2..cc2c9e5865f 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java @@ -17903,6 +17903,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/inference/builderInference/kt47052.kt"); } + @Test + @TestMetadata("kt47744.kt") + public void testKt47744() throws Exception { + runTest("compiler/testData/codegen/box/inference/builderInference/kt47744.kt"); + } + @Test @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DelegatedPropertyInferenceSession.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DelegatedPropertyInferenceSession.kt index 44dae2479b7..759c5149ede 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DelegatedPropertyInferenceSession.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DelegatedPropertyInferenceSession.kt @@ -88,6 +88,8 @@ class DelegatedPropertyInferenceSession( diagnosticsHolder: KotlinDiagnosticsHolder ): Map = emptyMap() + override fun initializeLambda(lambda: ResolvedLambdaAtom) {} + override fun writeOnlyStubs(callInfo: SingleCallResolutionResult): Boolean = false override fun shouldCompleteResolvedSubAtomsOf(resolvedCallAtom: ResolvedCallAtom) = true @@ -124,4 +126,6 @@ class InferenceSessionForExistingCandidates( ): ConstraintSystemCompletionMode? = null override fun resolveReceiverIndependently(): Boolean = resolveReceiverIndependently + + override fun initializeLambda(lambda: ResolvedLambdaAtom) {} } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/BuilderInferenceSession.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/BuilderInferenceSession.kt index 4595ea287c9..30a0661c0ae 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/BuilderInferenceSession.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/BuilderInferenceSession.kt @@ -223,13 +223,17 @@ class BuilderInferenceSession( return ComposedSubstitutor(currentSubstitutor, createNonFixedTypeToVariableSubstitutor()) } + override fun initializeLambda(lambda: ResolvedLambdaAtom) { + this.lambda = lambda + } + override fun inferPostponedVariables( lambda: ResolvedLambdaAtom, initialStorage: ConstraintStorage, completionMode: ConstraintSystemCompletionMode, diagnosticsHolder: KotlinDiagnosticsHolder, ): Map? { - this.lambda = lambda + initializeLambda(lambda) fun getResultingSubstitutor(): NewTypeSubstitutor { val storageSubstitutor = initialStorage.buildResultingSubstitutor(commonSystem, transformTypeVariablesToErrorTypes = false) diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/InferenceSession.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/InferenceSession.kt index 45327d0cdf6..1c3421e71c1 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/InferenceSession.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/InferenceSession.kt @@ -30,6 +30,8 @@ interface InferenceSession { diagnosticsHolder: KotlinDiagnosticsHolder ): Map = emptyMap() + override fun initializeLambda(lambda: ResolvedLambdaAtom) { } + override fun writeOnlyStubs(callInfo: SingleCallResolutionResult): Boolean = false override fun callCompleted(resolvedAtom: ResolvedAtom): Boolean = false override fun shouldCompleteResolvedSubAtomsOf(resolvedCallAtom: ResolvedCallAtom) = true @@ -53,6 +55,8 @@ interface InferenceSession { diagnosticsHolder: KotlinDiagnosticsHolder ): Map? + fun initializeLambda(lambda: ResolvedLambdaAtom) + fun writeOnlyStubs(callInfo: SingleCallResolutionResult): Boolean fun callCompleted(resolvedAtom: ResolvedAtom): Boolean fun shouldCompleteResolvedSubAtomsOf(resolvedCallAtom: ResolvedCallAtom): Boolean diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponedArgumentsAnalyzer.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponedArgumentsAnalyzer.kt index 909570073cd..590b90d2c0b 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponedArgumentsAnalyzer.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponedArgumentsAnalyzer.kt @@ -147,6 +147,7 @@ class PostponedArgumentsAnalyzer( returnArgumentsAnalysisResult if (hasInapplicableCallForBuilderInference) { + inferenceSession?.initializeLambda(lambda) c.getBuilder().removePostponedVariables() return } diff --git a/compiler/testData/codegen/box/inference/builderInference/kt47744.kt b/compiler/testData/codegen/box/inference/builderInference/kt47744.kt new file mode 100644 index 00000000000..b5db0a63779 --- /dev/null +++ b/compiler/testData/codegen/box/inference/builderInference/kt47744.kt @@ -0,0 +1,38 @@ +// !LANGUAGE: +UnrestrictedBuilderInference +// WITH_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM + +import kotlin.experimental.ExperimentalTypeInference + +@OptIn(ExperimentalTypeInference::class) +fun flow(@BuilderInference block: suspend FlowCollector.() -> Unit) = Flow() + +@OptIn(ExperimentalTypeInference::class) +fun produce(@BuilderInference block: suspend SendChannel.() -> Unit) {} + +interface SendChannel { + val onSend: SelectClause2> +} + +interface SelectClause2 +class Flow +interface FlowCollector + +interface SelectBuilder { + operator fun SelectClause2.invoke(param: P, block: suspend (Q) -> R) +} + +inline fun select(crossinline builder: SelectBuilder.() -> Unit) = Unit as R + +fun box(): String { + val x: Flow = flow { + produce { + select { + onSend("") { + + } + } + } + } + return "OK" +} diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/kt47744.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/kt47744.fir.kt new file mode 100644 index 00000000000..af56be0a681 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/builderInference/kt47744.fir.kt @@ -0,0 +1,37 @@ +// !LANGUAGE: -UnrestrictedBuilderInference +// !DIAGNOSTICS: -EXPERIMENTAL_IS_NOT_ENABLED -UNCHECKED_CAST +// WITH_RUNTIME + +import kotlin.experimental.ExperimentalTypeInference + +@OptIn(ExperimentalTypeInference::class) +fun flow(@BuilderInference block: suspend FlowCollector.() -> Unit) = Flow() + +@OptIn(ExperimentalTypeInference::class) +fun produce(@BuilderInference block: suspend SendChannel.() -> Unit) {} + +interface SendChannel { + val onSend: SelectClause2> +} + +interface SelectClause2 +class Flow +interface FlowCollector + +interface SelectBuilder { + operator fun SelectClause2.invoke(param: P, block: suspend (Q) -> R) +} + +inline fun select(crossinline builder: SelectBuilder.() -> Unit) = Unit as R + +fun test() { + val x: Flow = flow { + produce { + select { + onSend("") { + + } + } + } + } +} diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/kt47744.kt b/compiler/testData/diagnostics/tests/inference/builderInference/kt47744.kt new file mode 100644 index 00000000000..210223998e3 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/builderInference/kt47744.kt @@ -0,0 +1,37 @@ +// !LANGUAGE: -UnrestrictedBuilderInference +// !DIAGNOSTICS: -EXPERIMENTAL_IS_NOT_ENABLED -UNCHECKED_CAST +// WITH_RUNTIME + +import kotlin.experimental.ExperimentalTypeInference + +@OptIn(ExperimentalTypeInference::class) +fun flow(@BuilderInference block: suspend FlowCollector.() -> Unit) = Flow() + +@OptIn(ExperimentalTypeInference::class) +fun produce(@BuilderInference block: suspend SendChannel.() -> Unit) {} + +interface SendChannel { + val onSend: SelectClause2> +} + +interface SelectClause2 +class Flow +interface FlowCollector + +interface SelectBuilder { + operator fun SelectClause2.invoke(param: P, block: suspend (Q) -> R) +} + +inline fun select(crossinline builder: SelectBuilder.() -> Unit) = Unit as R + +fun test() { + val x: Flow = flow { + produce { + select { + onSend("") { + + } + } + } + } +} diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/kt47744.txt b/compiler/testData/diagnostics/tests/inference/builderInference/kt47744.txt new file mode 100644 index 00000000000..5909d027a0d --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/builderInference/kt47744.txt @@ -0,0 +1,39 @@ +package + +@kotlin.OptIn(markerClass = {kotlin.experimental.ExperimentalTypeInference::class}) public fun flow(/*0*/ @kotlin.BuilderInference block: suspend FlowCollector.() -> kotlin.Unit): Flow +@kotlin.OptIn(markerClass = {kotlin.experimental.ExperimentalTypeInference::class}) public fun produce(/*0*/ @kotlin.BuilderInference block: suspend SendChannel.() -> kotlin.Unit): kotlin.Unit +public inline fun select(/*0*/ crossinline builder: SelectBuilder.() -> kotlin.Unit): R +public fun test(): kotlin.Unit + +public final class Flow { + public constructor Flow() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} + +public interface FlowCollector { + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} + +public interface SelectBuilder { + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public abstract operator fun SelectClause2.invoke(/*0*/ param: P, /*1*/ block: suspend (Q) -> R): kotlin.Unit +} + +public interface SelectClause2 { + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} + +public interface SendChannel { + public abstract val onSend: SelectClause2> + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} 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 3e626689ae6..cdb87917327 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 @@ -12994,6 +12994,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/inference/builderInference"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); } + @Test + @TestMetadata("kt47744.kt") + public void testKt47744() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt47744.kt"); + } + @Test @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { 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 ae949749963..2c35b03b4e3 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 @@ -17867,6 +17867,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/inference/builderInference/kt47052.kt"); } + @Test + @TestMetadata("kt47744.kt") + public void testKt47744() throws Exception { + runTest("compiler/testData/codegen/box/inference/builderInference/kt47744.kt"); + } + @Test @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { 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 a31b66f8143..d671f92eb3c 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 @@ -17903,6 +17903,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/inference/builderInference/kt47052.kt"); } + @Test + @TestMetadata("kt47744.kt") + public void testKt47744() throws Exception { + runTest("compiler/testData/codegen/box/inference/builderInference/kt47744.kt"); + } + @Test @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 36b4975dfda..a60cddd4f36 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -14799,6 +14799,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/inference/builderInference/kt47052.kt"); } + @TestMetadata("kt47744.kt") + public void testKt47744() throws Exception { + runTest("compiler/testData/codegen/box/inference/builderInference/kt47744.kt"); + } + @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/labaledCall.kt"); diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java index b2157653312..49353d641d3 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java @@ -12988,6 +12988,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/inference/builderInference"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); } + @Test + @TestMetadata("kt47744.kt") + public void testKt47744() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt47744.kt"); + } + @Test @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java index 8ce0dd3ca94..daf1c8bf7fb 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java @@ -12903,6 +12903,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/inference/builderInference/kt47052.kt"); } + @TestMetadata("kt47744.kt") + public void testKt47744() throws Exception { + runTest("compiler/testData/codegen/box/inference/builderInference/kt47744.kt"); + } + @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/labaledCall.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index aa13b5b52d9..012f91394d0 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -12309,6 +12309,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inference/builderInference/kt47052.kt"); } + @TestMetadata("kt47744.kt") + public void testKt47744() throws Exception { + runTest("compiler/testData/codegen/box/inference/builderInference/kt47744.kt"); + } + @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/labaledCall.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index 2ce7f282463..49a20225a7d 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -12374,6 +12374,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inference/builderInference/kt47052.kt"); } + @TestMetadata("kt47744.kt") + public void testKt47744() throws Exception { + runTest("compiler/testData/codegen/box/inference/builderInference/kt47744.kt"); + } + @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/labaledCall.kt");