summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/qmlparser/qqmljsast_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/qdoc/qmlparser/qqmljsast_p.h')
-rw-r--r--src/tools/qdoc/qmlparser/qqmljsast_p.h160
1 files changed, 117 insertions, 43 deletions
diff --git a/src/tools/qdoc/qmlparser/qqmljsast_p.h b/src/tools/qdoc/qmlparser/qqmljsast_p.h
index 01a872f1e8..6cc3b7649e 100644
--- a/src/tools/qdoc/qmlparser/qqmljsast_p.h
+++ b/src/tools/qdoc/qmlparser/qqmljsast_p.h
@@ -207,18 +207,20 @@ public:
Kind_UiArrayBinding,
Kind_UiImport,
- Kind_UiImportList,
Kind_UiObjectBinding,
Kind_UiObjectDefinition,
Kind_UiObjectInitializer,
Kind_UiObjectMemberList,
Kind_UiArrayMemberList,
+ Kind_UiPragma,
Kind_UiProgram,
Kind_UiParameterList,
Kind_UiPublicMember,
Kind_UiQualifiedId,
+ Kind_UiQualifiedPragmaId,
Kind_UiScriptBinding,
- Kind_UiSourceElement
+ Kind_UiSourceElement,
+ Kind_UiHeaderItemList
};
inline Node()
@@ -2271,27 +2273,72 @@ public:
SourceLocation semicolonToken;
};
-class QML_PARSER_EXPORT UiImportList: public Node
+class QML_PARSER_EXPORT UiObjectMember: public Node
{
public:
- QQMLJS_DECLARE_AST_NODE(UiImportList)
+ virtual SourceLocation firstSourceLocation() const = 0;
+ virtual SourceLocation lastSourceLocation() const = 0;
- UiImportList(UiImport *import)
- : import(import),
- next(this)
+ virtual UiObjectMember *uiObjectMemberCast();
+};
+
+class QML_PARSER_EXPORT UiObjectMemberList: public Node
+{
+public:
+ QQMLJS_DECLARE_AST_NODE(UiObjectMemberList)
+
+ UiObjectMemberList(UiObjectMember *member)
+ : next(this), member(member)
{ kind = K; }
- UiImportList(UiImportList *previous, UiImport *import)
- : import(import)
+ UiObjectMemberList(UiObjectMemberList *previous, UiObjectMember *member)
+ : member(member)
{
kind = K;
next = previous->next;
previous->next = this;
}
- UiImportList *finish()
+ virtual void accept0(Visitor *visitor);
+
+ virtual SourceLocation firstSourceLocation() const
+ { return member->firstSourceLocation(); }
+
+ virtual SourceLocation lastSourceLocation() const
+ { return next ? next->lastSourceLocation() : member->lastSourceLocation(); }
+
+ UiObjectMemberList *finish()
{
- UiImportList *head = next;
+ UiObjectMemberList *head = next;
+ next = 0;
+ return head;
+ }
+
+// attributes
+ UiObjectMemberList *next;
+ 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 = 0;
return head;
}
@@ -2299,60 +2346,87 @@ public:
virtual void accept0(Visitor *visitor);
virtual SourceLocation firstSourceLocation() const
- { return import->firstSourceLocation(); }
+ { return identifierToken; }
virtual SourceLocation lastSourceLocation() const
- { return next ? next->lastSourceLocation() : import->lastSourceLocation(); }
+ { return next ? next->lastSourceLocation() : identifierToken; }
// attributes
- UiImport *import;
- UiImportList *next;
+ UiQualifiedPragmaId *next;
+ QStringRef name;
+ SourceLocation identifierToken;
};
-class QML_PARSER_EXPORT UiObjectMember: public Node
+class QML_PARSER_EXPORT UiPragma: public Node
{
public:
- virtual SourceLocation firstSourceLocation() const = 0;
- virtual SourceLocation lastSourceLocation() const = 0;
+ QQMLJS_DECLARE_AST_NODE(UiPragma)
- virtual UiObjectMember *uiObjectMemberCast();
+ UiPragma(UiQualifiedPragmaId *type)
+ : pragmaType(type)
+ { kind = K; }
+
+ virtual void accept0(Visitor *visitor);
+
+ virtual SourceLocation firstSourceLocation() const
+ { return pragmaToken; }
+
+ virtual SourceLocation lastSourceLocation() const
+ { return semicolonToken; }
+
+// attributes
+ UiQualifiedPragmaId *pragmaType;
+ SourceLocation pragmaToken;
+ SourceLocation semicolonToken;
};
-class QML_PARSER_EXPORT UiObjectMemberList: public Node
+class QML_PARSER_EXPORT UiHeaderItemList: public Node
{
public:
- QQMLJS_DECLARE_AST_NODE(UiObjectMemberList)
+ QQMLJS_DECLARE_AST_NODE(UiHeaderItemList)
- UiObjectMemberList(UiObjectMember *member)
- : next(this), member(member)
+ UiHeaderItemList(UiImport *import)
+ : headerItem(import), next(this)
{ kind = K; }
- UiObjectMemberList(UiObjectMemberList *previous, UiObjectMember *member)
- : member(member)
+ UiHeaderItemList(UiPragma *pragma)
+ : headerItem(pragma), next(this)
+ { kind = K; }
+
+ UiHeaderItemList(UiHeaderItemList *previous, UiImport *import)
+ : headerItem(import)
{
kind = K;
next = previous->next;
previous->next = this;
}
- virtual void accept0(Visitor *visitor);
-
- virtual SourceLocation firstSourceLocation() const
- { return member->firstSourceLocation(); }
-
- virtual SourceLocation lastSourceLocation() const
- { return next ? next->lastSourceLocation() : member->lastSourceLocation(); }
+ UiHeaderItemList(UiHeaderItemList *previous, UiPragma *pragma)
+ : headerItem(pragma)
+ {
+ kind = K;
+ next = previous->next;
+ previous->next = this;
+ }
- UiObjectMemberList *finish()
+ UiHeaderItemList *finish()
{
- UiObjectMemberList *head = next;
+ UiHeaderItemList *head = next;
next = 0;
return head;
}
+ virtual void accept0(Visitor *visitor);
+
+ virtual SourceLocation firstSourceLocation() const
+ { return headerItem->firstSourceLocation(); }
+
+ virtual SourceLocation lastSourceLocation() const
+ { return next ? next->lastSourceLocation() : headerItem->lastSourceLocation(); }
+
// attributes
- UiObjectMemberList *next;
- UiObjectMember *member;
+ Node *headerItem;
+ UiHeaderItemList *next;
};
class QML_PARSER_EXPORT UiProgram: public Node
@@ -2360,16 +2434,16 @@ class QML_PARSER_EXPORT UiProgram: public Node
public:
QQMLJS_DECLARE_AST_NODE(UiProgram)
- UiProgram(UiImportList *imports, UiObjectMemberList *members)
- : imports(imports), members(members)
+ UiProgram(UiHeaderItemList *headers, UiObjectMemberList *members)
+ : headers(headers), members(members)
{ kind = K; }
virtual void accept0(Visitor *visitor);
virtual SourceLocation firstSourceLocation() const
{
- if (imports)
- return imports->firstSourceLocation();
+ if (headers)
+ return headers->firstSourceLocation();
else if (members)
return members->firstSourceLocation();
return SourceLocation();
@@ -2379,13 +2453,13 @@ public:
{
if (members)
return members->lastSourceLocation();
- else if (imports)
- return imports->lastSourceLocation();
+ else if (headers)
+ return headers->lastSourceLocation();
return SourceLocation();
}
// attributes
- UiImportList *imports;
+ UiHeaderItemList *headers;
UiObjectMemberList *members;
};