summaryrefslogtreecommitdiff
path: root/src/qdoc/cppcodeparser.cpp
diff options
context:
space:
mode:
authorRainer Keller <Rainer.Keller@qt.io>2017-01-11 13:39:15 +0100
committerRainer Keller <Rainer.Keller@qt.io>2017-01-12 11:23:29 +0000
commitb7ccfd3c107e2edc3823cd79cf67d8e4e34f668b (patch)
treefbc725d6f97b3498fad5e4f6e1051f25a32aca69 /src/qdoc/cppcodeparser.cpp
parent980fbea7adb3d31b8017f844bc8856612d3f7cff (diff)
downloadqttools-b7ccfd3c107e2edc3823cd79cf67d8e4e34f668b.tar.gz
qdoc: Implement C++11 'override' specifier support
Change-Id: Iad837dbdaf492eff77ced4d93dc05095e1d89400 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Michael Winkelmann <Michael.winkelmann@qt.io> Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
Diffstat (limited to 'src/qdoc/cppcodeparser.cpp')
-rw-r--r--src/qdoc/cppcodeparser.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp
index c7d1e3507..740216b1f 100644
--- a/src/qdoc/cppcodeparser.cpp
+++ b/src/qdoc/cppcodeparser.cpp
@@ -1314,8 +1314,8 @@ bool CppCodeParser::matchDataType(CodeChunk *dataType, QString *var, bool qProp)
if (varComment.exactMatch(previousLexeme()))
*var = varComment.cap(1);
}
- else if (qProp && (match(Tok_default) || match(Tok_final))) {
- // Hack to make 'default' and 'final' work again in Q_PROPERTY
+ else if (qProp && (match(Tok_default) || match(Tok_final) || match(Tok_override))) {
+ // Hack to make 'default', 'final' and 'override' work again in Q_PROPERTY
*var = previousLexeme();
}
}
@@ -1587,6 +1587,7 @@ bool CppCodeParser::matchFunctionDecl(Aggregate *parent,
// look for const
bool matchedConst = match(Tok_const);
bool matchFinal = match(Tok_final);
+ bool matchOverride = match(Tok_override);
bool isDeleted = false;
bool isDefaulted = false;
@@ -1706,6 +1707,7 @@ bool CppCodeParser::matchFunctionDecl(Aggregate *parent,
func->setIsDeleted(isDeleted);
func->setIsDefaulted(isDefaulted);
func->setFinal(matchFinal);
+ func->setOverride(matchOverride);
if (isQPrivateSignal)
func->setPrivateSignal();
}
@@ -2073,7 +2075,7 @@ bool CppCodeParser::matchProperty(Aggregate *parent)
property->setDataType(dataType.toString());
while (tok != Tok_RightParen && tok != Tok_Eoi) {
- if (!match(Tok_Ident) && !match(Tok_default) && !match(Tok_final))
+ if (!match(Tok_Ident) && !match(Tok_default) && !match(Tok_final) && !match(Tok_override))
return false;
QString key = previousLexeme();
QString value;