AbstractComparisonRqlNodeParser   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 3
dl 0
loc 27
ccs 10
cts 10
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A parse() 0 13 1
A supports() 0 4 1
1
<?php
2
namespace Xiag\Rql\Parser\NodeParser\Query\ComparisonOperator;
3
4
use Xiag\Rql\Parser\Token;
5
use Xiag\Rql\Parser\TokenStream;
6
use Xiag\Rql\Parser\NodeParser\Query\AbstractComparisonOperatorNodeParser;
7
8
abstract class AbstractComparisonRqlNodeParser extends AbstractComparisonOperatorNodeParser
9
{
10
    /**
11
     * @inheritdoc
12
     */
13 51
    public function parse(TokenStream $tokenStream)
14
    {
15 51
        $tokenStream->expect(Token::T_OPERATOR, $this->getOperatorName());
16 51
        $tokenStream->expect(Token::T_OPEN_PARENTHESIS);
17
18 51
        $field = $this->fieldNameParser->parse($tokenStream);
19 51
        $tokenStream->expect(Token::T_COMMA);
20 51
        $value = $this->valueParser->parse($tokenStream);
21
22 45
        $tokenStream->expect(Token::T_CLOSE_PARENTHESIS);
23
24 45
        return $this->createNode($field, $value);
25
    }
26
27
    /**
28
     * @inheritdoc
29
     */
30 64
    public function supports(TokenStream $tokenStream)
31
    {
32 64
        return $tokenStream->test(Token::T_OPERATOR, $this->getOperatorName());
33
    }
34
}
35