/** * Maps the fields to the reflector to the descriptor. * * @param MethodReflector $reflector * @param MethodDescriptor $descriptor * * @return void */ protected function mapReflectorToDescriptor($reflector, $descriptor) { $descriptor->setFullyQualifiedStructuralElementName($reflector->getName() . '()'); $descriptor->setName($reflector->getShortName()); $descriptor->setVisibility($reflector->getVisibility() ?: 'public'); $descriptor->setFinal($reflector->isFinal()); $descriptor->setAbstract($reflector->isAbstract()); $descriptor->setStatic($reflector->isStatic()); $descriptor->setLine($reflector->getLinenumber()); }
/** * Export the given reflected method definition to the provided parent element. * * @param \DOMElement $parent Element to augment. * @param MethodReflector $method Element to export. * * @return void */ public function export(\DOMElement $parent, $method) { $child = new \DOMElement('method'); $parent->appendChild($child); $child->setAttribute('final', $method->isFinal() ? 'true' : 'false'); $child->setAttribute('abstract', $method->isAbstract() ? 'true' : 'false'); $child->setAttribute('static', $method->isStatic() ? 'true' : 'false'); $child->setAttribute('visibility', $method->getVisibility()); $object = new FunctionExporter(); $object->export($parent, $method, $child); }
/** * Creates a Descriptor from the provided data. * * @param MethodReflector $data * * @return MethodDescriptor */ public function create($data) { $methodDescriptor = new MethodDescriptor(); $methodDescriptor->setFullyQualifiedStructuralElementName($data->getName() . '()'); $methodDescriptor->setName($data->getShortName()); $methodDescriptor->setVisibility($data->getVisibility() ?: 'public'); $methodDescriptor->setFinal($data->isFinal()); $methodDescriptor->setAbstract($data->isAbstract()); $methodDescriptor->setStatic($data->isStatic()); $this->assembleDocBlock($data->getDocBlock(), $methodDescriptor); foreach ($data->getArguments() as $argument) { $argumentAssembler = new ArgumentAssembler(); $argumentDescriptor = $argumentAssembler->create($argument, $methodDescriptor->getTags()->get('param', array())); $methodDescriptor->getArguments()->set($argumentDescriptor->getName(), $argumentDescriptor); } $methodDescriptor->setLine($data->getLinenumber()); return $methodDescriptor; }