Code Duplication    Length = 17-18 lines in 2 locations

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

@@ 2093-2109 (lines=17) @@
2090
     *
2091
     * @return \Doctrine\ORM\Query\AST\GeneralCaseExpression
2092
     */
2093
    public function GeneralCaseExpression()
2094
    {
2095
        $this->match(Lexer::T_CASE);
2096
2097
        // Process WhenClause (1..N)
2098
        $whenClauses = [];
2099
2100
        do {
2101
            $whenClauses[] = $this->WhenClause();
2102
        } while ($this->lexer->isNextToken(Lexer::T_WHEN));
2103
2104
        $this->match(Lexer::T_ELSE);
2105
        $scalarExpression = $this->ScalarExpression();
2106
        $this->match(Lexer::T_END);
2107
2108
        return new AST\GeneralCaseExpression($whenClauses, $scalarExpression);
2109
    }
2110
2111
    /**
2112
     * SimpleCaseExpression ::= "CASE" CaseOperand SimpleWhenClause {SimpleWhenClause}* "ELSE" ScalarExpression "END"
@@ 2117-2134 (lines=18) @@
2114
     *
2115
     * @return AST\SimpleCaseExpression
2116
     */
2117
    public function SimpleCaseExpression()
2118
    {
2119
        $this->match(Lexer::T_CASE);
2120
        $caseOperand = $this->StateFieldPathExpression();
2121
2122
        // Process SimpleWhenClause (1..N)
2123
        $simpleWhenClauses = [];
2124
2125
        do {
2126
            $simpleWhenClauses[] = $this->SimpleWhenClause();
2127
        } while ($this->lexer->isNextToken(Lexer::T_WHEN));
2128
2129
        $this->match(Lexer::T_ELSE);
2130
        $scalarExpression = $this->ScalarExpression();
2131
        $this->match(Lexer::T_END);
2132
2133
        return new AST\SimpleCaseExpression($caseOperand, $simpleWhenClauses, $scalarExpression);
2134
    }
2135
2136
    /**
2137
     * WhenClause ::= "WHEN" ConditionalExpression "THEN" ScalarExpression