/**
  * Creates a Descriptor from the provided data.
  *
  * @param FileReflector $data
  *
  * @return FileDescriptor
  */
 public function create($data)
 {
     $fileDescriptor = new FileDescriptor($data->getHash());
     $fileDescriptor->setPackage($this->extractPackageFromDocBlock($data->getDocBlock()) ?: $data->getDefaultPackageName());
     $packages = new Collection();
     $package = $this->extractPackageFromDocBlock($data->getDocBlock());
     if (!$package) {
         $package = $data->getDefaultPackageName();
     }
     $tag = new TagDescriptor('package');
     $tag->setDescription($package);
     $packages->add($tag);
     $fileDescriptor->getTags()->set('package', $packages);
     $fileDescriptor->setName(basename($data->getFilename()));
     $fileDescriptor->setPath($data->getFilename());
     $fileDescriptor->setSource($data->getContents());
     $fileDescriptor->setIncludes(new Collection($data->getIncludes()));
     $fileDescriptor->setNamespaceAliases(new Collection($data->getNamespaceAliases()));
     $this->assembleDocBlock($data->getDocBlock(), $fileDescriptor);
     $this->addMarkers($data->getMarkers(), $fileDescriptor);
     $this->addConstants($data->getConstants(), $fileDescriptor);
     $this->addFunctions($data->getFunctions(), $fileDescriptor);
     $this->addClasses($data->getClasses(), $fileDescriptor);
     $this->addInterfaces($data->getInterfaces(), $fileDescriptor);
     $this->addTraits($data->getTraits(), $fileDescriptor);
     return $fileDescriptor;
 }
 /**
  * @covers phpDocumentor\Descriptor\TagDescriptor::setDescription
  * @covers phpDocumentor\Descriptor\TagDescriptor::getDescription
  */
 public function testSettingAndReturningADescription()
 {
     // Arrange
     $description = 'Description';
     $this->assertSame('', $this->fixture->getDescription());
     // Act
     $this->fixture->setDescription($description);
     // Assert
     $this->assertSame($description, $this->fixture->getDescription());
 }
 /**
  * Maps the properties of the Function reflector onto the Descriptor.
  *
  * @param FunctionReflector  $reflector
  * @param FunctionDescriptor $descriptor
  *
  * @return void
  */
 protected function mapReflectorPropertiesOntoDescriptor($reflector, $descriptor)
 {
     $packages = new Collection();
     $package = $this->extractPackageFromDocBlock($reflector->getDocBlock());
     if ($package) {
         $tag = new TagDescriptor('package');
         $tag->setDescription($package);
         $packages->add($tag);
     }
     $descriptor->getTags()->set('package', $packages);
     $descriptor->setFullyQualifiedStructuralElementName($reflector->getName() . '()');
     $descriptor->setName($reflector->getShortName());
     $descriptor->setLine($reflector->getLinenumber());
     $descriptor->setNamespace($this->getFullyQualifiedNamespaceName($reflector));
 }
 /**
  * Adds a marker with the TO DO information to the file on a given line number.
  *
  * @param FileDescriptor $fileDescriptor
  * @param TagDescriptor  $todo
  * @param integer        $lineNumber
  *
  * @return void
  */
 protected function addTodoMarkerToFile($fileDescriptor, $todo, $lineNumber)
 {
     $fileDescriptor->getMarkers()->add(array('type' => 'TODO', 'message' => $todo->getDescription(), 'line' => $lineNumber));
 }
 /**
  * Creates a new Descriptor from the given Reflector.
  *
  * @param Tag $data
  *
  * @return TagDescriptor
  */
 public function create($data)
 {
     $descriptor = new TagDescriptor($data->getName());
     $descriptor->setDescription($data->getDescription());
     return $descriptor;
 }
Esempio n. 6
0
 /**
  * @param $data
  * @param $fileDescriptor
  */
 protected function overridePackageTag($data, $fileDescriptor)
 {
     $packages = new Collection();
     $package = $this->extractPackageFromDocBlock($data->getDocBlock());
     if (!$package) {
         $package = $data->getDefaultPackageName();
     }
     $tag = new TagDescriptor('package');
     $tag->setDescription($package);
     $packages->add($tag);
     $fileDescriptor->getTags()->set('package', $packages);
 }
 public function __construct($name)
 {
     parent::__construct($name);
     $this->arguments = new Collection();
 }
 /**
  * @param DescriptorAbstract $descriptor
  * @param string             $description
  */
 protected function givenDescriptorHasTodoTagWithDescription($descriptor, $description)
 {
     $todoTag = new TagDescriptor('todo');
     $todoTag->setDescription($description);
     $todoTags = $descriptor->getTags()->get('todo', array());
     $todoTags[] = $todoTag;
     $descriptor->getTags()->set('todo', $todoTags);
 }