| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | 
							- <?php
 
- /*
 
-  * This file is part of the Symfony package.
 
-  *
 
-  * (c) Fabien Potencier <fabien@symfony.com>
 
-  *
 
-  * For the full copyright and license information, please view the LICENSE
 
-  * file that was distributed with this source code.
 
-  */
 
- namespace Symfony\Component\ExpressionLanguage\Node;
 
- use Symfony\Component\ExpressionLanguage\Compiler;
 
- /**
 
-  * @author Fabien Potencier <fabien@symfony.com>
 
-  *
 
-  * @internal
 
-  */
 
- class ConstantNode extends Node
 
- {
 
-     private $isIdentifier;
 
-     public function __construct($value, bool $isIdentifier = false)
 
-     {
 
-         $this->isIdentifier = $isIdentifier;
 
-         parent::__construct(
 
-             [],
 
-             ['value' => $value]
 
-         );
 
-     }
 
-     public function compile(Compiler $compiler)
 
-     {
 
-         $compiler->repr($this->attributes['value']);
 
-     }
 
-     public function evaluate(array $functions, array $values)
 
-     {
 
-         return $this->attributes['value'];
 
-     }
 
-     public function toArray()
 
-     {
 
-         $array = [];
 
-         $value = $this->attributes['value'];
 
-         if ($this->isIdentifier) {
 
-             $array[] = $value;
 
-         } elseif (true === $value) {
 
-             $array[] = 'true';
 
-         } elseif (false === $value) {
 
-             $array[] = 'false';
 
-         } elseif (null === $value) {
 
-             $array[] = 'null';
 
-         } elseif (is_numeric($value)) {
 
-             $array[] = $value;
 
-         } elseif (!\is_array($value)) {
 
-             $array[] = $this->dumpString($value);
 
-         } elseif ($this->isHash($value)) {
 
-             foreach ($value as $k => $v) {
 
-                 $array[] = ', ';
 
-                 $array[] = new self($k);
 
-                 $array[] = ': ';
 
-                 $array[] = new self($v);
 
-             }
 
-             $array[0] = '{';
 
-             $array[] = '}';
 
-         } else {
 
-             foreach ($value as $v) {
 
-                 $array[] = ', ';
 
-                 $array[] = new self($v);
 
-             }
 
-             $array[0] = '[';
 
-             $array[] = ']';
 
-         }
 
-         return $array;
 
-     }
 
- }
 
 
  |