diff options
Diffstat (limited to 'src/declarative/qml/parser/qdeclarativejslexer.cpp')
-rw-r--r-- | src/declarative/qml/parser/qdeclarativejslexer.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/declarative/qml/parser/qdeclarativejslexer.cpp b/src/declarative/qml/parser/qdeclarativejslexer.cpp index 453502797f..def1aa87ad 100644 --- a/src/declarative/qml/parser/qdeclarativejslexer.cpp +++ b/src/declarative/qml/parser/qdeclarativejslexer.cpp @@ -111,6 +111,7 @@ Lexer::Lexer(Engine *engine) , _restrictedKeyword(false) , _terminator(false) , _delimited(false) + , _qmlMode(true) { if (engine) engine->setLexer(this); @@ -121,11 +122,12 @@ QString Lexer::code() const return _code; } -void Lexer::setCode(const QString &code, int lineno) +void Lexer::setCode(const QString &code, int lineno, bool qmlMode) { if (_engine) _engine->setCode(code); + _qmlMode = qmlMode; _code = code; _tokenText.clear(); _tokenText.reserve(1024); @@ -708,7 +710,7 @@ again: int kind = T_IDENTIFIER; if (! identifierWithEscapeChars) - kind = classify(_tokenStartPtr, _tokenLength); + kind = classify(_tokenStartPtr, _tokenLength, _qmlMode); if (_engine) { if (kind == T_IDENTIFIER && identifierWithEscapeChars) |