Doctrine\ORM\Query\Parser::ConditionalFactor PHP Method

ConditionalFactor() public method

ConditionalFactor ::= ["NOT"] ConditionalPrimary
public ConditionalFactor ( ) : Doctrine\ORM\Query\AST\ConditionalFactor
return Doctrine\ORM\Query\AST\ConditionalFactor
    public function ConditionalFactor()
    {
        $not = false;

        if ($this->_lexer->isNextToken(Lexer::T_NOT)) {
            $this->match(Lexer::T_NOT);
            $not = true;
        }
        
        $conditionalPrimary = $this->ConditionalPrimary();

        // Phase 1 AST optimization: Prevent AST\ConditionalFactor
        // if only one AST\ConditionalPrimary is defined
        if ( ! $not) {
            return $conditionalPrimary;
        }

        $conditionalFactor = new AST\ConditionalFactor($conditionalPrimary);
        $conditionalFactor->not = $not;

        return $conditionalFactor;
    }
Parser