Exemplo n.º 1
0
 /**
  * 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;
 }
Exemplo n.º 2
0
 /**
  * @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();
 }
Exemplo n.º 3
0
 /**
  * @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;
 }
Exemplo n.º 4
0
 /**
  * @covers ::__construct
  */
 public function setUp()
 {
     parent::setUp();
     $this->classParser = Factory::getClassParser();
 }
Exemplo n.º 5
0
 /**
  * @covers ::setClassParser
  * @covers ::getClassParser
  */
 public function testSetClassParser()
 {
     $classParser = Factory::getClassParser();
     $this->analyzer->setClassParser($classParser);
     $this->assertEquals($classParser, $this->analyzer->getClassParser());
 }