diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-01-03 14:29:41 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-01-03 14:30:21 +0100 |
commit | b5ab7ee0d78a30863e3d11bd2ba10ba5f4854bf5 (patch) | |
tree | d4ab3471f9f92e153fe320e0435a5740c794746b /src/tools | |
parent | ad9554a7f2d4b8a2af3efabc7bc69b9a0ae3751d (diff) | |
parent | aff3e3c4a20aae52fdafaede8dfcbde2bc990104 (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Id13badc270db98806048753fd7fb658aa17f1ede
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/qdoc/cppcodeparser.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/tools/qdoc/cppcodeparser.cpp b/src/tools/qdoc/cppcodeparser.cpp index cec042f92b..bb403bd4d9 100644 --- a/src/tools/qdoc/cppcodeparser.cpp +++ b/src/tools/qdoc/cppcodeparser.cpp @@ -1916,6 +1916,16 @@ bool CppCodeParser::matchProperty(InnerNode *parent) QString key = previousLexeme(); QString value; + // Keywords with no associated values + if (key == "CONSTANT") { + property->setConstant(); + continue; + } + else if (key == "FINAL") { + property->setFinal(); + continue; + } + if (match(Tok_Ident) || match(Tok_Number)) { value = previousLexeme(); } @@ -1966,7 +1976,7 @@ bool CppCodeParser::matchProperty(InnerNode *parent) if (ok) property->setRevision(revision); else - parent->doc().location().warning(tr("Invalid revision number: %1").arg(value)); + location().warning(tr("Invalid revision number: %1").arg(value)); } else if (key == "SCRIPTABLE") { QString v = value.toLower(); if (v == "true") @@ -1978,10 +1988,6 @@ bool CppCodeParser::matchProperty(InnerNode *parent) property->setRuntimeScrFunc(value); } } - else if (key == "CONSTANT") - property->setConstant(); - else if (key == "FINAL") - property->setFinal(); } match(Tok_RightParen); return true; @@ -2061,7 +2067,11 @@ bool CppCodeParser::matchDeclList(InnerNode *parent) case Tok_Q_PROPERTY: case Tok_Q_PRIVATE_PROPERTY: case Tok_QDOC_PROPERTY: - matchProperty(parent); + if (!matchProperty(parent)) { + location().warning(tr("Failed to parse token %1 in property declaration").arg(lexeme())); + skipTo(Tok_RightParen); + match(Tok_RightParen); + } break; case Tok_Q_DECLARE_SEQUENTIAL_ITERATOR: readToken(); |