MergeableClassMetadata.php 837B

1234567891011121314151617181920212223
  1. <?php
  2. namespace Metadata;
  3. class MergeableClassMetadata extends ClassMetadata implements MergeableInterface
  4. {
  5. public function merge(MergeableInterface $object)
  6. {
  7. if (!$object instanceof MergeableClassMetadata) {
  8. throw new \InvalidArgumentException('$object must be an instance of MergeableClassMetadata.');
  9. }
  10. $this->name = $object->name;
  11. $this->reflection = $object->reflection;
  12. $this->methodMetadata = array_merge($this->methodMetadata, $object->methodMetadata);
  13. $this->propertyMetadata = array_merge($this->propertyMetadata, $object->propertyMetadata);
  14. $this->fileResources = array_merge($this->fileResources, $object->fileResources);
  15. if ($object->createdAt < $this->createdAt) {
  16. $this->createdAt = $object->createdAt;
  17. }
  18. }
  19. }