Code Duplication    Length = 19-24 lines in 2 locations

lib/Doctrine/ORM/Query/Parser.php 2 locations

@@ 2616-2639 (lines=24) @@
2613
     *
2614
     * @return \Doctrine\ORM\Query\AST\CollectionMemberExpression
2615
     */
2616
    public function CollectionMemberExpression()
2617
    {
2618
        $not        = false;
2619
        $entityExpr = $this->EntityExpression();
2620
2621
        if ($this->lexer->isNextToken(Lexer::T_NOT)) {
2622
            $this->match(Lexer::T_NOT);
2623
2624
            $not = true;
2625
        }
2626
2627
        $this->match(Lexer::T_MEMBER);
2628
2629
        if ($this->lexer->isNextToken(Lexer::T_OF)) {
2630
            $this->match(Lexer::T_OF);
2631
        }
2632
2633
        $collMemberExpr = new AST\CollectionMemberExpression(
2634
            $entityExpr, $this->CollectionValuedPathExpression()
2635
        );
2636
        $collMemberExpr->not = $not;
2637
2638
        return $collMemberExpr;
2639
    }
2640
2641
    /**
2642
     * Literal ::= string | char | integer | float | boolean
@@ 3275-3293 (lines=19) @@
3272
     *
3273
     * @return \Doctrine\ORM\Query\AST\ExistsExpression
3274
     */
3275
    public function ExistsExpression()
3276
    {
3277
        $not = false;
3278
3279
        if ($this->lexer->isNextToken(Lexer::T_NOT)) {
3280
            $this->match(Lexer::T_NOT);
3281
            $not = true;
3282
        }
3283
3284
        $this->match(Lexer::T_EXISTS);
3285
        $this->match(Lexer::T_OPEN_PARENTHESIS);
3286
3287
        $existsExpression = new AST\ExistsExpression($this->Subselect());
3288
        $existsExpression->not = $not;
3289
3290
        $this->match(Lexer::T_CLOSE_PARENTHESIS);
3291
3292
        return $existsExpression;
3293
    }
3294
3295
    /**
3296
     * ComparisonOperator ::= "=" | "<" | "<=" | "<>" | ">" | ">=" | "!="