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
@@ -291,9 +291,7 @@ FILE: [ResolvedTo(IMPORTS)] lazyProperty.kt
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|T| = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=LazyDelegate] get(): R|T|
public final operator [ResolvedTo(CONTRACTS)] fun getValue([ResolvedTo(CONTRACTS)] thisRef: R|kotlin/Any?|, [ResolvedTo(CONTRACTS)] property: R|kotlin/reflect/KProperty<*>|): R|T| {
^getValue value#
}
public final operator [ResolvedTo(STATUS)] fun getValue([ResolvedTo(STATUS)] thisRef: R|kotlin/Any?|, [ResolvedTo(STATUS)] property: R|kotlin/reflect/KProperty<*>|): R|T| { LAZY_BLOCK }
}
public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] T> lazy([ResolvedTo(CONTRACTS)] block: R|() -> T|): R|LazyDelegate<T>| {
@@ -328,9 +326,7 @@ FILE: [ResolvedTo(IMPORTS)] lazyProperty.kt
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|T| = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=LazyDelegate] get(): R|T|
public final operator [ResolvedTo(CONTRACTS)] fun getValue([ResolvedTo(CONTRACTS)] thisRef: R|kotlin/Any?|, [ResolvedTo(CONTRACTS)] property: R|kotlin/reflect/KProperty<*>|): R|T| {
^getValue value#
}
public final operator [ResolvedTo(STATUS)] fun getValue([ResolvedTo(STATUS)] thisRef: R|kotlin/Any?|, [ResolvedTo(STATUS)] property: R|kotlin/reflect/KProperty<*>|): R|T| { LAZY_BLOCK }
}
public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] T> lazy([ResolvedTo(CONTRACTS)] block: R|() -> T|): R|LazyDelegate<T>| {
@@ -365,9 +361,7 @@ FILE: [ResolvedTo(IMPORTS)] lazyProperty.kt
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|T| = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=LazyDelegate] get(): R|T|
public final operator [ResolvedTo(CONTRACTS)] fun getValue([ResolvedTo(CONTRACTS)] thisRef: R|kotlin/Any?|, [ResolvedTo(CONTRACTS)] property: R|kotlin/reflect/KProperty<*>|): R|T| {
^getValue value#
}
public final operator [ResolvedTo(STATUS)] fun getValue([ResolvedTo(STATUS)] thisRef: R|kotlin/Any?|, [ResolvedTo(STATUS)] property: R|kotlin/reflect/KProperty<*>|): R|T| { LAZY_BLOCK }
}
public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] T> lazy([ResolvedTo(CONTRACTS)] block: R|() -> T|): R|LazyDelegate<T>| {
@@ -385,9 +385,7 @@ FILE: [ResolvedTo(IMPORTS)] lazyPropertyScript.kts
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|T| = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=LazyDelegate] get(): R|T|
public final operator [ResolvedTo(CONTRACTS)] fun getValue([ResolvedTo(CONTRACTS)] thisRef: R|kotlin/Any?|, [ResolvedTo(CONTRACTS)] property: R|kotlin/reflect/KProperty<*>|): R|T| {
^getValue value#
}
public final operator [ResolvedTo(STATUS)] fun getValue([ResolvedTo(STATUS)] thisRef: R|kotlin/Any?|, [ResolvedTo(STATUS)] property: R|kotlin/reflect/KProperty<*>|): R|T| { LAZY_BLOCK }
}
@@ -431,9 +429,7 @@ FILE: [ResolvedTo(IMPORTS)] lazyPropertyScript.kts
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|T| = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=LazyDelegate] get(): R|T|
public final operator [ResolvedTo(CONTRACTS)] fun getValue([ResolvedTo(CONTRACTS)] thisRef: R|kotlin/Any?|, [ResolvedTo(CONTRACTS)] property: R|kotlin/reflect/KProperty<*>|): R|T| {
^getValue value#
}
public final operator [ResolvedTo(STATUS)] fun getValue([ResolvedTo(STATUS)] thisRef: R|kotlin/Any?|, [ResolvedTo(STATUS)] property: R|kotlin/reflect/KProperty<*>|): R|T| { LAZY_BLOCK }
}
@@ -477,9 +473,7 @@ FILE: [ResolvedTo(IMPORTS)] lazyPropertyScript.kts
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|T| = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=LazyDelegate] get(): R|T|
public final operator [ResolvedTo(CONTRACTS)] fun getValue([ResolvedTo(CONTRACTS)] thisRef: R|kotlin/Any?|, [ResolvedTo(CONTRACTS)] property: R|kotlin/reflect/KProperty<*>|): R|T| {
^getValue value#
}
public final operator [ResolvedTo(STATUS)] fun getValue([ResolvedTo(STATUS)] thisRef: R|kotlin/Any?|, [ResolvedTo(STATUS)] property: R|kotlin/reflect/KProperty<*>|): R|T| { LAZY_BLOCK }
}
@@ -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