aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/vendor/symfony/expression-language/Node/GetAttrNode.php
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-07-27 10:05:23 +0200
committerCharles Cabergs <me@cacharle.xyz>2020-07-27 10:05:23 +0200
commit5bf66662a9bdd62c5bccab15e607cd95cfb8fcab (patch)
tree39a1a4629749056191c05dfd899f931701b7acf3 /srcs/phpmyadmin/vendor/symfony/expression-language/Node/GetAttrNode.php
parent5afd237bbd22028b85532b8c0b3fcead49a00764 (diff)
downloadft_server-5bf66662a9bdd62c5bccab15e607cd95cfb8fcab.tar.gz
ft_server-5bf66662a9bdd62c5bccab15e607cd95cfb8fcab.tar.bz2
ft_server-5bf66662a9bdd62c5bccab15e607cd95cfb8fcab.zip
Removed wordpress and phpmyadmin, my server doesn't handle it well and it brings shame on my famillyHEADmaster
Diffstat (limited to 'srcs/phpmyadmin/vendor/symfony/expression-language/Node/GetAttrNode.php')
-rw-r--r--srcs/phpmyadmin/vendor/symfony/expression-language/Node/GetAttrNode.php114
1 files changed, 0 insertions, 114 deletions
diff --git a/srcs/phpmyadmin/vendor/symfony/expression-language/Node/GetAttrNode.php b/srcs/phpmyadmin/vendor/symfony/expression-language/Node/GetAttrNode.php
deleted file mode 100644
index a28b596..0000000
--- a/srcs/phpmyadmin/vendor/symfony/expression-language/Node/GetAttrNode.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?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 GetAttrNode extends Node
-{
- const PROPERTY_CALL = 1;
- const METHOD_CALL = 2;
- const ARRAY_CALL = 3;
-
- public function __construct(Node $node, Node $attribute, ArrayNode $arguments, int $type)
- {
- parent::__construct(
- ['node' => $node, 'attribute' => $attribute, 'arguments' => $arguments],
- ['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.');
- }
- if (!\is_callable($toCall = [$obj, $this->nodes['attribute']->attributes['value']])) {
- throw new \RuntimeException(sprintf('Unable to call method "%s" of object "%s".', $this->nodes['attribute']->attributes['value'], \get_class($obj)));
- }
-
- return $toCall(...array_values($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)];
- }
- }
-
- public function toArray()
- {
- switch ($this->attributes['type']) {
- case self::PROPERTY_CALL:
- return [$this->nodes['node'], '.', $this->nodes['attribute']];
-
- case self::METHOD_CALL:
- return [$this->nodes['node'], '.', $this->nodes['attribute'], '(', $this->nodes['arguments'], ')'];
-
- case self::ARRAY_CALL:
- return [$this->nodes['node'], '[', $this->nodes['attribute'], ']'];
- }
- }
-}