From 145ff3118cf27455180bbcff2d37b24cf32276f7 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Wed, 1 Aug 2018 09:05:19 +0200 Subject: Simplify parsing of pragma directives We only support 'pragma Singleton' currently, so there is no need to parse the right hand side of pragma as a member expression. Change-Id: Ic0dcbedb52cb58db2fd1cc099f14fd399b7162e3 Reviewed-by: Simon Hausmann --- src/qml/parser/qqmljsast_p.h | 45 +++----------------------------------------- 1 file changed, 3 insertions(+), 42 deletions(-) (limited to 'src/qml/parser/qqmljsast_p.h') diff --git a/src/qml/parser/qqmljsast_p.h b/src/qml/parser/qqmljsast_p.h index ed4523b019..4d161e9e51 100644 --- a/src/qml/parser/qqmljsast_p.h +++ b/src/qml/parser/qqmljsast_p.h @@ -248,7 +248,6 @@ public: Kind_UiParameterList, Kind_UiPublicMember, Kind_UiQualifiedId, - Kind_UiQualifiedPragmaId, Kind_UiScriptBinding, Kind_UiSourceElement, Kind_UiHeaderItemList, @@ -2926,51 +2925,13 @@ public: UiObjectMember *member; }; -class QML_PARSER_EXPORT UiQualifiedPragmaId: public Node -{ -public: - QQMLJS_DECLARE_AST_NODE(UiQualifiedPragmaId) - - UiQualifiedPragmaId(const QStringRef &name) - : next(this), name(name) - { kind = K; } - - UiQualifiedPragmaId(UiQualifiedPragmaId *previous, const QStringRef &name) - : name(name) - { - kind = K; - next = previous->next; - previous->next = this; - } - - UiQualifiedPragmaId *finish() - { - UiQualifiedPragmaId *head = next; - next = nullptr; - return head; - } - - void accept0(Visitor *visitor) override; - - SourceLocation firstSourceLocation() const override - { return identifierToken; } - - SourceLocation lastSourceLocation() const override - { return next ? next->lastSourceLocation() : identifierToken; } - -// attributes - UiQualifiedPragmaId *next; - QStringRef name; - SourceLocation identifierToken; -}; - class QML_PARSER_EXPORT UiPragma: public Node { public: QQMLJS_DECLARE_AST_NODE(UiPragma) - UiPragma(UiQualifiedPragmaId *type) - : pragmaType(type) + UiPragma(QStringRef name) + : name(name) { kind = K; } void accept0(Visitor *visitor) override; @@ -2982,7 +2943,7 @@ public: { return semicolonToken; } // attributes - UiQualifiedPragmaId *pragmaType; + QStringRef name; SourceLocation pragmaToken; SourceLocation semicolonToken; }; -- cgit v1.2.3