From 42c676d19a76a1ca19c8508856f8f323251f3e7f Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Mon, 21 Sep 2009 17:38:25 +0200 Subject: [PATCH] Added BackwardsScanner::mid(tokenIndex). Mid() returns a substring starting from the position of the given token. --- src/libs/cplusplus/BackwardsScanner.cpp | 6 ++++++ src/libs/cplusplus/BackwardsScanner.h | 3 ++- src/libs/cplusplus/ExpressionUnderCursor.cpp | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/libs/cplusplus/BackwardsScanner.cpp b/src/libs/cplusplus/BackwardsScanner.cpp index 32efdf158ee..da12f3e599a 100644 --- a/src/libs/cplusplus/BackwardsScanner.cpp +++ b/src/libs/cplusplus/BackwardsScanner.cpp @@ -99,6 +99,12 @@ int BackwardsScanner::startPosition() const QString BackwardsScanner::text() const { return _text; } +QString BackwardsScanner::mid(int index) const +{ + const SimpleToken &firstToken = _tokens.at(index + _offset); + return _text.mid(firstToken.begin()); +} + QString BackwardsScanner::text(int index) const { const SimpleToken &firstToken = _tokens.at(index + _offset); diff --git a/src/libs/cplusplus/BackwardsScanner.h b/src/libs/cplusplus/BackwardsScanner.h index a109d2cab31..b2e7414951e 100644 --- a/src/libs/cplusplus/BackwardsScanner.h +++ b/src/libs/cplusplus/BackwardsScanner.h @@ -51,9 +51,10 @@ public: int startPosition() const; QString text() const; + QString mid(int index) const; + QString text(int index) const; QStringRef textRef(int index) const; - // 1-based SimpleToken LA(int index) const; diff --git a/src/libs/cplusplus/ExpressionUnderCursor.cpp b/src/libs/cplusplus/ExpressionUnderCursor.cpp index e6444419025..8016f537bb2 100644 --- a/src/libs/cplusplus/ExpressionUnderCursor.cpp +++ b/src/libs/cplusplus/ExpressionUnderCursor.cpp @@ -150,7 +150,7 @@ QString ExpressionUnderCursor::operator()(const QTextCursor &cursor) if (i == initialSize) return QString(); - return scanner.text(i); + return scanner.mid(i); } int ExpressionUnderCursor::startOfFunctionCall(const QTextCursor &cursor) const -- GitLab