Passed
Push — master ( 22d357...2883c4 )
by Christoffer
02:52
created

NonNullTypeNode   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 35
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __toString() 0 3 1
A __construct() 0 5 1
A toAST() 0 6 1
1
<?php
2
3
namespace Digia\GraphQL\Language\Node;
4
5
use Digia\GraphQL\Language\Location;
6
7
class NonNullTypeNode extends AbstractNode implements TypeNodeInterface
8
{
9
    use TypeTrait;
10
11
    /**
12
     * NonNullTypeNode constructor.
13
     *
14
     * @param TypeNodeInterface $type
15
     * @param Location|null     $location
16
     */
17
    public function __construct(TypeNodeInterface $type, ?Location $location)
18
    {
19
        parent::__construct(NodeKindEnum::NON_NULL_TYPE, $location);
20
21
        $this->type = $type;
22
    }
23
24
    /**
25
     * @inheritdoc
26
     */
27
    public function toAST(): array
28
    {
29
        return [
30
            'kind' => $this->kind,
31
            'type' => $this->getTypeAST(),
32
            'loc'  => $this->getLocationAST(),
33
        ];
34
    }
35
36
    /**
37
     * @inheritdoc
38
     */
39
    public function __toString(): string
40
    {
41
        return (string)$this->type . '!';
42
    }
43
}
44