C++: Fix unit-tests for MatchingText

BackwardScanner required more investigation and this is
the better fix than 413c66ec.

Change-Id: I651a7b416b549cc4a0e086873262d04409a7448e
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-02-20 11:53:00 +01:00
parent 4286a4d507
commit 1d2b27081a
3 changed files with 8 additions and 2 deletions

View File

@@ -124,6 +124,11 @@ int BackwardsScanner::size() const
return _tokens.size(); return _tokens.size();
} }
int BackwardsScanner::offset() const
{
return _offset;
}
int BackwardsScanner::startOfMatchingBrace(int index) const int BackwardsScanner::startOfMatchingBrace(int index) const
{ {
const BackwardsScanner &tk = *this; const BackwardsScanner &tk = *this;

View File

@@ -66,6 +66,7 @@ public:
int startOfBlock(int index) const; int startOfBlock(int index) const;
int size() const; int size() const;
int offset() const;
static int previousBlockState(const QTextBlock &block); static int previousBlockState(const QTextBlock &block);

View File

@@ -324,7 +324,7 @@ static bool isRecordLikeToken(const Token &token)
static bool isRecordLikeToken(const BackwardsScanner &tokens, int index) static bool isRecordLikeToken(const BackwardsScanner &tokens, int index)
{ {
if (index < tokens.size() - 1) if (index + tokens.offset() < tokens.size() - 1)
return isRecordLikeToken(tokens[index]); return isRecordLikeToken(tokens[index]);
return false; return false;
} }
@@ -347,7 +347,7 @@ static bool recordLikeMightFollowToken(const Token &token)
static bool isAfterRecordLikeDefinition(const BackwardsScanner &tokens, int index) static bool isAfterRecordLikeDefinition(const BackwardsScanner &tokens, int index)
{ {
for (; index >= 0; --index) { for (;; --index) {
if (recordLikeHasToFollowToken(tokens[index])) if (recordLikeHasToFollowToken(tokens[index]))
return isRecordLikeToken(tokens, index + 1); return isRecordLikeToken(tokens, index + 1);