summaryrefslogtreecommitdiff
path: root/src/libs/qmljs/qmljsscanner.h
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-01-28 13:12:52 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2010-01-28 13:13:23 +0100
commitfa925ccd5a098a410d6f8af4689fdbc2c6fa6a8b (patch)
treed18ec521cf851522946f3b29f529c899929b36a8 /src/libs/qmljs/qmljsscanner.h
parent7a379001cb8836379fdfec5b75fb25e88af527cf (diff)
downloadqt-creator-fa925ccd5a098a410d6f8af4689fdbc2c6fa6a8b.tar.gz
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.h32
1 files changed, 5 insertions, 27 deletions
diff --git a/src/libs/qmljs/qmljsscanner.h b/src/libs/qmljs/qmljsscanner.h
index e8aea6b94e..9c98714fc6 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