private function addClass($name)
{
$name = ltrim($name, '\\');
if (!isset($this->declared[$name]) || $this->isClassLoaded($name)) {
return false;
}
$parameterClass = $this->getBroker()->getClass($name);
if ($parameterClass->isInternal()) {
$this->allClasses[self::INTERNAL_CLASSES][$name] = $parameterClass;
$parentClasses = array_merge($parameterClass->getInterfaces(), $parameterClass->getParentClasses());
foreach ($parentClasses as $parentClass) {
if (!isset($this->allClasses[self::INTERNAL_CLASSES][$parentName = $parentClass->getName()])) {
$this->allClasses[self::INTERNAL_CLASSES][$parentName] = $parentClass;
}
}
} elseif (!$parameterClass->isTokenized()) {
if (!isset($this->allClasses[self::NONEXISTENT_CLASSES][$name])) {
$this->allClasses[self::NONEXISTENT_CLASSES][$name] = $parameterClass;
}
}
}