mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-11 14:13:38 +00:00
Caching happened in the base implementation before subclass overrides could post-process the result, so an override's work was either never cached or, if it mutated in place, re-applied to cached output on every hit. Restructure both symbol caches so that they wrap the subclass logic: subclasses now post-process via dedicated hooks (`_request_raw_document_symbols` and `_build_document_symbols_from_raw_symbols`), and the cached value is the fully processed result. Cache versions are bumped where the cached content changes as a consequence.