diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-07-31 20:20:50 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2018-08-02 08:51:55 +0000 |
commit | ca1f69757421845f563ebe90a5880509839efb31 (patch) | |
tree | 435be52048f38ff90f895bbacce02727795a0397 /src/qml/parser/qqmljskeywords_p.h | |
parent | eefa21a18223595acd350aff3db0ed23f4d1a002 (diff) |
Fix grammar for ES modules
* Always parse 'import' as a keyword, as it is now one in Qml and ES.
* Always parse 'as' as keyword but allow it as identifier using the same
trick as for the other keywords.
This fixes basic import statements such as import "foo.mjs" as bar but
still allows funny variations such as import "foo.mjs" as as.
Change-Id: I76a600aab90c1b5c07d079bf11b0a78742d44c53
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/parser/qqmljskeywords_p.h')
-rw-r--r-- | src/qml/parser/qqmljskeywords_p.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/qml/parser/qqmljskeywords_p.h b/src/qml/parser/qqmljskeywords_p.h index 40094ecdf8..b0a4951ece 100644 --- a/src/qml/parser/qqmljskeywords_p.h +++ b/src/qml/parser/qqmljskeywords_p.h @@ -60,7 +60,7 @@ namespace QQmlJS { static inline int classify2(const QChar *s, int parseModeFlags) { if (s[0].unicode() == 'a') { if (s[1].unicode() == 's') { - return (parseModeFlags & Lexer::QmlMode) ? Lexer::T_AS : Lexer::T_IDENTIFIER; + return Lexer::T_AS; } } else if (s[0].unicode() == 'd') { @@ -432,7 +432,7 @@ static inline int classify6(const QChar *s, int parseModeFlags) { if (s[3].unicode() == 'o') { if (s[4].unicode() == 'r') { if (s[5].unicode() == 't') { - return (parseModeFlags & Lexer::QmlMode) ? int(Lexer::T_IMPORT) : int(Lexer::T_RESERVED_WORD); + return Lexer::T_IMPORT; } } } |