Completed
Pull Request — master (#51)
by Christoffer
02:02
created

InlineFragmentWriter::write()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 1
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace Digia\GraphQL\Language\Writer;
4
5
use Digia\GraphQL\Language\AST\Node\InlineFragmentNode;
6
use Digia\GraphQL\Language\AST\Node\NodeInterface;
7
use function Digia\GraphQL\Language\wrap;
8
9
class InlineFragmentWriter extends AbstractWriter
10
{
11
    /**
12
     * @param NodeInterface|InlineFragmentNode $node
13
     * @inheritdoc
14
     */
15
    public function write(NodeInterface $node): string
16
    {
17
        $typeCondition = $this->printNode($node->getTypeCondition());
0 ignored issues
show
Bug introduced by
The method getTypeCondition() 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\InlineFragmentNode or Digia\GraphQL\Language\A...\FragmentDefinitionNode. ( Ignorable by Annotation )

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

17
        $typeCondition = $this->printNode($node->/** @scrutinizer ignore-call */ getTypeCondition());
Loading history...
18
        $directives    = $this->printNodes($node->getDirectives());
0 ignored issues
show
Bug introduced by
The method getDirectives() 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\FragmentSpreadNode or Digia\GraphQL\Language\AST\Node\InlineFragmentNode or Digia\GraphQL\Language\A...\EnumTypeDefinitionNode or Digia\GraphQL\Language\A...EnumValueDefinitionNode or Digia\GraphQL\Language\A...nputValueDefinitionNode or Digia\GraphQL\Language\A...ode\FieldDefinitionNode or Digia\GraphQL\Language\A...de\SchemaDefinitionNode or Digia\GraphQL\Language\A...UnionTypeDefinitionNode or Digia\GraphQL\Language\A...bjectTypeDefinitionNode or Digia\GraphQL\Language\A...rfaceTypeDefinitionNode or Digia\GraphQL\Language\A...bjectTypeDefinitionNode or Digia\GraphQL\Language\A...calarTypeDefinitionNode 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\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
        $directives    = $this->printNodes($node->/** @scrutinizer ignore-call */ getDirectives());
Loading history...
19
        $selectionSet  = $this->printNode($node->getSelectionSet());
0 ignored issues
show
Bug introduced by
The method getSelectionSet() 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\FragmentSpreadNode or Digia\GraphQL\Language\AST\Node\InlineFragmentNode or Digia\GraphQL\Language\A...OperationDefinitionNode or Digia\GraphQL\Language\A...\FragmentDefinitionNode 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

19
        $selectionSet  = $this->printNode($node->/** @scrutinizer ignore-call */ getSelectionSet());
Loading history...
20
21
        return implode(' ', ['...', wrap('on ', $typeCondition), implode(' ', $directives), $selectionSet]);
22
    }
23
24
    /**
25
     * @inheritdoc
26
     */
27
    public function supportsWriter(NodeInterface $node): bool
28
    {
29
        return $node instanceof InlineFragmentNode;
30
    }
31
}
32