#ifndef QMLJSINTERPRETER_H #define QMLJSINTERPRETER_H #include #include #include #include #include namespace QmlJSTools { namespace Internal { class QmlJSInterpreter: QmlJS::Lexer { public: QmlJSInterpreter() : Lexer(&m_engine), m_stateStack(128) { } void clearText() { m_code.clear(); } void appendText(const QString &text) { m_code += text; } QString code() const { return m_code; } bool canEvaluate(); private: QmlJS::Engine m_engine; QVector m_stateStack; QList m_tokens; QString m_code; }; } // namespace Internal } // namespace QmlJSTools #endif // QMLJSINTERPRETER_H