Пример #1
0
 /**
  *
  */
 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;
 }
Пример #2
0
 /**
  * @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();
 }
Пример #3
0
        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));

        }