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