aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/parser/qdeclarativejslexer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/parser/qdeclarativejslexer.cpp')
-rw-r--r--src/declarative/qml/parser/qdeclarativejslexer.cpp6
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)