diff options
author | Topi Reinio <topi.reinio@digia.com> | 2015-10-07 12:07:22 +0200 |
---|---|---|
committer | Topi Reiniö <topi.reinio@digia.com> | 2015-10-13 11:55:54 +0000 |
commit | dab4877a0a6ad755483a8e47205112a247058fef (patch) | |
tree | 6344f42229bfa53b773e4592f2c16a9f356b7e79 /src/tools | |
parent | ee634611d4d78d7ee66b79dc765abab231391eab (diff) |
qdoc: Improve formatting of function signatures
This is a continuation of the work started in commit
694d30035593addc377fea374d1dbe8e3f5ca503.
Attach reference ('&') and pointer ('*') qualifiers to the
parameter name, as per Qt coding style.
Previously, function signatures were documented like this:
QString & QString::append(const QString & str)
After this change, they will appear like this:
QString &QString::append(const QString &str)
Change-Id: Ie103fc2929635bc32145e50469c600f9f378f97c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/qdoc/codemarker.cpp | 7 | ||||
-rw-r--r-- | src/tools/qdoc/codemarker.h | 2 | ||||
-rw-r--r-- | src/tools/qdoc/cppcodemarker.cpp | 18 |
3 files changed, 14 insertions, 13 deletions
diff --git a/src/tools/qdoc/codemarker.cpp b/src/tools/qdoc/codemarker.cpp index 458799fc27..a668205a66 100644 --- a/src/tools/qdoc/codemarker.cpp +++ b/src/tools/qdoc/codemarker.cpp @@ -210,7 +210,7 @@ void CodeMarker::appendProtectedString(QString *output, const QStringRef &str) } } -QString CodeMarker::typified(const QString &string) +QString CodeMarker::typified(const QString &string, bool trailingSpace) { QString result; QString pendingWord; @@ -254,6 +254,11 @@ QString CodeMarker::typified(const QString &string) } } } + if (trailingSpace && string.size()) { + if (!string.endsWith(QLatin1Char('*')) + && !string.endsWith(QLatin1Char('&'))) + result += QLatin1Char(' '); + } return result; } diff --git a/src/tools/qdoc/codemarker.h b/src/tools/qdoc/codemarker.h index 31a9f3a254..011c8623dd 100644 --- a/src/tools/qdoc/codemarker.h +++ b/src/tools/qdoc/codemarker.h @@ -159,7 +159,7 @@ public: static const Node *nodeForString(const QString& string); static QString stringForNode(const Node *node); - QString typified(const QString &string); + QString typified(const QString &string, bool trailingSpace = false); protected: virtual QString sortName(const Node *node, const QString* name = 0); diff --git a/src/tools/qdoc/cppcodemarker.cpp b/src/tools/qdoc/cppcodemarker.cpp index e299eae434..01ff827d58 100644 --- a/src/tools/qdoc/cppcodemarker.cpp +++ b/src/tools/qdoc/cppcodemarker.cpp @@ -150,8 +150,9 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, case Node::QmlSignalHandler: case Node::QmlMethod: func = (const FunctionNode *) node; + if (style != Subpage && !func->returnType().isEmpty()) - synopsis = typified(func->returnType()) + QLatin1Char(' '); + synopsis = typified(func->returnType(), true); synopsis += name; if (func->metaness() != FunctionNode::MacroWithoutParams) { synopsis += QLatin1Char('('); @@ -160,9 +161,7 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, while (p != func->parameters().constEnd()) { if (p != func->parameters().constBegin()) synopsis += ", "; - synopsis += typified((*p).dataType()); - if (!(*p).dataType().isEmpty()) - synopsis += QLatin1Char(' '); + synopsis += typified((*p).dataType(), true); if (style != Subpage && !(*p).name().isEmpty()) synopsis += "<@param>" + protect((*p).name()) + "</@param>"; @@ -273,7 +272,7 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, synopsis = name + " : " + typified(variable->dataType()); } else { - synopsis = typified(variable->leftType()) + QLatin1Char(' ') + + synopsis = typified(variable->leftType(), true) + name + protect(variable->rightType()); } break; @@ -323,7 +322,7 @@ QString CppCodeMarker::markedUpQmlItem(const Node* node, bool summary) (node->type() == Node::QmlSignalHandler)) { const FunctionNode* func = static_cast<const FunctionNode*>(node); if (!func->returnType().isEmpty()) - synopsis = typified(func->returnType()) + QLatin1Char(' ') + name; + synopsis = typified(func->returnType(), true) + name; else synopsis = name; synopsis += QLatin1Char('('); @@ -332,12 +331,9 @@ QString CppCodeMarker::markedUpQmlItem(const Node* node, bool summary) while (p != func->parameters().constEnd()) { if (p != func->parameters().constBegin()) synopsis += ", "; - synopsis += typified((*p).dataType()); - if (!(*p).name().isEmpty()) { - if (!(*p).dataType().isEmpty()) - synopsis += QLatin1Char(' '); + synopsis += typified((*p).dataType(), true); + if (!(*p).name().isEmpty()) synopsis += "<@param>" + protect((*p).name()) + "</@param>"; - } synopsis += protect((*p).rightType()); ++p; } |