void (@NotNull PyNamedParameter parameter) { final PyFunction func = PsiTreeUtil.getParentOfType(parameter, PyFunction.class, true, PyLambdaExpression.class); final HtmlChunk link = func != null ? getLinkToFunction(func, true) : HtmlChunk.text(PyNames.UNNAMED_ELEMENT); final String parameterName = parameter.getName(); if (link != null && parameterName != null) { myBody.appendRaw(PyPsiBundle.message("QDOC.parameter.name.of.link", HtmlChunk.text(parameterName).bold(), link)).br(); } if (func != null) { final PyClass containingClass = func.getContainingClass(); final PyStringLiteralExpression functionDocstring = getEffectiveDocStringExpression(func); final PyStringLiteralExpression docString = functionDocstring == null && containingClass != null ? addFunctionInheritedDocString(func, containingClass) : functionDocstring; if (docString != null) { final StructuredDocString structuredDocString = DocStringUtil.parse(docString.getStringValue()); final String description = structuredDocString.getParamDescription(parameter.getName()); if (StringUtil.isNotEmpty(description)) { myContent.append(runFormatterService(description)); } } } myBody.append(PythonDocumentationProvider.describeParameter(parameter, myContext)); }