/**
  * @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);
 }
示例#2
0
 /**
  * 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;
     }
 }