diff --git a/src/libs/cplusplus/BackwardsScanner.cpp b/src/libs/cplusplus/BackwardsScanner.cpp index 32efdf158ee2e0f9a53ca375d934545873655136..da12f3e599a2b6f039a6fdcc1479a9900d71045c 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 a109d2cab31f59edb8d4597f0d3219763ed2578e..b2e7414951e12d62d9d32d3dd5d0b08c2d0e1fae 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 e64444190254c832ea15e726ca72fd677f6d2541..8016f537bb2de71be26d4f2688005784700971e4 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