vendor/symfony/dependency-injection/Argument/BoundArgument.php line 31

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the Symfony package.
  4.  *
  5.  * (c) Fabien Potencier <fabien@symfony.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Symfony\Component\DependencyInjection\Argument;
  11. /**
  12.  * @author Guilhem Niot <guilhem.niot@gmail.com>
  13.  */
  14. final class BoundArgument implements ArgumentInterface
  15. {
  16.     public const SERVICE_BINDING 0;
  17.     public const DEFAULTS_BINDING 1;
  18.     public const INSTANCEOF_BINDING 2;
  19.     private static $sequence 0;
  20.     private $value;
  21.     private $identifier;
  22.     private $used;
  23.     private $type;
  24.     private $file;
  25.     public function __construct($valuebool $trackUsage trueint $type 0string $file null)
  26.     {
  27.         $this->value $value;
  28.         if ($trackUsage) {
  29.             $this->identifier = ++self::$sequence;
  30.         } else {
  31.             $this->used true;
  32.         }
  33.         $this->type $type;
  34.         $this->file $file;
  35.     }
  36.     /**
  37.      * {@inheritdoc}
  38.      */
  39.     public function getValues(): array
  40.     {
  41.         return [$this->value$this->identifier$this->used$this->type$this->file];
  42.     }
  43.     /**
  44.      * {@inheritdoc}
  45.      */
  46.     public function setValues(array $values)
  47.     {
  48.         if (=== \count($values)) {
  49.             [$this->value$this->identifier$this->used$this->type$this->file] = $values;
  50.         } else {
  51.             [$this->value$this->identifier$this->used] = $values;
  52.         }
  53.     }
  54. }