diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-06-21 22:57:07 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-06-26 10:04:04 +0000 |
commit | 5faf2e9a693d10e1e689c42deec911083a35ddb2 (patch) | |
tree | 58d56608b05274c89139175b6664d7157437aa7e /src/qml/parser/qqmljsast_p.h | |
parent | b797006c4491127f5c34f8eca49c6d1d576941db (diff) |
Properly distinguish between class expressions and declarations
Introduce both types in the AST, and handle them properly
in the code generator.
Change-Id: I754ac0976de69009bdb8b203d890e4ec0ad03b30
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/parser/qqmljsast_p.h')
-rw-r--r-- | src/qml/parser/qqmljsast_p.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/qml/parser/qqmljsast_p.h b/src/qml/parser/qqmljsast_p.h index 67abbbf88a..6a4e1e6ea1 100644 --- a/src/qml/parser/qqmljsast_p.h +++ b/src/qml/parser/qqmljsast_p.h @@ -169,6 +169,7 @@ public: Kind_FunctionDeclaration, Kind_FunctionExpression, Kind_ClassExpression, + Kind_ClassDeclaration, Kind_IdentifierExpression, Kind_IdentifierPropertyName, Kind_ComputedPropertyName, @@ -2246,6 +2247,19 @@ public: SourceLocation rbraceToken; }; +class QML_PARSER_EXPORT ClassDeclaration: public ClassExpression +{ +public: + QQMLJS_DECLARE_AST_NODE(ClassDeclaration) + + ClassDeclaration(const QStringRef &n, ExpressionNode *heritage, ClassElementList *elements) + : ClassExpression(n, heritage, elements) + { kind = K; } + + void accept0(Visitor *visitor) override; +}; + + class QML_PARSER_EXPORT ClassElementList : public Node { public: |