Neos\Flow\ObjectManagement\Proxy\ProxyMethod::buildMethodDocumentation PHP Method

buildMethodDocumentation() protected method

Builds the method documentation block for the specified method keeping the vital annotations
protected buildMethodDocumentation ( string $className, string $methodName ) : string
$className string Name of the class the method is declared in
$methodName string Name of the method to create the parameters code for
return string $methodDocumentation DocComment for the given method
    protected function buildMethodDocumentation($className, $methodName)
    {
        $methodDocumentation = "    /**\n     * Autogenerated Proxy Method\n";
        if ($this->reflectionService->hasMethod($className, $methodName)) {
            $methodTags = $this->reflectionService->getMethodTagsValues($className, $methodName);
            $allowedTags = ['param', 'return', 'throws'];
            foreach ($methodTags as $tag => $values) {
                if (in_array($tag, $allowedTags)) {
                    if (count($values) === 0) {
                        $methodDocumentation .= '     * @' . $tag . "\n";
                    } else {
                        foreach ($values as $value) {
                            $methodDocumentation .= '     * @' . $tag . ' ' . $value . "\n";
                        }
                    }
                }
            }
            $methodAnnotations = $this->reflectionService->getMethodAnnotations($className, $methodName);
            foreach ($methodAnnotations as $annotation) {
                $methodDocumentation .= '     * ' . Compiler::renderAnnotation($annotation) . "\n";
            }
        }
        $methodDocumentation .= "     */\n";
        return $methodDocumentation;
    }