From c970d47d4ec8bed85acc313e22ddb8bbba55618e Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 13 Sep 2011 13:07:38 +0200 Subject: [PATCH] Move JS RegExp flag definitions to header file This way they can be used by tools that use the lexer (e.g. qml minifier). Change-Id: I226d1712089b01defd3b45ccb99db596955bff8b Reviewed-on: http://codereview.qt-project.org/4762 Reviewed-by: Qt Sanity Bot Reviewed-by: Roberto Raggi --- src/declarative/qml/parser/qdeclarativejslexer.cpp | 16 +++++----------- src/declarative/qml/parser/qdeclarativejslexer_p.h | 6 ++++++ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/declarative/qml/parser/qdeclarativejslexer.cpp b/src/declarative/qml/parser/qdeclarativejslexer.cpp index 342b1a8..4127468 100644 --- a/src/declarative/qml/parser/qdeclarativejslexer.cpp +++ b/src/declarative/qml/parser/qdeclarativejslexer.cpp @@ -53,18 +53,12 @@ QT_END_NAMESPACE using namespace QDeclarativeJS; -enum RegExpFlag { - Global = 0x01, - IgnoreCase = 0x02, - Multiline = 0x04 -}; - -static int flagFromChar(const QChar &ch) +static int regExpFlagFromChar(const QChar &ch) { switch (ch.unicode()) { - case 'g': return Global; - case 'i': return IgnoreCase; - case 'm': return Multiline; + case 'g': return Lexer::RegExp_Global; + case 'i': return Lexer::RegExp_IgnoreCase; + case 'm': return Lexer::RegExp_Multiline; } return 0; } @@ -863,7 +857,7 @@ bool Lexer::scanRegExp(RegExpBodyPrefix prefix) // scan the flags _patternFlags = 0; while (isIdentLetter(_char)) { - int flag = flagFromChar(_char); + int flag = regExpFlagFromChar(_char); if (flag == 0) { _errorMessage = QCoreApplication::translate("QDeclarativeParser", "Invalid regular expression flag '%0'") .arg(QChar(_char)); diff --git a/src/declarative/qml/parser/qdeclarativejslexer_p.h b/src/declarative/qml/parser/qdeclarativejslexer_p.h index dd9f0de..a0f02af 100644 --- a/src/declarative/qml/parser/qdeclarativejslexer_p.h +++ b/src/declarative/qml/parser/qdeclarativejslexer_p.h @@ -136,6 +136,12 @@ public: EqualPrefix }; + enum RegExpFlag { + RegExp_Global = 0x01, + RegExp_IgnoreCase = 0x02, + RegExp_Multiline = 0x04 + }; + public: Lexer(Engine *engine); -- 1.7.2.5