/** * getMap returns the whole map for metadata from class name * * @author Lauri Orgla <*****@*****.**> * * @param $className * * @throws \Exception * @return array */ public static function getMap($className) { $cachedResult = null; self::readCache($className, $cachedResult); if (!$cachedResult) { self::checkExternalDependencies(); $analyzer = Factory::getAnalyzer(); $result = []; try { $analyzerResult = $analyzer->addClass($className)->analyze()->getResult()[$className]; } catch (\Exception $e) { throw new \Exception('Mapper Exception. Invalid class given'); } self::processMethods($className, $analyzerResult, $result); self::processProperties($className, $analyzerResult, $result); self::saveCache($className, $result); return $result; } return $cachedResult; }
/** * @author Lauri Orgla <*****@*****.**> * * @param \ReflectionClass $reflection * @param $result */ public function parseClass(\ReflectionClass $reflection, &$result) { $result['class']['name'] = $reflection->getName(); $result['class']['phpdoc'] = Factory::getCommentBlock()->setPhpDoc($reflection->getDocComment())->parse()->getResult(); }
/** * @author Lauri Orgla <*****@*****.**> * @return $this */ public function parse() { $this->setResult(['accessType' => $this->getAccessType(), 'name' => $this->getMethod()->name, 'parameters' => $this->getMethod()->getParameters(), 'numberOfParameters' => $this->getMethod()->getNumberOfParameters(), 'numberOfRequiredParameters' => $this->getMethod()->getNumberOfRequiredParameters(), 'methodStaticVariables' => $this->getMethod()->getStaticVariables(), 'phpdoc' => Factory::getCommentBlock()->setPhpDoc($this->getMethod()->getDocComment())->parse()->getResult()]); return $this; }
/** * @covers ::__construct */ public function setUp() { parent::setUp(); $this->classParser = Factory::getClassParser(); }
/** * @covers ::setClassParser * @covers ::getClassParser */ public function testSetClassParser() { $classParser = Factory::getClassParser(); $this->analyzer->setClassParser($classParser); $this->assertEquals($classParser, $this->analyzer->getClassParser()); }