Code Duplication    Length = 27-28 lines in 2 locations

src/DQL/Datetime/DateFormat.php 1 location

@@ 13-40 (lines=28) @@
10
/**
11
 * DateFunction ::= "DATE_FORMAT" "(" ArithmeticPrimary "," StringPrimary ")"
12
 */
13
class DateFormat extends FunctionNode
14
{
15
    public $dateExpression;
16
    public $dateFormat;
17
18
    public function parse(Parser $parser)
19
    {
20
        $parser->match(Lexer::T_IDENTIFIER);
21
        $parser->match(Lexer::T_OPEN_PARENTHESIS);
22
23
        $this->dateExpression = $parser->ArithmeticPrimary();
24
        $parser->match(Lexer::T_COMMA);
25
26
        $this->dateFormat = $parser->StringPrimary();
27
28
        $parser->match(Lexer::T_CLOSE_PARENTHESIS);
29
    }
30
31
    public function getSql(SqlWalker $sqlWalker)
32
    {
33
        $parts = array(
34
            $sqlWalker->walkArithmeticPrimary($this->dateExpression),
35
            $sqlWalker->walkStringPrimary($this->dateFormat)
36
        );
37
38
        return sprintf('DATE_FORMAT(%s)', implode(', ', $parts));
39
    }
40
}
41

src/DQL/Datetime/FromUnixtime.php 1 location

@@ 13-39 (lines=27) @@
10
/**
11
 * DateFunction ::= "FROM_UNIXTIME" "(" ArithmeticPrimary "," StringPrimary ")"
12
 */
13
class FromUnixtime extends FunctionNode
14
{
15
    public $dateExpression;
16
    public $dateFormat;
17
18
    public function parse(Parser $parser)
19
    {
20
        $parser->match(Lexer::T_IDENTIFIER);
21
        $parser->match(Lexer::T_OPEN_PARENTHESIS);
22
23
        $this->dateExpression = $parser->ArithmeticPrimary();
24
        $parser->match(Lexer::T_COMMA);
25
        $this->dateFormat = $parser->StringPrimary();
26
27
        $parser->match(Lexer::T_CLOSE_PARENTHESIS);
28
    }
29
30
    public function getSql(SqlWalker $sqlWalker)
31
    {
32
        $parts = array(
33
            $sqlWalker->walkArithmeticPrimary($this->dateExpression),
34
            $sqlWalker->walkStringPrimary($this->dateFormat)
35
        );
36
37
        return sprintf('FROM_UNIXTIME(%s)', implode(', ', $parts));
38
    }
39
}
40