Files
kotlin-fork/analysis/low-level-api-fir/testdata/inBlockModification/memberFunWithBodyWithFakeContract.txt
T
Dmitrii Gridin e354b2a900 [LL FIR] rewrote in-block modifications logic
Now we will invalidate bodies for FIR declarations
immediately after in-block modifications in these declarations
We assume that such in-block modifications can happen
only under write action,
so it should be safe to make changes for FirFile

^KT-59687 Fixed
^KT-59199 Fixed
^KTIJ-26066 Fixed
2023-07-05 20:29:00 +02:00

22 lines
698 B
Plaintext

BEFORE MODIFICATION:
public final [ResolvedTo(BODY_RESOLVE)] fun x(): R|kotlin/Unit|
[Contract description] <
<Unresolved name: contract>#(<L> = [ResolvedTo(RAW_FIR)] contract@fun <anonymous>(): <ERROR TYPE REF: Unresolved name: req> <inline=Unknown> {
^ <Unresolved name: req>#
}
)
>
{
{
contract#(<L> = [ResolvedTo(BODY_RESOLVE)] contract@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
req#
}
)
}
[ResolvedTo(BODY_RESOLVE)] lval a: R|kotlin/Int| = R|/doSmth|(String(str))
}
AFTER MODIFICATION:
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun x(): R|kotlin/Unit| { LAZY_BLOCK }