private function CheckExceptionOnInvalidReferenceBehaviorPass::processReferences

1 call to CheckExceptionOnInvalidReferenceBehaviorPass::processReferences()
CheckExceptionOnInvalidReferenceBehaviorPass::processDefinition in drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php

File

drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php, line 48

Class

CheckExceptionOnInvalidReferenceBehaviorPass
Checks that all references are pointing to a valid service.

Namespace

Symfony\Component\DependencyInjection\Compiler

Code

private function processReferences(array $arguments) {
  foreach ($arguments as $argument) {
    if (is_array($argument)) {
      $this
        ->processReferences($argument);
    }
    elseif ($argument instanceof Definition) {
      $this
        ->processDefinition($argument);
    }
    elseif ($argument instanceof Reference && ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE === $argument
      ->getInvalidBehavior()) {
      $destId = (string) $argument;
      if (!$this->container
        ->has($destId)) {
        throw new ServiceNotFoundException($destId, $this->sourceId);
      }
    }
  }
}