Completed
Push — master ( 0bd9e0...e9abec )
by Christoffer
01:59
created

DirectiveWriter::supportsWriter()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Digia\GraphQL\Language\Writer;
4
5
use Digia\GraphQL\Language\AST\Node\DirectiveNode;
6
use Digia\GraphQL\Language\AST\Node\NodeInterface;
7
use function Digia\GraphQL\Language\wrap;
8
9
class DirectiveWriter extends AbstractWriter
10
{
11
    /**
12
     * @param NodeInterface|DirectiveNode $node
13
     * @inheritdoc
14
     */
15
    public function write(NodeInterface $node): string
16
    {
17
        $name      = $this->printNode($node->getName());
0 ignored issues
show
Bug introduced by
The method getName() does not exist on Digia\GraphQL\Language\AST\Node\NodeInterface. It seems like you code against a sub-type of Digia\GraphQL\Language\AST\Node\NodeInterface such as Digia\GraphQL\Language\AST\Node\DirectiveNode or Digia\GraphQL\Language\AST\Node\ArgumentNode or Digia\GraphQL\Language\AST\Node\ObjectFieldNode or Digia\GraphQL\Language\AST\Node\FragmentSpreadNode or Digia\GraphQL\Language\A...\EnumTypeDefinitionNode or Digia\GraphQL\Language\A...EnumValueDefinitionNode or Digia\GraphQL\Language\A...DirectiveDefinitionNode or Digia\GraphQL\Language\A...nputValueDefinitionNode or Digia\GraphQL\Language\A...ode\FieldDefinitionNode or Digia\GraphQL\Language\A...\VariableDefinitionNode or Digia\GraphQL\Language\A...DefinitionNodeInterface or Digia\GraphQL\Language\A...OperationDefinitionNode or Digia\GraphQL\Language\A...\FragmentDefinitionNode or Digia\GraphQL\Language\A...erfaceTypeExtensionNode or Digia\GraphQL\Language\A...ScalarTypeExtensionNode or Digia\GraphQL\Language\A...\UnionTypeExtensionNode or Digia\GraphQL\Language\A...ObjectTypeExtensionNode or Digia\GraphQL\Language\A...e\EnumTypeExtensionNode or Digia\GraphQL\Language\A...ObjectTypeExtensionNode or Digia\GraphQL\Language\AST\Node\VariableNode or Digia\GraphQL\Language\AST\Node\FieldNode or Digia\GraphQL\Language\AST\Node\NamedTypeNode. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

17
        $name      = $this->printNode($node->/** @scrutinizer ignore-call */ getName());
Loading history...
18
        $arguments = $this->printNodes($node->getArguments());
0 ignored issues
show
Bug introduced by
The method getArguments() does not exist on Digia\GraphQL\Language\AST\Node\NodeInterface. It seems like you code against a sub-type of Digia\GraphQL\Language\AST\Node\NodeInterface such as Digia\GraphQL\Language\AST\Node\DirectiveNode or Digia\GraphQL\Language\A...DirectiveDefinitionNode or Digia\GraphQL\Language\A...ode\FieldDefinitionNode or Digia\GraphQL\Language\AST\Node\FieldNode. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

18
        $arguments = $this->printNodes($node->/** @scrutinizer ignore-call */ getArguments());
Loading history...
19
20
        return '@' . $name . wrap('(', implode(', ', $arguments), ')');
21
    }
22
23
    /**
24
     * @inheritdoc
25
     */
26
    public function supportsWriter(NodeInterface $node): bool
27
    {
28
        return $node instanceof DirectiveNode;
29
    }
30
}
31