diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-06-30 21:04:51 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-07-03 08:09:09 +0000 |
commit | dcbdb306f4442199384a71d532a3610a84d13fd5 (patch) | |
tree | e51520aafbc9dd12cd8d0013070d67fcc32fe13a /src/qml/parser/qqmljsast_p.h | |
parent | 6d8dbba4624c8a453ba13ff009f011f2946422bb (diff) |
Fix naming of classes in class expressions
As with function expressions, class expressions also get an implicitly
defined name if they are directly assigned to a named variable.
Change-Id: I5fda9d74c1c299107f15b82245333b54ca6d8917
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 | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/qml/parser/qqmljsast_p.h b/src/qml/parser/qqmljsast_p.h index 6a4e1e6ea1..2cf2bcb736 100644 --- a/src/qml/parser/qqmljsast_p.h +++ b/src/qml/parser/qqmljsast_p.h @@ -129,6 +129,7 @@ T1 cast(T2 *ast) } FunctionExpression *asAnonymousFunctionDefinition(AST::Node *n); +ClassExpression *asAnonymousClassDefinition(AST::Node *n); class QML_PARSER_EXPORT Node: public Managed { @@ -257,6 +258,7 @@ public: virtual Pattern *patternCast(); // implements the IsFunctionDefinition rules in the spec virtual FunctionExpression *asFunctionDefinition(); + virtual ClassExpression *asClassDefinition(); void accept(Visitor *visitor); static void accept(Node *node, Visitor *visitor); @@ -314,6 +316,7 @@ public: { return rparenToken; } FunctionExpression *asFunctionDefinition() override; + ClassExpression *asClassDefinition() override; // attributes @@ -2110,7 +2113,6 @@ public: FunctionExpression *asFunctionDefinition() override; - // attributes QStringRef name; bool isArrowFunction = false; @@ -2237,6 +2239,8 @@ public: SourceLocation lastSourceLocation() const override { return rbraceToken; } + ClassExpression *asClassDefinition() override; + // attributes QStringRef name; ExpressionNode *heritage; |