/** * @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; }