mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-22 11:29:28 +07:00
Swap back to ConcurrentMap and add more Registry checks softValueMap doesn't play well with assumeType. Imagine this: you compute type A and store it, then compute type B that depends on A. But since softValueMap uses soft references, A might get garbage-collected. If that happens, you can override A with assumeType, and now B is out of sync — it's still based on the old version of A. This kind of issue is unlikely to show up in small, artificial examples, but it could easily become a problem in real-world projects, especially large ones. It breaks the assumption that if a type is in the map, then everything it depends on should still be there too. fix after rebase Added nullability annotations to the AssumptionContext constructor parameters to improve type safety. dm-checkpoint-id: 1VH4Od1GtvAo Squash for easier rebase Co-authored-by: Space Team <noreply@jetbrains.team> Merge-request: IJ-MR-146970 Merged-by: Aleksandr Govenko <aleksandr.govenko@jetbrains.com> GitOrigin-RevId: cf2fc232c2c5b35a037396b5f85be3129a5efd3a