diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-03-03 14:09:38 +0100 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-03-03 14:11:45 +0100 |
commit | 293f67580dbfc2a5888be33c7807e28e2dcaf6bf (patch) | |
tree | c68aaef099a87472943091021bcde262616d9e33 /src/libs/cplusplus/pp-engine.cpp | |
parent | a673fb7120a597caf92406007d68eea63e646fed (diff) | |
download | qt-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.cpp | 17 |
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()) |