Files
kotlin-fork/analysis
Marco Pennekamp abc1be2ee0 [LL FIR] KT-57743 Build dependency symbol providers lazily
- Because `KtModule`s and thereby sessions may depend on each other
  cyclically, we must not create a session during the creation of
  another session. Otherwise, let's say session A and B depend on each
  other. Then we get the following nested creation: session A -> session
  B -> session A -> session B, and so on.
- Dependency symbol providers are in part taken from dependency
  sessions. Hence, we have to create dependency symbol providers lazily.
- For the creation of dependency symbol providers we only need to access
  the non-dependency symbol providers of a session dependency, so we
  don't need to access the dependency's dependency symbol providers.
  Hence, the lazy construction won't run into issues with cycles later
  on.

^KT-57743 fixed
2023-07-31 15:58:00 +00:00
..