aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/parser/qdeclarativejslexer_p.h
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2011-09-15 16:54:33 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-19 12:07:46 +0200
commit599c7e43b0a10c90c040ce499ed75995f8993135 (patch)
treeb42beb278f04f674efbad581921c0d1989225fb0 /src/declarative/qml/parser/qdeclarativejslexer_p.h
parentf389e67572850cb8ff419b73a1b87fa4a4da610f (diff)
Add support for QML/JS pragma directives.
The lexer can now recognize the following pragma directives: .pragma library .import <URI> <Version> as <Identifier> .import <file.js> as <Identifier> Change-Id: I2c44140818f356419640266a46b5e172474819ee Reviewed-on: http://codereview.qt-project.org/4897 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Diffstat (limited to 'src/declarative/qml/parser/qdeclarativejslexer_p.h')
-rw-r--r--src/declarative/qml/parser/qdeclarativejslexer_p.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/declarative/qml/parser/qdeclarativejslexer_p.h b/src/declarative/qml/parser/qdeclarativejslexer_p.h
index 6d327868ca..e20490c09b 100644
--- a/src/declarative/qml/parser/qdeclarativejslexer_p.h
+++ b/src/declarative/qml/parser/qdeclarativejslexer_p.h
@@ -63,6 +63,28 @@ namespace QDeclarativeJS {
class Engine;
+class QML_PARSER_EXPORT Directives {
+public:
+ virtual ~Directives() {}
+
+ virtual void pragmaLibrary()
+ {
+ }
+
+ virtual void importFile(const QString &jsfile, const QString &module)
+ {
+ Q_UNUSED(jsfile);
+ Q_UNUSED(module);
+ }
+
+ virtual void importModule(const QString &uri, const QString &version, const QString &module)
+ {
+ Q_UNUSED(uri);
+ Q_UNUSED(version);
+ Q_UNUSED(module);
+ }
+};
+
class QML_PARSER_EXPORT Lexer: public QDeclarativeJSGrammar
{
public:
@@ -123,6 +145,7 @@ public:
int lex();
bool scanRegExp(RegExpBodyPrefix prefix = NoPrefix);
+ bool scanDirectives(Directives *directives);
int regExpFlags() const { return _patternFlags; }
QString regExpPattern() const { return _tokenText; }