/** * 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; } }