public function getHint() { if (!$this->hint) { return array(); } $hints = array(); $project = $this->getClass()->getProject(); foreach ($this->hint as $hint) { $hints[] = new HintReflection(Project::isPhpTypeHint($hint[0]) ? $hint[0] : $project->getClass($hint[0]), $hint[1]); } return $hints; }
protected function resolveAlias($alias) { // not a class if (Project::isPhpTypeHint($alias)) { return $alias; } // FQCN if ('\\' == substr($alias, 0, 1)) { return $alias; } $class = $this->context->getClass(); // special aliases if ('self' === $alias || 'static' === $alias) { return $class->getName(); } // an alias defined by a use statement $aliases = $class->getAliases(); if (isset($aliases[$alias])) { return $aliases[$alias]; } // a class in the current class namespace return $class->getNamespace() . '\\' . $alias; }
/** * Checks if the type is a php type. * * @param string $type The type. * * @return boolean */ public function isPhpType($type) { return SamiProject::isPhpTypeHint($type); }