/** * Exports the given reflection object to the parent XML element. * * This method creates a new child element on the given parent XML element * and takes the properties of the Reflection argument and sets the * elements and attributes on the child. * * @param \DOMElement $parent The parent element to augment. * @param ArgumentDescriptor $argument The data source. * * @return \DOMElement */ public function convert(\DOMElement $parent, ArgumentDescriptor $argument) { $child = new \DOMElement('argument'); $parent->appendChild($child); $child->setAttribute('line', $argument->getLine()); $child->setAttribute('by_reference', var_export($argument->isByReference(), true)); $child->appendChild(new \DOMElement('name', $argument->getName())); $child->appendChild(new \DOMElement('default'))->appendChild(new \DOMText($argument->getDefault())); $types = $argument->getTypes(); $typeStrings = array(); foreach ($types as $type) { $typeStrings[] = $type instanceof DescriptorAbstract ? $type->getFullyQualifiedStructuralElementName() : $type; } $child->appendChild(new \DOMElement('type', implode('|', $typeStrings))); return $child; }
/** * @covers phpDocumentor\Descriptor\ArgumentDescriptor::isByReference * @covers phpDocumentor\Descriptor\ArgumentDescriptor::setByReference */ public function testSetAndGetWhetherArgumentIsPassedByReference() { $this->assertSame(false, $this->fixture->isByReference()); $this->fixture->setByReference(true); $this->assertSame(true, $this->fixture->isByReference()); }