/** * Create method from function declaration. * * @param FunctionDeclarationNode $function_node * @return ClassMethodNode */ public static function fromFunction(FunctionDeclarationNode $function_node) { $method_name = $function_node->getName()->getText(); $parameters = $function_node->getParameterList()->getText(); $body = $function_node->getBody()->getText(); /** @var ClassNode $class_node */ $class_node = Parser::parseSnippet("class Method {public function {$method_name}({$parameters}) {$body}}"); FormatterFactory::format($class_node); $method_node = $class_node->getStatements()[0]->remove(); return $method_node; }
/** * @param FunctionDeclarationNode|ClassMethodNode|InterfaceMethodNode $node */ protected function handleParameterWrapping($node) { $parameter_list = $node->getParameterList(); $parameter_wrapped = $parameter_list->children(Filter::isNewline())->isNotEmpty(); if ($parameter_wrapped) { $this->newlineAfter($parameter_list); if (!$node instanceof InterfaceMethodNode && $node->getBody()) { $this->spaceBefore($node->getBody()); } } }