vendor/web-token/jwt-bundle/JoseFrameworkBundle.php line 24
<?phpdeclare(strict_types=1);namespace Jose\Bundle\JoseFramework;use Jose\Bundle\JoseFramework\DependencyInjection\Compiler\EventDispatcherAliasCompilerPass;use Jose\Bundle\JoseFramework\DependencyInjection\Compiler\SymfonySerializerCompilerPass;use Jose\Bundle\JoseFramework\DependencyInjection\JoseFrameworkExtension;use Jose\Bundle\JoseFramework\DependencyInjection\Source;use Jose\Bundle\JoseFramework\DependencyInjection\Source\Checker\CheckerSource;use Jose\Bundle\JoseFramework\DependencyInjection\Source\Console\ConsoleSource;use Jose\Bundle\JoseFramework\DependencyInjection\Source\Core\CoreSource;use Jose\Bundle\JoseFramework\DependencyInjection\Source\Encryption\EncryptionSource;use Jose\Bundle\JoseFramework\DependencyInjection\Source\KeyManagement\KeyManagementSource;use Jose\Bundle\JoseFramework\DependencyInjection\Source\NestedToken\NestedToken;use Jose\Bundle\JoseFramework\DependencyInjection\Source\Signature\SignatureSource;use Jose\Bundle\JoseFramework\DependencyInjection\Source\SourceWithCompilerPasses;use Symfony\Component\DependencyInjection\Compiler\PassConfig;use Symfony\Component\DependencyInjection\ContainerBuilder;use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;use Symfony\Component\HttpKernel\Bundle\Bundle;final class JoseFrameworkBundle extends Bundle{/*** @var Source\Source[]*/private array $sources = [];public function __construct(){foreach ($this->getSources() as $source) {$this->sources[$source->name()] = $source;}}public function getContainerExtension(): ExtensionInterface{return new JoseFrameworkExtension('jose', $this->sources);}public function build(ContainerBuilder $container): void{parent::build($container);foreach ($this->sources as $source) {if ($source instanceof SourceWithCompilerPasses) {$compilerPasses = $source->getCompilerPasses();foreach ($compilerPasses as $compilerPass) {$container->addCompilerPass($compilerPass, PassConfig::TYPE_BEFORE_OPTIMIZATION, 0);}}}$container->addCompilerPass(new EventDispatcherAliasCompilerPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION, 0);$container->addCompilerPass(new SymfonySerializerCompilerPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION, 10);}/*** @return Source\Source[]*/private function getSources(): iterable{return [new CoreSource(),new CheckerSource(),new ConsoleSource(),new SignatureSource(),new EncryptionSource(),new NestedToken(),new KeyManagementSource(),];}}