@irrationalfab if i move this to the Analyzer, i don't see how the `SourceManager.aggregate` gets the sources