Code Duplication    Length = 10-10 lines in 3 locations

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

@@ 3417-3426 (lines=10) @@
3414
     *
3415
     * @return \Doctrine\ORM\Query\AST\Functions\FunctionNode
3416
     */
3417
    public function FunctionsReturningNumerics()
3418
    {
3419
        $funcNameLower = strtolower($this->lexer->lookahead['value']);
3420
        $funcClass     = self::$_NUMERIC_FUNCTIONS[$funcNameLower];
3421
3422
        $function = new $funcClass($funcNameLower);
3423
        $function->parse($this);
3424
3425
        return $function;
3426
    }
3427
3428
    /**
3429
     * @return \Doctrine\ORM\Query\AST\Functions\FunctionNode
@@ 3456-3465 (lines=10) @@
3453
     *
3454
     * @return \Doctrine\ORM\Query\AST\Functions\FunctionNode
3455
     */
3456
    public function FunctionsReturningDatetime()
3457
    {
3458
        $funcNameLower = strtolower($this->lexer->lookahead['value']);
3459
        $funcClass     = self::$_DATETIME_FUNCTIONS[$funcNameLower];
3460
3461
        $function = new $funcClass($funcNameLower);
3462
        $function->parse($this);
3463
3464
        return $function;
3465
    }
3466
3467
    /**
3468
     * @return \Doctrine\ORM\Query\AST\Functions\FunctionNode
@@ 3496-3505 (lines=10) @@
3493
     *
3494
     * @return \Doctrine\ORM\Query\AST\Functions\FunctionNode
3495
     */
3496
    public function FunctionsReturningStrings()
3497
    {
3498
        $funcNameLower = strtolower($this->lexer->lookahead['value']);
3499
        $funcClass     = self::$_STRING_FUNCTIONS[$funcNameLower];
3500
3501
        $function = new $funcClass($funcNameLower);
3502
        $function->parse($this);
3503
3504
        return $function;
3505
    }
3506
3507
    /**
3508
     * @return \Doctrine\ORM\Query\AST\Functions\FunctionNode