refactor IsMediatorLibReferencedByTheModule using depth search
Keeps the exisitng algorithm using foreach loops (linq used 10MB of Func<IModuleSymbol, bool> and closures), uses an assembly cache and tracks if a module has been visited at a lower depth. This will be slower for larger projects as this is depth first, making it harder for visited to track if the module will be checked from a lower depth.
refactor
IsMediatorLibReferencedByTheModule
using depth searchKeeps the exisitng algorithm using foreach loops (linq used 10MB of
Func<IModuleSymbol, bool>
and closures), uses an assembly cache and tracks if a module has been visited at a lower depth. This will be slower for larger projects as this is depth first, making it harder forvisited
to track if the module will be checked from a lower depth.Closed if favour of #111.
Benchmarks
Original
Changes