MergeableClassMetadata   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Test Coverage

Coverage 88.89%

Importance

Changes 0
Metric Value
eloc 9
dl 0
loc 15
ccs 8
cts 9
cp 0.8889
rs 10
c 0
b 0
f 0
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A merge() 0 13 3
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