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
|
<?php
declare(strict_types=1);
namespace Doctrine\ORM\Query\AST;
use Doctrine\Deprecations\Deprecation;
/**
* InExpression ::= ArithmeticExpression ["NOT"] "IN" "(" (Literal {"," Literal}* | Subselect) ")"
*
* @deprecated Use {@see InListExpression} or {@see InSubselectExpression} instead.
*/
class InExpression extends Node
{
/** @var bool */
public $not;
/** @var ArithmeticExpression */
public $expression;
/** @var mixed[] */
public $literals = [];
/** @var Subselect|null */
public $subselect;
/** @param ArithmeticExpression $expression */
public function __construct($expression)
{
if (! $this instanceof InListExpression && ! $this instanceof InSubselectExpression) {
Deprecation::trigger(
'doctrine/orm',
'https://github.com/doctrine/orm/pull/10267',
'%s is deprecated, use %s or %s instead.',
self::class,
InListExpression::class,
InSubselectExpression::class
);
}
$this->expression = $expression;
}
/**
* {@inheritdoc}
*/
public function dispatch($sqlWalker)
{
// We still call the deprecated method in order to not break existing custom SQL walkers.
return $sqlWalker->walkInExpression($this);
}
}
|