From b7129f78a33599885070e3a6c2de9fdd8544e218 Mon Sep 17 00:00:00 2001 From: "Denis.Zharkov" Date: Tue, 5 Mar 2024 15:43:10 +0100 Subject: [PATCH] K2: Fix IAE at Candidate.updateSourcesOfReceivers inside PCLA lambda Previously, it was failing at line (resolvedReceiver?.toReference(session) as? FirNamedReferenceWithCandidate)?.candidate?.updateSourcesOfReceivers() But this line was mostly incorrect because in case of `a.b()` call, which is resolved to `a.b.invoke()`, `resolvedReceiver` is pointing to `a` instead of obviously expected `a.b`. The fix with using `candidate.callInfo.explicitReceiver` doesn't help either because the candidate of that receiver is always completed at that stage (so no Candidate there). The only case when the candidate was still there is PCLA because in that case we explicitly don't fully complete even receiver expressions. (see docs/fir/pcla.md) The idea of the fix is moving the call of `updateSourcesOfReceivers` for invoke property receiver to the place just before the candidate is being converted to the resolved reference (i.e., the candidate is being lost) ^KT-66148 Fixed --- ...CompilerTestFE10TestdataTestGenerated.java | 6 ++++ ...LFirBlackBoxCodegenBasedTestGenerated.java | 6 ++++ ...sticCompilerFE10TestDataTestGenerated.java | 6 ++++ ...rsedBlackBoxCodegenBasedTestGenerated.java | 6 ++++ ...eeOldFrontendDiagnosticsTestGenerated.java | 6 ++++ ...siOldFrontendDiagnosticsTestGenerated.java | 6 ++++ ...LightTreeBlackBoxCodegenTestGenerated.java | 6 ++++ ...2IrFakeOverrideGeneratorTestGenerated.java | 6 ++++ .../FirPsiBlackBoxCodegenTestGenerated.java | 6 ++++ .../jetbrains/kotlin/fir/FirCallResolver.kt | 8 ++---- .../tower/FirInvokeResolveTowerExtension.kt | 3 ++ .../propertyInvokeInsidePCLALambda.kt | 28 +++++++++++++++++++ .../propertyInvokeInsidePCLALambda.kt | 18 ++++++++++++ .../test/runners/DiagnosticTestGenerated.java | 6 ++++ .../JvmAbiConsistencyTestBoxGenerated.java | 6 ++++ .../codegen/BlackBoxCodegenTestGenerated.java | 6 ++++ .../IrBlackBoxCodegenTestGenerated.java | 6 ++++ ...kBoxCodegenWithIrInlinerTestGenerated.java | 6 ++++ ...xCodegenTestWithInlineScopesGenerated.java | 6 ++++ .../LightAnalysisModeTestGenerated.java | 5 ++++ .../fir/FirJsCodegenBoxTestGenerated.java | 6 ++++ .../fir/FirJsES6CodegenBoxTestGenerated.java | 6 ++++ .../test/ir/IrJsCodegenBoxTestGenerated.java | 6 ++++ .../ir/IrJsES6CodegenBoxTestGenerated.java | 6 ++++ .../FirNativeCodegenBoxTestGenerated.java | 6 ++++ .../FirNativeCodegenBoxTestNoPLGenerated.java | 6 ++++ .../NativeCodegenBoxTestGenerated.java | 6 ++++ .../NativeCodegenBoxTestNoPLGenerated.java | 6 ++++ .../FirWasmJsCodegenBoxTestGenerated.java | 6 ++++ .../test/K1WasmCodegenBoxTestGenerated.java | 6 ++++ 30 files changed, 206 insertions(+), 6 deletions(-) create mode 100644 compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt create mode 100644 compiler/testData/diagnostics/tests/inference/builderInference/propertyInvokeInsidePCLALambda.kt 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 0e3b622600a..ae33d542f1c 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 @@ -17807,6 +17807,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/inference/builderInference/overloadResolutionByLambdaReturnTypeInsideBI.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("propertySubstitution.kt") public void testPropertySubstitution() { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java index be3eca15296..de237a58873 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java @@ -3554,6 +3554,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { 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 e81b19773b1..9786bdf9613 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 @@ -17807,6 +17807,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/inference/builderInference/overloadResolutionByLambdaReturnTypeInsideBI.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("propertySubstitution.kt") public void testPropertySubstitution() { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java index 3e7a61a15ba..01e1e5f6cbd 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java @@ -3554,6 +3554,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { 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 f7a10756049..788c876a6fc 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 @@ -17801,6 +17801,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/inference/builderInference/overloadResolutionByLambdaReturnTypeInsideBI.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("propertySubstitution.kt") public void testPropertySubstitution() { 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 136a1589e74..8af765d9b37 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 @@ -17807,6 +17807,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/inference/builderInference/overloadResolutionByLambdaReturnTypeInsideBI.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("propertySubstitution.kt") public void testPropertySubstitution() { 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 bce404c1481..015e0c2af5e 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 @@ -3537,6 +3537,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java index ce60b8ae8fa..adb7aae9933 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java @@ -3537,6 +3537,12 @@ public class FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGener runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { 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 e051bf43e92..002a7e4a43d 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 @@ -3537,6 +3537,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt index 28da2bdefd9..f2b22ab5b3a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt @@ -111,13 +111,10 @@ class FirCallResolver( resolvedReceiver.replaceResolvedToCompanionObject(candidate.isFromCompanionObjectTypeScope) } + candidate?.updateSourcesOfReceivers() + // We need desugaring val resultFunctionCall = if (candidate != null && candidate.callInfo != result.info) { - // This branch support case for the call of the type `a.invoke()` - // 1. Handle candidate for `a` - (resolvedReceiver?.toReference(session) as? FirNamedReferenceWithCandidate)?.candidate?.updateSourcesOfReceivers() - // 2. Handle candidate for `invoke` - candidate.updateSourcesOfReceivers() functionCall.copyAsImplicitInvokeCall { explicitReceiver = candidate.callInfo.explicitReceiver dispatchReceiver = candidate.dispatchReceiverExpression() @@ -126,7 +123,6 @@ class FirCallResolver( contextReceiverArguments.addAll(candidate.contextReceiverArguments()) } } else { - candidate?.updateSourcesOfReceivers() functionCall } val type = components.typeFromCallee(resultFunctionCall).type diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/FirInvokeResolveTowerExtension.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/FirInvokeResolveTowerExtension.kt index fa398381da1..9b4cefa0f6c 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/FirInvokeResolveTowerExtension.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/FirInvokeResolveTowerExtension.kt @@ -340,6 +340,9 @@ private fun BodyResolveComponents.createExplicitReceiverForInvokeByCallable( if (candidate.currentApplicability == CandidateApplicability.K2_PROPERTY_AS_OPERATOR) { nonFatalDiagnostics.add(ConePropertyAsOperator(candidate.symbol as FirPropertySymbol)) } + + candidate.updateSourcesOfReceivers() + source = fakeSource }.build().let { callCompleter.completeCall(it, ResolutionMode.ReceiverResolution) diff --git a/compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt b/compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt new file mode 100644 index 00000000000..4665219da4b --- /dev/null +++ b/compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt @@ -0,0 +1,28 @@ +// ISSUE: KT-66148 + +class Controller + +fun generate(block: Controller.() -> Unit) { + block(Controller()) +} + +class A(val r: String) + +fun foo(c: Controller): A = A("OK") + +fun bar( + propertyForInvoke: A.() -> Unit, +) { + generate { + foo(this).propertyForInvoke() + } +} + +fun box(): String { + var result = "fail" + bar { + result = r + } + + return result +} diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/propertyInvokeInsidePCLALambda.kt b/compiler/testData/diagnostics/tests/inference/builderInference/propertyInvokeInsidePCLALambda.kt new file mode 100644 index 00000000000..207dd37804f --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/builderInference/propertyInvokeInsidePCLALambda.kt @@ -0,0 +1,18 @@ +// FIR_IDENTICAL +// ISSUE: KT-66148 + +interface Controller + +fun generate(block: Controller.() -> Unit) {} + +class A + +fun foo(c: Controller): A = TODO() + +fun bar( + propertyForInvoke: A.() -> Unit, +) { + generate { + foo(this).propertyForInvoke() + } +} 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 13207ac3f6c..5cfb4652a22 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 @@ -17807,6 +17807,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/inference/builderInference/overloadResolutionByLambdaReturnTypeInsideBI.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("propertySubstitution.kt") public void testPropertySubstitution() { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java index 3a44331f7af..d577be21655 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java @@ -3537,6 +3537,12 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { 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 c217dfbcc7f..27551f747a1 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 @@ -3345,6 +3345,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { 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 c6adbc93d5c..acfe43f03b8 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 @@ -3537,6 +3537,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { 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 e6055da3707..6310937fe20 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 @@ -3537,6 +3537,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java index cfff47989b3..b17a1c81144 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java @@ -3537,6 +3537,12 @@ public class FirBlackBoxCodegenTestWithInlineScopesGenerated extends AbstractFir runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 40c53229b7d..7d77e1382b9 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -3078,6 +3078,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { runTest("compiler/testData/codegen/box/builderInference/receiverUsesOuterTVButReturnTypeIsProper.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 ec36659d78b..26b4a5bc561 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 @@ -2631,6 +2631,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest { runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java index 3f06b91e664..ed6ce98dbd5 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java @@ -2631,6 +2631,12 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { 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 b3662103dc8..5c2d2070e3a 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 @@ -2631,6 +2631,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { 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 42e2e9eb179..4235e7eec46 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 @@ -2631,6 +2631,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java index e7e9173550e..8b1bc10767b 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java @@ -2705,6 +2705,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java index 057a000019b..0a766944cb6 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java @@ -2761,6 +2761,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java index c501bbcb441..ce7f1b2848e 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java @@ -2649,6 +2649,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java index a58d8f777f2..35afa468b04 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java @@ -2706,6 +2706,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { diff --git a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmJsCodegenBoxTestGenerated.java b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmJsCodegenBoxTestGenerated.java index 2faa4ed66f5..4dac49dfb17 100644 --- a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmJsCodegenBoxTestGenerated.java +++ b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmJsCodegenBoxTestGenerated.java @@ -2619,6 +2619,12 @@ public class FirWasmJsCodegenBoxTestGenerated extends AbstractFirWasmJsCodegenBo runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() { 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 ab26fe58bff..44750526d61 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 @@ -2619,6 +2619,12 @@ public class K1WasmCodegenBoxTestGenerated extends AbstractK1WasmCodegenBoxTest runTest("compiler/testData/codegen/box/builderInference/posptonedPCLACallInsideStringInterpolation.kt"); } + @Test + @TestMetadata("propertyInvokeInsidePCLALambda.kt") + public void testPropertyInvokeInsidePCLALambda() { + runTest("compiler/testData/codegen/box/builderInference/propertyInvokeInsidePCLALambda.kt"); + } + @Test @TestMetadata("receiverUsesOuterTVButReturnTypeIsProper.kt") public void testReceiverUsesOuterTVButReturnTypeIsProper() {