diff options
author | Roberto Raggi <[email protected]> | 2010-01-28 13:12:52 +0100 |
---|---|---|
committer | Roberto Raggi <[email protected]> | 2010-01-28 13:13:23 +0100 |
commit | fa925ccd5a098a410d6f8af4689fdbc2c6fa6a8b (patch) | |
tree | d18ec521cf851522946f3b29f529c899929b36a8 /src/libs/qmljs/qmljsscanner.h | |
parent | 7a379001cb8836379fdfec5b75fb25e88af527cf (diff) |
Say hello to the new incremental scanner for QML/JS.
Diffstat (limited to 'src/libs/qmljs/qmljsscanner.h')
-rw-r--r-- | src/libs/qmljs/qmljsscanner.h | 32 |
1 files changed, 5 insertions, 27 deletions
diff --git a/src/libs/qmljs/qmljsscanner.h b/src/libs/qmljs/qmljsscanner.h index e8aea6b94ea..9c98714fc69 100644 --- a/src/libs/qmljs/qmljsscanner.h +++ b/src/libs/qmljs/qmljsscanner.h @@ -54,11 +54,11 @@ public: RightBrace, LeftBracket, RightBracket, - Operator, Semicolon, Colon, Comma, - Dot + Dot, + Delimiter }; inline Token(): offset(0), length(0), kind(EndOfFile) {} @@ -83,39 +83,17 @@ public: void setKeywords(const QSet<QString> keywords) { m_keywords = keywords; } - void reset(); - QList<Token> operator()(const QString &text, int startState = 0); int endState() const - { return m_endState; } - - int firstNonSpace() const - { return m_firstNonSpace; } - - QList<Token> tokens() const - { return m_tokens; } + { return m_state; } private: - void blockEnd(int state, int firstNonSpace) - { m_endState = state; m_firstNonSpace = firstNonSpace; } - void insertString(int start) - { insertToken(start, 1, Token::String, false); } - void insertComment(int start, int length) - { insertToken(start, length, Token::Comment, false); } - void insertCharToken(int start, const char c); - void insertIdentifier(int start) - { insertToken(start, 1, Token::Identifier, false); } - void insertNumber(int start) - { insertToken(start, 1, Token::Number, false); } - void insertToken(int start, int length, Token::Kind kind, bool forceNewToken); - void scanForKeywords(const QString &text); + bool isKeyword(const QString &text) const; private: QSet<QString> m_keywords; - int m_endState; - int m_firstNonSpace; - QList<Token> m_tokens; + int m_state; }; } // namespace QmlJS |