aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Donchevskii <[email protected]>2018-02-20 11:53:00 +0100
committerIvan Donchevskii <[email protected]>2018-02-22 13:21:38 +0000
commit1d2b27081ae2f0531a28138dd90510d206b3262e (patch)
treee4a01816c7c71000395b1d38f02b19edaf840525
parent4286a4d507bb22a871604898b115ce3f9610fe11 (diff)
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 <[email protected]>
-rw-r--r--src/libs/cplusplus/BackwardsScanner.cpp5
-rw-r--r--src/libs/cplusplus/BackwardsScanner.h1
-rw-r--r--src/libs/cplusplus/MatchingText.cpp4
3 files changed, 8 insertions, 2 deletions
diff --git a/src/libs/cplusplus/BackwardsScanner.cpp b/src/libs/cplusplus/BackwardsScanner.cpp
index 6d498eaddcc..e547f831036 100644
--- a/src/libs/cplusplus/BackwardsScanner.cpp
+++ b/src/libs/cplusplus/BackwardsScanner.cpp
@@ -124,6 +124,11 @@ int BackwardsScanner::size() const
return _tokens.size();
}
+int BackwardsScanner::offset() const
+{
+ return _offset;
+}
+
int BackwardsScanner::startOfMatchingBrace(int index) const
{
const BackwardsScanner &tk = *this;
diff --git a/src/libs/cplusplus/BackwardsScanner.h b/src/libs/cplusplus/BackwardsScanner.h
index 2ac7a17a365..9d732f85826 100644
--- a/src/libs/cplusplus/BackwardsScanner.h
+++ b/src/libs/cplusplus/BackwardsScanner.h
@@ -66,6 +66,7 @@ public:
int startOfBlock(int index) const;
int size() const;
+ int offset() const;
static int previousBlockState(const QTextBlock &block);
diff --git a/src/libs/cplusplus/MatchingText.cpp b/src/libs/cplusplus/MatchingText.cpp
index 9b3a3f75f54..ade81c9b9f8 100644
--- a/src/libs/cplusplus/MatchingText.cpp
+++ b/src/libs/cplusplus/MatchingText.cpp
@@ -324,7 +324,7 @@ static bool isRecordLikeToken(const Token &token)
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 false;
}
@@ -347,7 +347,7 @@ static bool recordLikeMightFollowToken(const Token &token)
static bool isAfterRecordLikeDefinition(const BackwardsScanner &tokens, int index)
{
- for (; index >= 0; --index) {
+ for (;; --index) {
if (recordLikeHasToFollowToken(tokens[index]))
return isRecordLikeToken(tokens, index + 1);