/**
  * Constructor
  *
  * @param \phpDocumentor\Plugin\Plugin            $plugin     Plugin to which this
  *     validator belongs.
  * @param string                                  $name       Name of the "entity"
  * @param \phpDocumentor\Reflection\DocBlock|null $docblock   Docblock
  * @param \phpDocumentor\Reflection\BaseReflector|null  $source     Source Element.
  */
 public function __construct($plugin, $name, $docblock = null, $source = null)
 {
     $this->entityName = $name;
     $this->lineNumber = $docblock ? $docblock->line_number : $source->getLineNumber();
     $this->docblock = $docblock;
     $this->source = $source;
     parent::__construct($plugin->getEventDispatcher(), $plugin->getConfiguration(), $plugin->getTranslator());
 }
 /**
  * @covers phpDocumentor\Plugin\Plugin::getParameters
  */
 public function testGetParameters()
 {
     $this->assertEmpty($this->fixture->getParameters());
     $expectedParameters = array(m::mock('phpDocumentor\\Plugin\\Plugin'));
     $property = new \ReflectionProperty('phpDocumentor\\Plugin\\Plugin', 'parameters');
     $property->setAccessible(true);
     $property->setValue($this->fixture, $expectedParameters);
     $property->setAccessible(false);
     $this->assertSame($expectedParameters, $this->fixture->getParameters());
 }
 /**
  * Attaches the filter responsible for the conversion to all structural elements.
  *
  * @param ProjectDescriptorBuilder $builder
  * @param Filter                   $filterManager
  *
  * @return void
  */
 private function addNamespaceFilter(ProjectDescriptorBuilder $builder, Filter $filterManager)
 {
     $filter = new LegacyNamespaceFilter($builder);
     // parse parameters
     foreach ($this->plugin->getParameters() as $param) {
         if ($param->getKey() == 'NamespacePrefix') {
             $filter->setNamespacePrefix($param->getValue());
         }
     }
     $filterManager->attach('phpDocumentor\\Descriptor\\ConstantDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\FunctionDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\InterfaceDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\TraitDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\PropertyDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\FileDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\ClassDescriptor', $filter);
 }