Files
kotlin-fork/analysis
Marco Pennekamp 9c3fa5e878 [LL FIR] KT-58257 Restore invalidation of KtFirAnalysisSession via the project-wide OOBM tracker
- `KtReadActionConfinementLifetimeToken` tracks its validity via the
  project-wide out-of-block modification tracker. Out-of-block
  invalidation of some LL FIR session will cause the lifetime tokens of
  all analysis sessions to become invalid, including unrelated sessions,
  because of this project-wide tracking.
- If `KtFirAnalysisSession`s are only invalidated when their underlying
  LL FIR session is invalidated, the cache may expose analysis sessions
  which contain invalid lifetime tokens after out-of-block modification.
  Even though an analysis session will still be practically valid if its
  underlying LL FIR session is valid, the lifetime token will *think*
  that the PSI has changed and throw an "access to invalid token"
  exception.
- Hence, we cannot currently invalidate `KtFirAnalysisSession`
  granularly and project-wide OOBM tracking needs to be restored.

^KT-60272
2023-07-31 15:58:01 +00:00
..