X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fsymfony%2Fexpression-language%2FNode%2FGetAttrNode.php;fp=vendor%2Fsymfony%2Fexpression-language%2FNode%2FGetAttrNode.php;h=0000000000000000000000000000000000000000;hp=ae22deb8a0faeacd8590c7586192984d8288fbcd;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hpb=aea91e65e895364e460983b890e295aa5d5540a5 diff --git a/vendor/symfony/expression-language/Node/GetAttrNode.php b/vendor/symfony/expression-language/Node/GetAttrNode.php deleted file mode 100644 index ae22deb8a..000000000 --- a/vendor/symfony/expression-language/Node/GetAttrNode.php +++ /dev/null @@ -1,97 +0,0 @@ - - * - * 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 GetAttrNode extends Node -{ - const PROPERTY_CALL = 1; - const METHOD_CALL = 2; - const ARRAY_CALL = 3; - - public function __construct(Node $node, Node $attribute, ArrayNode $arguments, $type) - { - parent::__construct( - array('node' => $node, 'attribute' => $attribute, 'arguments' => $arguments), - array('type' => $type) - ); - } - - public function compile(Compiler $compiler) - { - switch ($this->attributes['type']) { - case self::PROPERTY_CALL: - $compiler - ->compile($this->nodes['node']) - ->raw('->') - ->raw($this->nodes['attribute']->attributes['value']) - ; - break; - - case self::METHOD_CALL: - $compiler - ->compile($this->nodes['node']) - ->raw('->') - ->raw($this->nodes['attribute']->attributes['value']) - ->raw('(') - ->compile($this->nodes['arguments']) - ->raw(')') - ; - break; - - case self::ARRAY_CALL: - $compiler - ->compile($this->nodes['node']) - ->raw('[') - ->compile($this->nodes['attribute'])->raw(']') - ; - break; - } - } - - public function evaluate($functions, $values) - { - switch ($this->attributes['type']) { - case self::PROPERTY_CALL: - $obj = $this->nodes['node']->evaluate($functions, $values); - if (!is_object($obj)) { - throw new \RuntimeException('Unable to get a property on a non-object.'); - } - - $property = $this->nodes['attribute']->attributes['value']; - - return $obj->$property; - - case self::METHOD_CALL: - $obj = $this->nodes['node']->evaluate($functions, $values); - if (!is_object($obj)) { - throw new \RuntimeException('Unable to get a property on a non-object.'); - } - - return call_user_func_array(array($obj, $this->nodes['attribute']->attributes['value']), $this->nodes['arguments']->evaluate($functions, $values)); - - case self::ARRAY_CALL: - $array = $this->nodes['node']->evaluate($functions, $values); - if (!is_array($array) && !$array instanceof \ArrayAccess) { - throw new \RuntimeException('Unable to get an item on a non-array.'); - } - - return $array[$this->nodes['attribute']->evaluate($functions, $values)]; - } - } -}