[K2]: Compiler crashes when array literal is used in delegate expression

FirCallResolver tries to find a
candidate for the delegate's getValue and cannot parse an arrayLiteral
with a nullable coneType.Running
FirCallCompletionResultsWriterTransformer.transformArrayLiteral is
required to find the result type. Therefore, completeCall should not be
invoked with the ResolutionMode from the 'data' param, but rather in
ResolutionMode.ContextIndependent.

#KT-65022 Fixed
This commit is contained in:
Anastasia.Nekrasova
2024-03-06 22:34:40 +02:00
committed by Space Team
parent b4bc576d37
commit 1bb6f869a2
7 changed files with 33 additions and 1 deletions
@@ -176,6 +176,12 @@ public class DiagnosticCompilerTestFirTestdataTestGenerated extends AbstractDiag
runTest("compiler/fir/analysis-tests/testData/resolve/definitelyNotNullAmbiguity.kt");
}
@Test
@TestMetadata("delegateByArrayLiteral.kt")
public void testDelegateByArrayLiteral() {
runTest("compiler/fir/analysis-tests/testData/resolve/delegateByArrayLiteral.kt");
}
@Test
@TestMetadata("delegatedSuperType.kt")
public void testDelegatedSuperType() {
@@ -176,6 +176,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFirTestDataTestGenerated
runTest("compiler/fir/analysis-tests/testData/resolve/definitelyNotNullAmbiguity.kt");
}
@Test
@TestMetadata("delegateByArrayLiteral.kt")
public void testDelegateByArrayLiteral() {
runTest("compiler/fir/analysis-tests/testData/resolve/delegateByArrayLiteral.kt");
}
@Test
@TestMetadata("delegatedSuperType.kt")
public void testDelegatedSuperType() {