예제 #1
0
 /**
  * Does the type resolution for a given element in a given package
  *
  * @param PHP_UML_Metamodel_Package $pkg      The nesting package
  * @param string                    &$element The element to resolve, provided as a name
  * @param PHP_UML_Metamodel_Type    $context  The context (the nesting class/interface, which 
  *                                            is the only element to know the nesting file)
  */
 private function resolveType(PHP_UML_Metamodel_Package $pkg, &$element, PHP_UML_Metamodel_NamedElement $context)
 {
     if (empty($element)) {
         $targetElement = PHP_UML_Metamodel_Helper::searchTypeIntoPackage($this->topPackage, 'mixed');
     } else {
         $targetElement = PHP_UML_Metamodel_Helper::findTypeById($this->topPackage, $element);
     }
     if ($targetElement === false) {
         $targetElement = $this->resolveTypeByUri($element);
     }
     if ($targetElement === false) {
         self::resolutionWarning($element, $context);
     } else {
         $element = $targetElement;
     }
 }