diff options
author | Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com> | 2009-12-08 11:26:05 +0100 |
---|---|---|
committer | Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com> | 2009-12-08 11:26:05 +0100 |
commit | d20cdc64e3d8f23ac404e3474fdddca847c4ce8a (patch) | |
tree | c647d8e820a61de7d05077b882fa82f51609a273 /src/libs/cplusplus/BackwardsScanner.cpp | |
parent | b63e6e939d16241e30b9a1a638c2fcc5efe9c71d (diff) | |
parent | 4bbb9219e9c29af8abad5eedc394dc9472d67e29 (diff) | |
download | qt-creator-d20cdc64e3d8f23ac404e3474fdddca847c4ce8a.tar.gz |
Merge remote branch 'origin/1.3'
Diffstat (limited to 'src/libs/cplusplus/BackwardsScanner.cpp')
-rw-r--r-- | src/libs/cplusplus/BackwardsScanner.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/libs/cplusplus/BackwardsScanner.cpp b/src/libs/cplusplus/BackwardsScanner.cpp index 46fb15efe4..bca041c5d7 100644 --- a/src/libs/cplusplus/BackwardsScanner.cpp +++ b/src/libs/cplusplus/BackwardsScanner.cpp @@ -71,13 +71,14 @@ const SimpleToken &BackwardsScanner::fetchToken(int i) } else { ++_blocksTokenized; - const QString blockText = _block.text(); + QString blockText = _block.text(); + _text.prepend(QLatin1Char('\n')); _text.prepend(blockText); QList<SimpleToken> adaptedTokens; for (int i = 0; i < _tokens.size(); ++i) { SimpleToken t = _tokens.at(i); - t.setPosition(t.position() + blockText.length()); + t.setPosition(t.position() + blockText.length() + 1); t.setText(_text.midRef(t.position(), t.length())); adaptedTokens.append(t); } @@ -248,8 +249,9 @@ int BackwardsScanner::startOfBlock(int index) const return start; } -int BackwardsScanner::indentation(int index) const +QString BackwardsScanner::indentationString(int index) const { - SimpleToken newline = operator[](startOfLine(index + 1)); - return newline.position(); + const SimpleToken tokenAfterNewline = operator[](startOfLine(index + 1)); + const int newlinePos = qMax(0, _text.lastIndexOf(QLatin1Char('\n'), tokenAfterNewline.position())); + return _text.mid(newlinePos, tokenAfterNewline.position() - newlinePos); } |