K2: Adjust lazy test data after delegate inference rewritten

It's been changed because `getValue` might be not completed after
exiting from call transformation while contracts processing seems to be
working only with completed calls

^KT-61055 Related
This commit is contained in:
Denis.Zharkov
2023-08-08 10:15:35 +02:00
committed by Space Team
parent 033ff38fef
commit 0f6a51fd97
3 changed files with 9 additions and 18 deletions
@@ -862,6 +862,9 @@ abstract class FirDataFlowAnalyzer(
private fun processConditionalContract(flow: MutableFlow, qualifiedAccess: FirStatement) {
// contracts has no effect on non-body resolve stages
if (!components.transformer.baseTransformerPhase.isBodyResolve) return
// TODO: Consider using something besides `toResolvedCallableSymbol` as the latter only works
// for completed calls without candidates (KT-61055 for tracking)
val callee = when (qualifiedAccess) {
is FirFunctionCall -> qualifiedAccess.toResolvedCallableSymbol()?.fir as? FirSimpleFunction
is FirQualifiedAccessExpression -> qualifiedAccess.calleeReference.toResolvedPropertySymbol()?.fir?.getter