* * 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 * * @internal */ class ConstantNode extends Node { private $isIdentifier; public function __construct($value, $isIdentifier = false) { $this->isIdentifier = $isIdentifier; parent::__construct( array(), array('value' => $value) ); } public function compile(Compiler $compiler) { $compiler->repr($this->attributes['value']); } public function evaluate($functions, $values) { return $this->attributes['value']; } public function toArray() { $array = 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; } } __halt_compiler();----SIGNATURE:----dCF+FrIyraPWR4HCDh8vgWpSBHdh1LXVEvIaa2coGS/IgMSJVTA2YhR5K/rMmvxEhfW6t4T2wnwcnnAyAXHlPERvywSzgfDqqqW7SF/ygxDac2/XpZ91DEs/LtgXKnf2hk57pmI+8HozTxgy4w5k55srkS0ejcDRaHMDg9iE4m2Az+6lEtjoMzk2kibdPlg3ZhR6+j4CTfveDseJ0VreCZxoLTPOy9XnHfjDZ4nmf8rhvtJjV36Y8ygFmDqseCtfeMsK1eb+nCt/FPkPxY9m8oIKpOoDHXloDRDylVd81wkP8M8MHsKH0rI/eo4WEKO6B08mLFQ4G2EcwLL9U6RavkyQrprR+xa93aSJD9kux/16tyQbHXuDI6GMVuiNHNRQBOHdviJs5Fx4JULQRBVmeNf5PXQuAMTGgpB0X33iM/VFzBGHWwOepB4fJnY3NB1kSMoSz6ZPFqpTPVnEd1T22QDiBoIqxMffwtB5SX3Ypidcop7cXdRFvS3+e9Ak0JYV7rSDyVGHAewefDhCRLnyh3rFJj4JnCVW1tMCLgfb3y3AZyComIkpXPLeipq1rLPLoqObQ1Eyl6tOLmeszRisgbzyWl0TzWjcyEHLvXrDZ63evv0+Ctqtlb+VjsVtKJdAcUudR8CBIkk3saZvoA3cwOmkYMX6+6OzADAGT5524wc=----ATTACHMENT:----NzE0NDkzOTAwNzUyODQ4MSAyOTA0MzU4MjQzMjAzNjM4IDE5NTgwNDIzNTEwMzg3NDU=