/** * fromReflection() * * @param \Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagReturn * @return \Zend\Code\Generator\DocBlock\Tag\LicenseTag */ public static function fromReflection(\Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagLicense) { $returnTag = new self(); $returnTag->setName('license'); $returnTag->setUrl($reflectionTagLicense->getUrl()); $returnTag->setDescription($reflectionTagLicense->getDescription()); return $returnTag; }
/** * fromReflection() * * @param \Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagReturn * @return \Zend\Code\Generator\DocBlock\Tag\ReturnTag */ public static function fromReflection(\Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagReturn) { $returnTag = new self(); $returnTag->setName('return'); $returnTag->setDatatype($reflectionTagReturn->getType()); // @todo rename $returnTag->setDescription($reflectionTagReturn->getDescription()); return $returnTag; }
/** * fromReflection() * * @param \Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagParam * @return \Zend\Code\Generator\DocBlock\Tag\ParamTag */ public static function fromReflection(\Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagParam) { $paramTag = new self(); $paramTag->setName('param'); $paramTag->setDatatype($reflectionTagParam->getType()); // @todo rename $paramTag->setParamName($reflectionTagParam->getVariableName()); $paramTag->setDescription($reflectionTagParam->getDescription()); return $paramTag; }
/** * fromReflection() * * @param ReflectionDocblockTag $reflectionTag * @return Tag */ public static function fromReflection(ReflectionDocblockTag $reflectionTag) { $tagName = $reflectionTag->getName(); $codeGenDocblockTag = new self(); $codeGenDocblockTag->setName($tagName); // transport any properties via accessors and mutators from reflection to codegen object $reflectionClass = new \ReflectionClass($reflectionTag); foreach ($reflectionClass->getMethods(\ReflectionMethod::IS_PUBLIC) as $method) { if (substr($method->getName(), 0, 3) == 'get') { $propertyName = substr($method->getName(), 3); if (method_exists($codeGenDocblockTag, 'set' . $propertyName)) { $codeGenDocblockTag->{'set' . $propertyName}($reflectionTag->{'get' . $propertyName}()); } } } return $codeGenDocblockTag; }
/** * Get return type tag * * @return \Zend\Code\Reflection\DocBlock\Tag\Return */ public function getReturn() { $docblock = $this->getDocblock(); if (!$docblock->hasTag('return')) { throw new Exception\InvalidArgumentException('Function does not specify an @return annotation tag; cannot determine return type'); } $tag = $docblock->getTag('return'); $return = ReflectionDocblockTag::factory('@return ' . $tag->getDescription()); return $return; }