MergeableClassMetadata::merge()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 3.0123

Importance

Changes 0
Metric Value
cc 3
eloc 8
nc 3
nop 1
dl 0
loc 13
ccs 8
cts 9
cp 0.8889
crap 3.0123
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Metadata;
6
7
class MergeableClassMetadata extends ClassMetadata implements MergeableInterface
8
{
9 3
    public function merge(MergeableInterface $object): void
10
    {
11 3
        if (!$object instanceof MergeableClassMetadata) {
12
            throw new \InvalidArgumentException('$object must be an instance of MergeableClassMetadata.');
13
        }
14
15 3
        $this->name = $object->name;
16 3
        $this->methodMetadata = array_merge($this->methodMetadata, $object->methodMetadata);
17 3
        $this->propertyMetadata = array_merge($this->propertyMetadata, $object->propertyMetadata);
18 3
        $this->fileResources = array_merge($this->fileResources, $object->fileResources);
19
20 3
        if ($object->createdAt < $this->createdAt) {
21 1
            $this->createdAt = $object->createdAt;
22
        }
23 3
    }
24
}
25