summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
authorMartin Smith <martin.smith@digia.com>2014-08-04 14:26:04 +0200
committerMartin Smith <martin.smith@digia.com>2014-08-22 18:24:02 +0200
commitf752a7ab6cb022c136f91d471616edda0c55a612 (patch)
treeae1a73bb645983a742fde702a05885d7f91b91b6 /src/tools
parentaf7f944dc507734d449355ee8e09674b2993349a (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.cpp9
-rw-r--r--src/tools/qdoc/atom.h4
-rw-r--r--src/tools/qdoc/doc.cpp10
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);