/** * @depends can_set_isMappedSuperclass * @test */ function can_clear_isMappedSuperclass() { $this->metadata->clearIsMappedSuperclass(); $this->assertFalse($this->metadata->isMappedSuperclass()); $this->assertEquals(0, $this->metadata->attributes & ClassMetadata::CA_TYPE_MAPPED_SUPERCLASS); }
/** * Detects instances of ClassMetadata that don't need to be processed in the SchemaTool context. * * @param ClassMetadata $class * @param array $processedClasses * * @return bool */ private function processingNotRequired($class, array $processedClasses) { return isset($processedClasses[$class->name]) || $class->isMappedSuperclass(); }
/** * Adds inherited fields to the subclass mapping. * * @param ClassMetadata $subClass * @param ClassMetadata $parentClass */ private function addInheritedFields(ClassMetadata $subClass, ClassMetadata $parentClass) { foreach ($parentClass->fieldMappings as $fieldName => $mapping) { if (!isset($mapping['inherited']) && !$parentClass->isMappedSuperclass()) { $mapping['inherited'] = $parentClass->name; } if (!isset($mapping['declared'])) { $mapping['declared'] = $parentClass->name; } $subClass->addInheritedFieldMapping($mapping); } foreach ($parentClass->reflFields as $name => $field) { $subClass->reflFields[$name] = $field; } }