1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
<?php
declare(strict_types=1);
namespace Doctrine\ORM\Query\AST;
use Doctrine\Deprecations\Deprecation;
use function func_num_args;
/**
* InstanceOfExpression ::= IdentificationVariable ["NOT"] "INSTANCE" ["OF"] (InstanceOfParameter | "(" InstanceOfParameter {"," InstanceOfParameter}* ")")
* InstanceOfParameter ::= AbstractSchemaName | InputParameter
*
* @link www.doctrine-project.org
*/
class InstanceOfExpression extends Node
{
/** @var bool */
public $not;
/** @var string */
public $identificationVariable;
/** @var non-empty-list<InputParameter|string> */
public $value;
/**
* @param string $identVariable
* @param non-empty-list<InputParameter|string> $value
*/
public function __construct($identVariable, array $value = [], bool $not = false)
{
if (func_num_args() < 2) {
Deprecation::trigger(
'doctrine/orm',
'https://github.com/doctrine/orm/pull/10267',
'Not passing a value for $value to %s() is deprecated.',
__METHOD__
);
}
$this->identificationVariable = $identVariable;
$this->value = $value;
$this->not = $not;
}
/**
* {@inheritdoc}
*/
public function dispatch($sqlWalker)
{
return $sqlWalker->walkInstanceOfExpression($this);
}
}
|