/** * */ public function addMethod($name) { switch ($name) { case '__construct': $nodeName = 'constructor'; break; case '__destruct': $nodeName = 'destructor'; break; default: $nodeName = 'method'; } $method = new MethodObject($this, $this->rootNode->appendElementNS(self::XMLNS, $nodeName)); $method->setName($name); return $method; }
/** * @param MethodObject $method * @param array $params */ private function processMethodParams(MethodObject $method, array $params) { foreach($params as $param) { /** @var $param \PhpParser\Node\Param */ $parameter = $method->addParameter($param->name); $parameter->setByReference($param->byRef); $this->setVariableType($parameter, $param->type); $this->setVariableDefaultValue($parameter, $param->default); } //die(); }
public function inhertDocBlock(MethodObject $method) { $inherit = $method->export()->queryOne('phpdox:docblock'); if (!$inherit) { // no docblock, no work ;) return; } $docNode = $this->ctx->queryOne('phpdox:docblock'); if (!$docNode) { $this->setDocBlock(new DocBlock()); $docNode = $this->ctx->queryOne('phpdox:docblock'); } $container = $docNode->appendElementNS(self::XMLNS, 'inherited'); $container->setAttribute( $method->getOwner()->getType(), $method->getOwner()->getName() ); $container->appendChild($this->ctx->ownerDocument->importNode($inherit, true)); }