. */ namespace Doctrine\ORM\Query\AST; /** * IdentificationVariableDeclaration ::= RangeVariableDeclaration [IndexBy] {JoinVariableDeclaration}* * * @link www.doctrine-project.org * @since 2.0 * @author Guilherme Blanco * @author Jonathan Wage * @author Roman Borschel */ class IdentificationVariableDeclaration extends Node { /** * @var RangeVariableDeclaration|null */ public $rangeVariableDeclaration = null; /** * @var IndexBy|null */ public $indexBy = null; /** * @var array */ public $joins = array(); /** * @param RangeVariableDeclaration|null $rangeVariableDecl * @param IndexBy|null $indexBy * @param array $joins */ public function __construct($rangeVariableDecl, $indexBy, array $joins) { $this->rangeVariableDeclaration = $rangeVariableDecl; $this->indexBy = $indexBy; $this->joins = $joins; } /** * {@inheritdoc} */ public function dispatch($sqlWalker) { return $sqlWalker->walkIdentificationVariableDeclaration($this); } }