The ModuleDepCollectorPP class holds a reference to ModuleDepCollector as well as ModuleDepCollector's CompilerInstance. The fact that these refer to the same object is non-obvious.
This patch removes the CompilerInvocation reference from ModuleDepCollectorPP and accesses it through ModuleDepCollector instead.