/** * 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; }
public function testCreateParamBuilder() { $factory = new PHPParser_BuilderFactory(); $this->assertInstanceOf('PHPParser_Builder_Param', $factory->param('test')); }
/** * @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; }