diff options
author | hjk <hjk121@nokiamail.com> | 2014-11-06 09:35:29 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-11-06 16:13:58 +0100 |
commit | ca151d07fa6d97039fed95dcabe206fce41f5769 (patch) | |
tree | 77b2e92a9fc01a074d3debdb0300d28337b8cf19 | |
parent | cb1d040c327f5c8ed8a188e6227ef0e131a3271b (diff) | |
download | qt-creator-ca151d07fa6d97039fed95dcabe206fce41f5769.tar.gz |
CPlusPlus: Use QVector<Token> instead of QList
Better suited to avoid the indirection (sizeof(Token) > sizeof(void *))
Change-Id: Ia5f42781e720ef6aa8161f8f81ae8ddd8e58c837
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-rw-r--r-- | src/libs/cplusplus/BackwardsScanner.cpp | 4 | ||||
-rw-r--r-- | src/libs/cplusplus/BackwardsScanner.h | 2 | ||||
-rw-r--r-- | src/libs/cplusplus/SimpleLexer.cpp | 10 | ||||
-rw-r--r-- | src/libs/cplusplus/SimpleLexer.h | 9 | ||||
-rw-r--r-- | src/plugins/clangcodemodel/clangcompletion.cpp | 6 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppautocompleter.cpp | 6 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppfollowsymbolundercursor.cpp | 5 | ||||
-rw-r--r-- | src/plugins/cppeditor/cpphighlighter.cpp | 2 | ||||
-rw-r--r-- | src/plugins/cpptools/builtineditordocumentprocessor.cpp | 2 | ||||
-rw-r--r-- | src/plugins/cpptools/cppcodeformatter.cpp | 2 | ||||
-rw-r--r-- | src/plugins/cpptools/cppcodeformatter.h | 6 | ||||
-rw-r--r-- | src/plugins/cpptools/cppcompletionassist.cpp | 6 | ||||
-rw-r--r-- | src/plugins/cpptools/doxygengenerator.cpp | 2 |
13 files changed, 31 insertions, 31 deletions
diff --git a/src/libs/cplusplus/BackwardsScanner.cpp b/src/libs/cplusplus/BackwardsScanner.cpp index ddf1e4c598..67807ff1d2 100644 --- a/src/libs/cplusplus/BackwardsScanner.cpp +++ b/src/libs/cplusplus/BackwardsScanner.cpp @@ -59,7 +59,7 @@ BackwardsScanner::BackwardsScanner(const QTextCursor &cursor, if (! suffix.isEmpty()) _text += suffix; - _tokens.append(_tokenize(_text, previousBlockState(_block))); + _tokens += _tokenize(_text, previousBlockState(_block)); _startToken = _tokens.size(); } @@ -85,7 +85,7 @@ const Token &BackwardsScanner::fetchToken(int tokenIndex) _text.prepend(QLatin1Char('\n')); _text.prepend(blockText); - QList<Token> adaptedTokens; + Tokens adaptedTokens; for (int i = 0; i < _tokens.size(); ++i) { Token t = _tokens.at(i); t.utf16charOffset += blockText.length() + 1; diff --git a/src/libs/cplusplus/BackwardsScanner.h b/src/libs/cplusplus/BackwardsScanner.h index 9ddc26d3ed..38c5e19e20 100644 --- a/src/libs/cplusplus/BackwardsScanner.h +++ b/src/libs/cplusplus/BackwardsScanner.h @@ -77,7 +77,7 @@ private: const Token &fetchToken(int tokenIndex); private: - QList<Token> _tokens; + Tokens _tokens; int _offset; int _blocksTokenized; QTextBlock _block; diff --git a/src/libs/cplusplus/SimpleLexer.cpp b/src/libs/cplusplus/SimpleLexer.cpp index cec749eba0..db76bb4c09 100644 --- a/src/libs/cplusplus/SimpleLexer.cpp +++ b/src/libs/cplusplus/SimpleLexer.cpp @@ -62,9 +62,9 @@ bool SimpleLexer::endedJoined() const return _endedJoined; } -QList<Token> SimpleLexer::operator()(const QString &text, int state) +Tokens SimpleLexer::operator()(const QString &text, int state) { - QList<Token> tokens; + Tokens tokens; const QByteArray bytes = text.toUtf8(); const char *firstChar = bytes.constData(); @@ -113,7 +113,7 @@ QList<Token> SimpleLexer::operator()(const QString &text, int state) return tokens; } -int SimpleLexer::tokenAt(const QList<Token> &tokens, unsigned utf16charsOffset) +int SimpleLexer::tokenAt(const Tokens &tokens, unsigned utf16charsOffset) { for (int index = tokens.size() - 1; index >= 0; --index) { const Token &tk = tokens.at(index); @@ -138,12 +138,12 @@ Token SimpleLexer::tokenAt(const QString &text, features.cxx11Enabled = qtMocRunEnabled; SimpleLexer tokenize; tokenize.setLanguageFeatures(features); - const QList<Token> tokens = tokenize(text, state); + const QVector<Token> tokens = tokenize(text, state); const int tokenIdx = tokenAt(tokens, utf16charsOffset); return (tokenIdx == -1) ? Token() : tokens.at(tokenIdx); } -int SimpleLexer::tokenBefore(const QList<Token> &tokens, unsigned utf16charsOffset) +int SimpleLexer::tokenBefore(const Tokens &tokens, unsigned utf16charsOffset) { for (int index = tokens.size() - 1; index >= 0; --index) { const Token &tk = tokens.at(index); diff --git a/src/libs/cplusplus/SimpleLexer.h b/src/libs/cplusplus/SimpleLexer.h index 8692e7975e..d4cba997e0 100644 --- a/src/libs/cplusplus/SimpleLexer.h +++ b/src/libs/cplusplus/SimpleLexer.h @@ -34,12 +34,13 @@ #include <cplusplus/Token.h> #include <QString> -#include <QList> +#include <QVector> namespace CPlusPlus { class SimpleLexer; class Token; +typedef QVector<Token> Tokens; class CPLUSPLUS_EXPORT SimpleLexer { @@ -55,18 +56,18 @@ public: bool endedJoined() const; - QList<Token> operator()(const QString &text, int state = 0); + Tokens operator()(const QString &text, int state = 0); int state() const { return _lastState; } - static int tokenAt(const QList<Token> &tokens, unsigned utf16charsOffset); + static int tokenAt(const Tokens &tokens, unsigned utf16charsOffset); static Token tokenAt(const QString &text, unsigned utf16charsOffset, int state, bool qtMocRunEnabled = false); - static int tokenBefore(const QList<Token> &tokens, unsigned utf16charsOffset); + static int tokenBefore(const Tokens &tokens, unsigned utf16charsOffset); private: int _lastState; diff --git a/src/plugins/clangcodemodel/clangcompletion.cpp b/src/plugins/clangcodemodel/clangcompletion.cpp index d6019fb687..3f37f2747c 100644 --- a/src/plugins/clangcodemodel/clangcompletion.cpp +++ b/src/plugins/clangcodemodel/clangcompletion.cpp @@ -321,7 +321,7 @@ int ClangFunctionHintModel::activeArgument(const QString &prefix) const int argnr = 0; int parcount = 0; SimpleLexer tokenize; - QList<CPlusPlus::Token> tokens = tokenize(prefix); + Tokens tokens = tokenize(prefix); for (int i = 0; i < tokens.count(); ++i) { const CPlusPlus::Token &tk = tokens.at(i); if (tk.is(T_LPAREN)) @@ -747,7 +747,7 @@ int ClangCompletionAssistProcessor::startOfOperator(int pos, lf.objCEnabled = true; tokenize.setLanguageFeatures(lf); tokenize.setSkipComments(false); - const QList<CPlusPlus::Token> &tokens = tokenize(tc.block().text(), BackwardsScanner::previousBlockState(tc.block())); + const Tokens &tokens = tokenize(tc.block().text(), BackwardsScanner::previousBlockState(tc.block())); const int tokenIdx = SimpleLexer::tokenBefore(tokens, qMax(0, tc.positionInBlock() - 1)); // get the token at the left of the cursor const CPlusPlus::Token tk = (tokenIdx == -1) ? CPlusPlus::Token() : tokens.at(tokenIdx); @@ -858,7 +858,7 @@ bool ClangCompletionAssistProcessor::accepts() const lf.objCEnabled = true; tokenize.setLanguageFeatures(lf); tokenize.setSkipComments(false); - const QList<CPlusPlus::Token> &tokens = tokenize(tc.block().text(), BackwardsScanner::previousBlockState(tc.block())); + const Tokens &tokens = tokenize(tc.block().text(), BackwardsScanner::previousBlockState(tc.block())); const int tokenIdx = SimpleLexer::tokenBefore(tokens, qMax(0, tc.positionInBlock() - 1)); const CPlusPlus::Token tk = (tokenIdx == -1) ? CPlusPlus::Token() : tokens.at(tokenIdx); diff --git a/src/plugins/cppeditor/cppautocompleter.cpp b/src/plugins/cppeditor/cppautocompleter.cpp index f666a4ea8e..84dddf735a 100644 --- a/src/plugins/cppeditor/cppautocompleter.cpp +++ b/src/plugins/cppeditor/cppautocompleter.cpp @@ -40,7 +40,7 @@ using namespace CppEditor; using namespace Internal; using namespace CPlusPlus; -static const Token tokenAtPosition(const QList<Token> &tokens, const unsigned pos) +static const Token tokenAtPosition(const Tokens &tokens, const unsigned pos) { for (int i = tokens.size() - 1; i >= 0; --i) { const Token tk = tokens.at(i); @@ -63,7 +63,7 @@ static bool isInCommentHelper(const QTextCursor &cursor, Token *retToken = 0) tokenize.setLanguageFeatures(features); const int prevState = BackwardsScanner::previousBlockState(cursor.block()) & 0xFF; - const QList<Token> tokens = tokenize(cursor.block().text(), prevState); + const Tokens tokens = tokenize(cursor.block().text(), prevState); const unsigned pos = cursor.selectionEnd() - cursor.block().position(); @@ -98,7 +98,7 @@ static bool isInStringHelper(const QTextCursor &cursor, Token *retToken = 0) tokenize.setLanguageFeatures(features); const int prevState = BackwardsScanner::previousBlockState(cursor.block()) & 0xFF; - const QList<Token> tokens = tokenize(cursor.block().text(), prevState); + const Tokens tokens = tokenize(cursor.block().text(), prevState); const unsigned pos = cursor.selectionEnd() - cursor.block().position(); diff --git a/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp b/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp index 93278a44f6..0f52de09fa 100644 --- a/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp +++ b/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp @@ -408,7 +408,7 @@ FollowSymbolUnderCursor::~FollowSymbolUnderCursor() delete m_virtualFunctionAssistProvider; } -static int skipMatchingParentheses(const QList<Token> &tokens, int idx, int initialDepth) +static int skipMatchingParentheses(const Tokens &tokens, int idx, int initialDepth) { int j = idx; int depth = initialDepth; @@ -476,8 +476,7 @@ TextEditorWidget::Link FollowSymbolUnderCursor::findLink(const QTextCursor &curs SimpleLexer tokenize; tokenize.setLanguageFeatures(features); const QString blockText = cursor.block().text(); - const QList<Token> tokens = tokenize(blockText, - BackwardsScanner::previousBlockState(cursor.block())); + const Tokens tokens = tokenize(blockText, BackwardsScanner::previousBlockState(cursor.block())); bool recognizedQtMethod = false; diff --git a/src/plugins/cppeditor/cpphighlighter.cpp b/src/plugins/cppeditor/cpphighlighter.cpp index 94263e2b64..f7af544345 100644 --- a/src/plugins/cppeditor/cpphighlighter.cpp +++ b/src/plugins/cppeditor/cpphighlighter.cpp @@ -85,7 +85,7 @@ void CppHighlighter::highlightBlock(const QString &text) tokenize.setLanguageFeatures(features); int initialLexerState = lexerState; - const QList<Token> tokens = tokenize(text, initialLexerState); + const Tokens tokens = tokenize(text, initialLexerState); lexerState = tokenize.state(); // refresh lexer state initialLexerState &= ~0x80; // discard newline expected bit diff --git a/src/plugins/cpptools/builtineditordocumentprocessor.cpp b/src/plugins/cpptools/builtineditordocumentprocessor.cpp index d1e23101a9..3a3ee3eebb 100644 --- a/src/plugins/cpptools/builtineditordocumentprocessor.cpp +++ b/src/plugins/cpptools/builtineditordocumentprocessor.cpp @@ -95,7 +95,7 @@ CppTools::CheckSymbols *createHighlighter(const CPlusPlus::Document::Ptr &doc, SimpleLexer tokenize; tokenize.setLanguageFeatures(features); - const QList<Token> tokens = tokenize(name); + const Tokens tokens = tokenize(name); if (tokens.length() && (tokens.at(0).isKeyword() || tokens.at(0).isObjCAtKeyword())) continue; diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp index 856089ad67..355d59424a 100644 --- a/src/plugins/cpptools/cppcodeformatter.cpp +++ b/src/plugins/cpptools/cppcodeformatter.cpp @@ -1449,7 +1449,7 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd *savedPaddingDepth = qMax(0, *savedPaddingDepth); } -void QtStyleCodeFormatter::adjustIndent(const QList<CPlusPlus::Token> &tokens, int lexerState, int *indentDepth, int *paddingDepth) const +void QtStyleCodeFormatter::adjustIndent(const Tokens &tokens, int lexerState, int *indentDepth, int *paddingDepth) const { State topState = state(); State previousState = state(1); diff --git a/src/plugins/cpptools/cppcodeformatter.h b/src/plugins/cpptools/cppcodeformatter.h index d2f5799df5..15ddc02a94 100644 --- a/src/plugins/cpptools/cppcodeformatter.h +++ b/src/plugins/cpptools/cppcodeformatter.h @@ -74,7 +74,7 @@ public: protected: virtual void onEnter(int newState, int *indentDepth, int *savedIndentDepth, int *paddingDepth, int *savedPaddingDepth) const = 0; - virtual void adjustIndent(const QList<CPlusPlus::Token> &tokens, int lexerState, int *indentDepth, int *paddingDepth) const = 0; + virtual void adjustIndent(const CPlusPlus::Tokens &tokens, int lexerState, int *indentDepth, int *paddingDepth) const = 0; class State; class BlockData @@ -251,7 +251,7 @@ private: QStack<State> m_currentState; QStack<State> m_newStates; - QList<CPlusPlus::Token> m_tokens; + CPlusPlus::Tokens m_tokens; QString m_currentLine; CPlusPlus::Token m_currentToken; int m_tokenIndex; @@ -276,7 +276,7 @@ public: protected: virtual void onEnter(int newState, int *indentDepth, int *savedIndentDepth, int *paddingDepth, int *savedPaddingDepth) const; - virtual void adjustIndent(const QList<CPlusPlus::Token> &tokens, int lexerState, int *indentDepth, int *paddingDepth) const; + virtual void adjustIndent(const CPlusPlus::Tokens &tokens, int lexerState, int *indentDepth, int *paddingDepth) const; virtual void saveBlockData(QTextBlock *block, const BlockData &data) const; virtual bool loadBlockData(const QTextBlock &block, BlockData *data) const; diff --git a/src/plugins/cpptools/cppcompletionassist.cpp b/src/plugins/cpptools/cppcompletionassist.cpp index cf17e742e5..44743977d4 100644 --- a/src/plugins/cpptools/cppcompletionassist.cpp +++ b/src/plugins/cpptools/cppcompletionassist.cpp @@ -387,7 +387,7 @@ int CppFunctionHintModel::activeArgument(const QString &prefix) const int argnr = 0; int parcount = 0; SimpleLexer tokenize; - QList<Token> tokens = tokenize(prefix); + Tokens tokens = tokenize(prefix); for (int i = 0; i < tokens.count(); ++i) { const Token &tk = tokens.at(i); if (tk.is(T_LPAREN)) @@ -686,7 +686,7 @@ bool CppCompletionAssistProcessor::accepts() const tokenize.setLanguageFeatures(features); tokenize.setSkipComments(false); - const QList<Token> &tokens = tokenize(tc.block().text(), BackwardsScanner::previousBlockState(tc.block())); + const Tokens &tokens = tokenize(tc.block().text(), BackwardsScanner::previousBlockState(tc.block())); const int tokenIdx = SimpleLexer::tokenBefore(tokens, qMax(0, tc.positionInBlock() - 1)); const Token tk = (tokenIdx == -1) ? Token() : tokens.at(tokenIdx); @@ -789,7 +789,7 @@ int CppCompletionAssistProcessor::startOfOperator(int pos, SimpleLexer tokenize; tokenize.setLanguageFeatures(m_languageFeatures); tokenize.setSkipComments(false); - const QList<Token> &tokens = tokenize(tc.block().text(), BackwardsScanner::previousBlockState(tc.block())); + const Tokens &tokens = tokenize(tc.block().text(), BackwardsScanner::previousBlockState(tc.block())); const int tokenIdx = SimpleLexer::tokenBefore(tokens, qMax(0, tc.positionInBlock() - 1)); // get the token at the left of the cursor const Token tk = (tokenIdx == -1) ? Token() : tokens.at(tokenIdx); diff --git a/src/plugins/cpptools/doxygengenerator.cpp b/src/plugins/cpptools/doxygengenerator.cpp index c8a908d01e..508a5d4561 100644 --- a/src/plugins/cpptools/doxygengenerator.cpp +++ b/src/plugins/cpptools/doxygengenerator.cpp @@ -80,7 +80,7 @@ QString DoxygenGenerator::generate(QTextCursor cursor) QTextBlock block = cursor.block(); while (block.isValid()) { const QString &text = block.text(); - const QList<Token> &tks = lexer(text); + const Tokens &tks = lexer(text); foreach (const Token &tk, tks) { if (tk.is(T_SEMICOLON) || tk.is(T_LBRACE)) { // No need to continue beyond this, we might already have something meaningful. |