Beispiel #1
0
 protected function getAncestorTypes(IType $type)
 {
     $ancestorTypes = [$type->getIdentifier() => $type];
     if (!$type->hasParentType()) {
         return $ancestorTypes;
     }
     if ($type instanceof ICompositeType) {
         foreach ($type->getComposedTypes() as $composedType) {
             $ancestorTypes += $this->getAncestorTypes($composedType);
         }
     } else {
         $parentType = $type->getParentType();
         $ancestorTypes[$parentType->getIdentifier()] = $parentType;
         $ancestorTypes += $this->getAncestorTypes($parentType);
     }
     return $ancestorTypes;
 }