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