Completed
Pull Request — master (#35)
by Saif Eddin
02:55 queued 38s
created

ArrayItemPrinter   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Test Coverage

Coverage 46.15%

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 5
dl 0
loc 30
ccs 6
cts 13
cp 0.4615
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getType() 0 4 1
A convert() 0 14 3
1
<?php
2
3
namespace PhpToZephir\Converter\Printer\Expr;
4
5
use PhpParser\Node\Expr;
6
use PhpToZephir\Converter\SimplePrinter;
7
8
class ArrayItemPrinter extends SimplePrinter
9
{
10
    /**
11
     * @return string
12
     */
13 1
    public static function getType()
14
    {
15 1
        return 'pExpr_ArrayItem';
16
    }
17
18
    /**
19
     * @param Expr\ArrayItem $node
20
     *
21
     * @return string
22
     */
23 29
    public function convert(Expr\ArrayItem $node)
24
    {
25 29
        if ($node->byRef) {
26
            $this->logger->logIncompatibility(
27
                'reference',
28
                'Reference not supported',
29
                $node,
30
                $this->dispatcher->getMetadata()->getClass()
31
            );
32
        }
33
34 29
        return (null !== $node->key ? $this->dispatcher->p($node->key).' : ' : '')
35 29
             .$this->dispatcher->p($node->value);
36
    }
37
}
38