コード例 #1
0
ファイル: NodeFactory.php プロジェクト: maab127/default7
 /**
  * @param \EBT\ExtensionBuilder\Domain\Model\ClassObject\MethodParameter $parameter
  * @return \PhpParser\Node\Param
  */
 public function buildParameterNode(\EBT\ExtensionBuilder\Domain\Model\ClassObject\MethodParameter $parameter)
 {
     $factory = new \PhpParser\BuilderFactory();
     $paramNodeBuilder = $factory->param($parameter->getName());
     if ($parameter->hasTypeHint()) {
         $paramNodeBuilder->setTypeHint($parameter->getTypeHint());
     }
     if ($parameter->isPassedByReference()) {
         $paramNodeBuilder->makeByRef();
     }
     if (!is_null($parameter->getDefaultValue())) {
         $paramNodeBuilder->setDefault($parameter->getDefaultValue());
     }
     $parameterNode = $paramNodeBuilder->getNode();
     $parameterNode->setAttribute('startLine', $parameter->getStartLine());
     $parameterNode->setAttribute('endLine', $parameter->getEndLine());
     return $parameterNode;
 }