diff options
| author | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-04-14 09:23:41 +0300 |
|---|---|---|
| committer | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-04-18 04:48:59 +0000 |
| commit | 777d46b40360c302a49fc5b789cee6d0d05f840a (patch) | |
| tree | 352a8d94a79e6b460a7b9cbe125448729dd30f22 /src/tools/moc/preprocessor.cpp | |
| parent | 5361a8dec5300761044dd8a2628db0c0448075cc (diff) | |
Moc: use const (and const APIs) more
For CoW types, prefer const methods to avoid needless detach()ing.
Change-Id: Iefc33552d826aa30320e52acd2d421c9bdae127e
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/tools/moc/preprocessor.cpp')
| -rw-r--r-- | src/tools/moc/preprocessor.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/tools/moc/preprocessor.cpp b/src/tools/moc/preprocessor.cpp index 9d9feb3ebeb..ca5ee87cf1e 100644 --- a/src/tools/moc/preprocessor.cpp +++ b/src/tools/moc/preprocessor.cpp @@ -205,13 +205,13 @@ Symbols Preprocessor::tokenize(const QByteArray& input, int lineNum, Preprocesso // STRING_LITERAL handling in moc if (!Preprocessor::preprocessOnly && !symbols.isEmpty() - && symbols.last().token == STRING_LITERAL) { + && symbols.constLast().token == STRING_LITERAL) { - QByteArray newString = symbols.last().unquotedLexem(); + QByteArray newString = symbols.constLast().unquotedLexem(); newString += input.mid(lexem - begin + 1, data - lexem - 2); newString.prepend('\"'); newString.append('\"'); - symbols.last() = Symbol(symbols.last().lineNum, + symbols.last() = Symbol(symbols.constLast().lineNum, STRING_LITERAL, newString); continue; @@ -679,7 +679,7 @@ Symbols Preprocessor::macroExpandIdentifier(Preprocessor *that, SymbolStack &sym if (s.token == WHITESPACE) continue; - while (expansion.size() && expansion.last().token == PP_WHITESPACE) + while (expansion.size() && expansion.constLast().token == PP_WHITESPACE) expansion.pop_back(); Symbol next = s; @@ -692,8 +692,8 @@ Symbols Preprocessor::macroExpandIdentifier(Preprocessor *that, SymbolStack &sym next = arg.at(0); } - if (!expansion.isEmpty() && expansion.last().token == s.token) { - Symbol last = expansion.last(); + if (!expansion.isEmpty() && expansion.constLast().token == s.token) { + Symbol last = expansion.constLast(); expansion.pop_back(); if (last.token == STRING_LITERAL || s.token == STRING_LITERAL) @@ -1127,12 +1127,12 @@ void Preprocessor::preprocess(const QByteArray &filename, Symbols &preprocessed) } // remove trailing whitespace while (!macro.symbols.isEmpty() && - (macro.symbols.last().token == PP_WHITESPACE || macro.symbols.last().token == WHITESPACE)) + (macro.symbols.constLast().token == PP_WHITESPACE || macro.symbols.constLast().token == WHITESPACE)) macro.symbols.pop_back(); if (!macro.symbols.isEmpty()) { - if (macro.symbols.first().token == PP_HASHHASH || - macro.symbols.last().token == PP_HASHHASH) { + if (macro.symbols.constFirst().token == PP_HASHHASH || + macro.symbols.constLast().token == PP_HASHHASH) { error("'##' cannot appear at either end of a macro expansion"); } } |
