Failed Conditions
Pull Request — master (#247)
by Michael
05:15
created

InternalAnnotations::getNames()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 6
ccs 0
cts 5
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Doctrine\Annotations\Metadata;
6
7
use Doctrine\Annotations\Annotation\Attribute;
8
use Doctrine\Annotations\Annotation\Attributes;
9
use Doctrine\Annotations\Annotation\Enum;
10
use Doctrine\Annotations\Annotation\IgnoreAnnotation;
11
use Doctrine\Annotations\Annotation\Required;
12
use Doctrine\Annotations\Annotation\Target;
13
14
/**
15
 * @internal
16
 */
17
final class InternalAnnotations
18
{
19
    /**
20
     * @return string[]
21
     */
22
    public static function getNames() : iterable
23
    {
24
        yield Enum::class;
0 ignored issues
show
Bug Best Practice introduced by
The expression yield Doctrine\Annotations\Annotation\Enum::class returns the type Generator which is incompatible with the documented return type string[].
Loading history...
25
        yield IgnoreAnnotation::class;
26
        yield Required::class;
27
        yield Target::class;
28
    }
29
30 290
    public static function createMetadata() : MetadataCollection
31
    {
32 290
        return new MetadataCollection(
33 290
            new AnnotationMetadata(
34 290
                Attribute::class,
35 290
                AnnotationTarget::annotation(),
36 290
                false,
37 290
                new PropertyMetadata(
38 290
                    'name',
39 290
                    ['type' => 'string'],
40 290
                    true,
41 290
                    true
42
                ),
43 290
                new PropertyMetadata(
44 290
                    'type',
45 290
                    ['type' => 'string'],
46 290
                    true
47
                ),
48 290
                new PropertyMetadata(
49 290
                    'required',
50 290
                    ['type' => 'boolean']
51
                )
52
            ),
53 290
            new AnnotationMetadata(
54 290
                Attributes::class,
55 290
                AnnotationTarget::class(),
56 290
                false,
57 290
                new PropertyMetadata(
58 290
                    'value',
59
                    [
60 290
                        'type'       => 'array',
61
                        'array_type' =>'Doctrine\Annotations\Annotation\Attribute',
62
                        'value'      =>'array<Doctrine\Annotations\Annotation\Attribute>',
63
                    ],
64 290
                    true,
65 290
                    true
66
                )
67
            ),
68 290
            new AnnotationMetadata(
69 290
                Enum::class,
70 290
                AnnotationTarget::property(),
71 290
                true,
72 290
                new PropertyMetadata(
73 290
                    'value',
74 290
                    ['type' => 'array'],
75 290
                    true,
76 290
                    true
77
                ),
78 290
                new PropertyMetadata(
79 290
                    'literal',
80 290
                    ['type' => 'array']
81
                )
82
            ),
83 290
            new AnnotationMetadata(
84 290
                Target::class,
85 290
                AnnotationTarget::class(),
86 290
                true,
87 290
                new PropertyMetadata(
88 290
                    'value',
89
                    [
90 290
                        'type'      =>'array',
91
                        'array_type'=>'string',
92
                        'value'     =>'array<string>',
93
                    ],
94 290
                    false,
95 290
                    true
96
                )
97
            )
98
        );
99
    }
100
}
101