diff options
author | Martin Smith <martin.smith@digia.com> | 2014-08-04 14:26:04 +0200 |
---|---|---|
committer | Martin Smith <martin.smith@digia.com> | 2014-08-22 18:24:02 +0200 |
commit | f752a7ab6cb022c136f91d471616edda0c55a612 (patch) | |
tree | ae1a73bb645983a742fde702a05885d7f91b91b6 /src/tools | |
parent | af7f944dc507734d449355ee8e09674b2993349a (diff) |
qdoc: Report error in square bracket parameter
This update makes qdoc report an error, when it can't
recognize a parameter in square brackets.
Change-Id: I45d31ec875ac533736ee4a565ff3f217353068dd
Task-number: QTBUG-39221
Reviewed-by: Topi Reiniƶ <topi.reinio@digia.com>
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/qdoc/atom.cpp | 9 | ||||
-rw-r--r-- | src/tools/qdoc/atom.h | 4 | ||||
-rw-r--r-- | src/tools/qdoc/doc.cpp | 10 |
3 files changed, 21 insertions, 2 deletions
diff --git a/src/tools/qdoc/atom.cpp b/src/tools/qdoc/atom.cpp index 0c17a38e51..de99dc4d5a 100644 --- a/src/tools/qdoc/atom.cpp +++ b/src/tools/qdoc/atom.cpp @@ -146,6 +146,8 @@ QT_BEGIN_NAMESPACE \value UnknownCommand */ +QString Atom::noError_ = QString(); + static const struct { const char *english; int no; @@ -399,6 +401,7 @@ LinkAtom::LinkAtom(const QString& p1, const QString& p2) genus_ = Node::CPP; continue; } + error_ = p2; break; } } @@ -410,7 +413,8 @@ LinkAtom::LinkAtom(const LinkAtom& t) : Atom(Link, t.string()), genus_(t.genus_), goal_(t.goal_), - domain_(t.domain_) + domain_(t.domain_), + error_(t.error_) { // nothing } @@ -424,7 +428,8 @@ LinkAtom::LinkAtom(Atom* previous, const LinkAtom& t) : Atom(previous, Link, t.string()), genus_(t.genus_), goal_(t.goal_), - domain_(t.domain_) + domain_(t.domain_), + error_(t.error_) { previous->next_ = this; } diff --git a/src/tools/qdoc/atom.h b/src/tools/qdoc/atom.h index 65ba2a9b5c..e4ef7e06a7 100644 --- a/src/tools/qdoc/atom.h +++ b/src/tools/qdoc/atom.h @@ -203,8 +203,10 @@ public: virtual bool specifiesDomain() const { return false; } virtual Tree* domain() const { return 0; } virtual Node::Type goal() const { return Node::NoType; } + virtual const QString& error() { return noError_; } protected: + static QString noError_; Atom* next_; Type type_; QStringList strs; @@ -223,11 +225,13 @@ class LinkAtom : public Atom virtual bool specifiesDomain() const { return (domain_ != 0); } virtual Tree* domain() const { return domain_; } virtual Node::Type goal() const { return goal_; } + virtual const QString& error() { return error_; } protected: Node::Genus genus_; Node::Type goal_; Tree* domain_; + QString error_; }; #define ATOM_FORMATTING_BOLD "bold" diff --git a/src/tools/qdoc/doc.cpp b/src/tools/qdoc/doc.cpp index 5745b094d5..fcf5add514 100644 --- a/src/tools/qdoc/doc.cpp +++ b/src/tools/qdoc/doc.cpp @@ -975,6 +975,11 @@ void DocParser::parse(const QString& source, if (isLeftBraceAhead()) { p1 = getArgument(); append(p1, p2); + if (!p2.isEmpty() && !(priv->text.lastAtom()->error().isEmpty())) { + location().warning(tr("Check parameter in '[ ]' of '\\l' command: '%1', " + "possible misspelling, or unrecognized module name") + .arg(priv->text.lastAtom()->error())); + } if (isLeftBraceAhead()) { currentLinkAtom = priv->text.lastAtom(); startFormat(ATOM_FORMATTING_LINK, cmd); @@ -988,6 +993,11 @@ void DocParser::parse(const QString& source, else { p1 = getArgument(); append(p1, p2); + if (!p2.isEmpty() && !(priv->text.lastAtom()->error().isEmpty())) { + location().warning(tr("Check parameter in '[ ]' of '\\l' command: '%1', " + "possible misspelling, or unrecognized module name") + .arg(priv->text.lastAtom()->error())); + } append(Atom::FormattingLeft, ATOM_FORMATTING_LINK); append(Atom::String, cleanLink(p1)); append(Atom::FormattingRight, ATOM_FORMATTING_LINK); |