/** * Attempts to locate the specified identifier. * * @param Identifier $identifier * @return string */ private function locateIdentifier(Identifier $identifier) { if ($identifier->isClass()) { return $this->locateClassByName($identifier->getName()); } if ($identifier->isFunction()) { return $this->locateFunctionByName($identifier->getName()); } }
/** * Attempts to locate the specified identifier * * @param Identifier $identifier * @return string */ private function locateIdentifier(Identifier $identifier) { if ($identifier->isClass()) { return $this->locateClassByName($identifier->getName()); } if ($identifier->isFunction()) { return $this->locateFunctionByName($identifier->getName()); } throw new Exception\UnloadableIdentifierType('AutoloadSourceLocator cannot locate ' . $identifier->getType()->getName()); }
/** * @param Identifier $identifier * * @return null|string */ private function getInternalReflectionClassName(Identifier $identifier) { if (!$identifier->isClass()) { return null; } $name = $identifier->getName(); if (!(class_exists($name, false) || interface_exists($name, false) || trait_exists($name, false))) { return null; // not an available internal class } $reflection = new \ReflectionClass($name); return $reflection->getFileName() ? $reflection->getName() : null; }
public function testIsTypesForFunction() { $identifier = new Identifier('Foo', new IdentifierType(IdentifierType::IDENTIFIER_FUNCTION)); $this->assertFalse($identifier->isClass()); $this->assertTrue($identifier->isFunction()); }