diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-01-29 15:05:22 +0100 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-01-29 15:05:22 +0100 |
commit | 04161a4cedbaaae089a1faa691cbc0a9e17c16a8 (patch) | |
tree | cb3de81e13144e040b1137b7a3590ff2509b6eb8 /src/libs/qmljs/qmljsscanner.cpp | |
parent | fbbc27be3289e2169ca0b72c378c8d5ce24f1d1a (diff) | |
download | qt-creator-04161a4cedbaaae089a1faa691cbc0a9e17c16a8.tar.gz |
Introduced QmlJSScanner::scanComments/setScanComments(onoff).
Diffstat (limited to 'src/libs/qmljs/qmljsscanner.cpp')
-rw-r--r-- | src/libs/qmljs/qmljsscanner.cpp | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/src/libs/qmljs/qmljsscanner.cpp b/src/libs/qmljs/qmljsscanner.cpp index c916f1aa23..8567bf6002 100644 --- a/src/libs/qmljs/qmljsscanner.cpp +++ b/src/libs/qmljs/qmljsscanner.cpp @@ -77,7 +77,8 @@ const _Tp *end(const _Tp (&a)[N]) } QmlJSScanner::QmlJSScanner() - : m_state(0) + : _state(0), + _scanComments(true) { } @@ -85,6 +86,16 @@ QmlJSScanner::~QmlJSScanner() { } +bool QmlJSScanner::scanComments() const +{ + return _scanComments; +} + +void QmlJSScanner::setScanComments(bool scanComments) +{ + _scanComments = scanComments; +} + static bool isIdentifierChar(QChar ch) { switch (ch.unicode()) { @@ -116,14 +127,14 @@ QList<Token> QmlJSScanner::operator()(const QString &text, int startState) MultiLineComment = 1 }; - m_state = startState; + _state = startState; QList<Token> tokens; // ### handle multi line comment state. int index = 0; - if (m_state == MultiLineComment) { + if (_state == MultiLineComment) { const int start = index; while (index < text.length()) { const QChar ch = text.at(index); @@ -132,7 +143,7 @@ QList<Token> QmlJSScanner::operator()(const QString &text, int startState) la = text.at(index + 1); if (ch == QLatin1Char('*') && la == QLatin1Char('/')) { - m_state = Normal; + _state = Normal; index += 2; break; } else { @@ -140,7 +151,8 @@ QList<Token> QmlJSScanner::operator()(const QString &text, int startState) } } - tokens.append(Token(start, index - start, Token::Comment)); + if (_scanComments) + tokens.append(Token(start, index - start, Token::Comment)); } while (index < text.length()) { @@ -153,12 +165,13 @@ QList<Token> QmlJSScanner::operator()(const QString &text, int startState) switch (ch.unicode()) { case '/': if (la == QLatin1Char('/')) { - tokens.append(Token(index, text.length() - index, Token::Comment)); + if (_scanComments) + tokens.append(Token(index, text.length() - index, Token::Comment)); index = text.length(); } else if (la == QLatin1Char('*')) { const int start = index; index += 2; - m_state = MultiLineComment; + _state = MultiLineComment; while (index < text.length()) { const QChar ch = text.at(index); QChar la; @@ -166,14 +179,15 @@ QList<Token> QmlJSScanner::operator()(const QString &text, int startState) la = text.at(index + 1); if (ch == QLatin1Char('*') && la == QLatin1Char('/')) { - m_state = Normal; + _state = Normal; index += 2; break; } else { ++index; } } - tokens.append(Token(start, index - start, Token::Comment)); + if (_scanComments) + tokens.append(Token(start, index - start, Token::Comment)); } else { tokens.append(Token(index++, 1, Token::Delimiter)); } @@ -285,7 +299,7 @@ QList<Token> QmlJSScanner::operator()(const QString &text, int startState) int QmlJSScanner::state() const { - return m_state; + return _state; } bool QmlJSScanner::isKeyword(const QString &text) const |