[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
@@ -1704,7 +1704,7 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
data,
)
arrayLiteral.transformChildren(transformer, ResolutionMode.ContextDependent)
callCompleter.completeCall(syntheticIdCall, data)
callCompleter.completeCall(syntheticIdCall, ResolutionMode.ContextIndependent)
arrayLiteral
}
}