/**
* Creates a tag manager.
*
* @param ProjectContext $context
* @param EditableDiscovery $discovery
* @param ModuleList $modules
* @param JsonStorage $jsonStorage
* @param LoggerInterface|null $logger
*/
public function __construct(ProjectContext $context, EditableDiscovery $discovery, ModuleList $modules, JsonStorage $jsonStorage, LoggerInterface $logger = null)
{
$this->context = $context;
$this->discovery = $discovery;
$this->modules = $modules;
$this->jsonStorage = $jsonStorage;
$this->rootModule = $modules->getRootModule();
$this->rootModuleFile = $context->getRootModuleFile();
$this->logger = $logger ?: new NullLogger();
}