/**
  * Return parameter reflection
  * @param ReflectionParameter      $param
  * @param PHPParser_Builder_Method $methodStmt
  *
  * @return PHPParser_Builder_Method
  */
 private function getMethodStatement(ReflectionParameter $param, PHPParser_Builder_Method $methodStmt)
 {
     /** @var $param \ReflectionParameter */
     $paramStmt = $this->factory->param($param->name);
     $typeHint = $param->getClass();
     if ($typeHint) {
         $paramStmt->setTypeHint($typeHint->name);
     }
     if ($param->isDefaultValueAvailable()) {
         $paramStmt->setDefault($param->getDefaultValue());
     }
     $methodStmt->addParam($paramStmt);
     return $methodStmt;
 }
Esempio n. 2
0
 public function testCreateParamBuilder()
 {
     $factory = new PHPParser_BuilderFactory();
     $this->assertInstanceOf('PHPParser_Builder_Param', $factory->param('test'));
 }
Esempio n. 3
0
 /**
  * @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;
 }