From b09a48599e7e5db5447189136353b79aca3898cf Mon Sep 17 00:00:00 2001 From: Fawzi Mohamed Date: Fri, 28 Feb 2020 17:51:32 +0100 Subject: Update qmljs parser to Qt 5.15 parser * parser side support for annotations, inline components, new UiVersion and all the things included in QT 5.15 parser * SourceLocation moved from QmlJS:AST to QmlJS * Visitors now need to handle throwRecursionDepthError * BaseVisitor for visitors that want to override all visit Task-number: QTCREATORBUG-23591 Change-Id: I682a30d0b08b6c929739fd0e339ef6fbde3eb630 Reviewed-by: Fabian Kosmale Reviewed-by: Simon Hausmann --- src/libs/qmljs/parser/qmljslexer.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/libs/qmljs/parser/qmljslexer.cpp') diff --git a/src/libs/qmljs/parser/qmljslexer.cpp b/src/libs/qmljs/parser/qmljslexer.cpp index 2af11acb76..58613159d3 100644 --- a/src/libs/qmljs/parser/qmljslexer.cpp +++ b/src/libs/qmljs/parser/qmljslexer.cpp @@ -25,17 +25,19 @@ #include "qmljslexer_p.h" #include "qmljsengine_p.h" -#include "qmljsmemorypool_p.h" #include "qmljskeywords_p.h" +#include "qmljs/parser/qmljsdiagnosticmessage_p.h" +#include "qmljs/parser/qmljsmemorypool_p.h" + #include #include #include #include -QT_BEGIN_NAMESPACE +QT_QML_BEGIN_NAMESPACE Q_CORE_EXPORT double qstrtod(const char *s00, char const **se, bool *ok); -QT_END_NAMESPACE +QT_QML_END_NAMESPACE using namespace QmlJS; @@ -564,7 +566,14 @@ again: case ']': return T_RBRACKET; case '[': return T_LBRACKET; - case '?': return T_QUESTION; + case '?': { + if (_char == QLatin1Char('?')) { + scanChar(); + return T_QUESTION_QUESTION; + } + + return T_QUESTION; + } case '>': if (_char == QLatin1Char('>')) { @@ -696,6 +705,8 @@ again: case ')': return T_RPAREN; case '(': return T_LPAREN; + case '@': return T_AT; + case '&': if (_char == QLatin1Char('=')) { scanChar(); -- cgit v1.2.1