Functions
9 months ago
ASTException.php
9 months ago
AggregateExpression.php
9 months ago
ArithmeticExpression.php
9 months ago
ArithmeticFactor.php
9 months ago
ArithmeticTerm.php
9 months ago
BetweenExpression.php
9 months ago
CoalesceExpression.php
9 months ago
CollectionMemberExpression.php
9 months ago
ComparisonExpression.php
9 months ago
ConditionalExpression.php
9 months ago
ConditionalFactor.php
9 months ago
ConditionalPrimary.php
9 months ago
ConditionalTerm.php
9 months ago
DeleteClause.php
9 months ago
DeleteStatement.php
9 months ago
EmptyCollectionComparisonExpression.php
9 months ago
ExistsExpression.php
9 months ago
FromClause.php
9 months ago
GeneralCaseExpression.php
9 months ago
GroupByClause.php
9 months ago
HavingClause.php
9 months ago
IdentificationVariableDeclaration.php
9 months ago
InExpression.php
9 months ago
InListExpression.php
9 months ago
InSubselectExpression.php
9 months ago
IndexBy.php
9 months ago
InputParameter.php
9 months ago
InstanceOfExpression.php
9 months ago
Join.php
9 months ago
JoinAssociationDeclaration.php
9 months ago
JoinAssociationPathExpression.php
9 months ago
JoinClassPathExpression.php
9 months ago
JoinVariableDeclaration.php
9 months ago
LikeExpression.php
9 months ago
Literal.php
9 months ago
NewObjectExpression.php
9 months ago
Node.php
9 months ago
NullComparisonExpression.php
9 months ago
NullIfExpression.php
9 months ago
OrderByClause.php
9 months ago
OrderByItem.php
9 months ago
ParenthesisExpression.php
9 months ago
PartialObjectExpression.php
9 months ago
PathExpression.php
9 months ago
Phase2OptimizableConditional.php
9 months ago
QuantifiedExpression.php
9 months ago
RangeVariableDeclaration.php
9 months ago
SelectClause.php
9 months ago
SelectExpression.php
9 months ago
SelectStatement.php
9 months ago
SimpleArithmeticExpression.php
9 months ago
SimpleCaseExpression.php
9 months ago
SimpleSelectClause.php
9 months ago
SimpleSelectExpression.php
9 months ago
SimpleWhenClause.php
9 months ago
Subselect.php
9 months ago
SubselectFromClause.php
9 months ago
SubselectIdentificationVariableDeclaration.php
9 months ago
TypedExpression.php
9 months ago
UpdateClause.php
9 months ago
UpdateItem.php
9 months ago
UpdateStatement.php
9 months ago
WhenClause.php
9 months ago
WhereClause.php
9 months ago
index.php
9 months ago
Node.php
54 lines
| 1 | <?php |
| 2 | declare (strict_types=1); |
| 3 | namespace MailPoetVendor\Doctrine\ORM\Query\AST; |
| 4 | if (!defined('ABSPATH')) exit; |
| 5 | use MailPoetVendor\Doctrine\ORM\Query\SqlWalker; |
| 6 | use function get_debug_type; |
| 7 | use function get_object_vars; |
| 8 | use function is_array; |
| 9 | use function is_object; |
| 10 | use function str_repeat; |
| 11 | use function var_export; |
| 12 | use const PHP_EOL; |
| 13 | abstract class Node |
| 14 | { |
| 15 | public function dispatch($walker) |
| 16 | { |
| 17 | throw ASTException::noDispatchForNode($this); |
| 18 | } |
| 19 | public function __toString() |
| 20 | { |
| 21 | return $this->dump($this); |
| 22 | } |
| 23 | public function dump($value) |
| 24 | { |
| 25 | static $ident = 0; |
| 26 | $str = ''; |
| 27 | if ($value instanceof Node) { |
| 28 | $str .= get_debug_type($value) . '(' . PHP_EOL; |
| 29 | $props = get_object_vars($value); |
| 30 | foreach ($props as $name => $prop) { |
| 31 | $ident += 4; |
| 32 | $str .= str_repeat(' ', $ident) . '"' . $name . '": ' . $this->dump($prop) . ',' . PHP_EOL; |
| 33 | $ident -= 4; |
| 34 | } |
| 35 | $str .= str_repeat(' ', $ident) . ')'; |
| 36 | } elseif (is_array($value)) { |
| 37 | $ident += 4; |
| 38 | $str .= 'array('; |
| 39 | $some = \false; |
| 40 | foreach ($value as $k => $v) { |
| 41 | $str .= PHP_EOL . str_repeat(' ', $ident) . '"' . $k . '" => ' . $this->dump($v) . ','; |
| 42 | $some = \true; |
| 43 | } |
| 44 | $ident -= 4; |
| 45 | $str .= ($some ? PHP_EOL . str_repeat(' ', $ident) : '') . ')'; |
| 46 | } elseif (is_object($value)) { |
| 47 | $str .= 'instanceof(' . get_debug_type($value) . ')'; |
| 48 | } else { |
| 49 | $str .= var_export($value, \true); |
| 50 | } |
| 51 | return $str; |
| 52 | } |
| 53 | } |
| 54 |