summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/pp-engine.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-03-03 14:09:38 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2010-03-03 14:11:45 +0100
commit293f67580dbfc2a5888be33c7807e28e2dcaf6bf (patch)
treec68aaef099a87472943091021bcde262616d9e33 /src/libs/cplusplus/pp-engine.cpp
parenta673fb7120a597caf92406007d68eea63e646fed (diff)
downloadqt-creator-293f67580dbfc2a5888be33c7807e28e2dcaf6bf.tar.gz
Fixed: Wrong usage highlighting if function's argument list contains comment.
Task-number: QTCREATORBUG-577
Diffstat (limited to 'src/libs/cplusplus/pp-engine.cpp')
-rw-r--r--src/libs/cplusplus/pp-engine.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp
index 6a6e527427..806449959a 100644
--- a/src/libs/cplusplus/pp-engine.cpp
+++ b/src/libs/cplusplus/pp-engine.cpp
@@ -662,6 +662,21 @@ bool Preprocessor::markGeneratedTokens(bool markGeneratedTokens,
return previous;
}
+bool Preprocessor::maybeAfterComment() const
+{
+ unsigned endOfPreviousToken = 0;
+
+ if (_dot != _tokens.constBegin())
+ endOfPreviousToken = (_dot - 1)->end();
+
+ const char *start = _source.constBegin() + endOfPreviousToken;
+
+ if (*start == '/')
+ return true;
+
+ return false;
+}
+
void Preprocessor::preprocess(const QString &fileName, const QByteArray &source,
QByteArray *result)
{
@@ -710,7 +725,7 @@ void Preprocessor::preprocess(const QString &fileName, const QByteArray &source,
} else {
- if (_dot->f.whitespace) {
+ if (_dot->f.whitespace || maybeAfterComment()) {
unsigned endOfPreviousToken = 0;
if (_dot != _tokens.constBegin())