<?php
namespace Symfony\Component\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class RemoveAbstractDefinitionsPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container): void
{
foreach ($container->getDefinitions() as $id => $definition) {
if ($definition->isAbstract()) {
$container->resolveEnvPlaceholders($definition);
$container->removeDefinition($id);
$container->log($this, \sprintf('Removed service "%s"; reason: abstract.', $id));
}
}
}
}