diff --git a/src/shared/qmljs/parser/qmljs.g b/src/shared/qmljs/parser/qmljs.g index ec9a95611b38b1a9ce027a661f3a75255c62c08f..0604457bf743c068fed28f63c2d7c28db35e45fe 100644 --- a/src/shared/qmljs/parser/qmljs.g +++ b/src/shared/qmljs/parser/qmljs.g @@ -296,6 +296,14 @@ public: return program->uiObjectMemberCast(); } + AST::SourceElement *sourceElement() const + { + if (! program) + return 0; + + return program->sourceElementCast(); + } + QList<DiagnosticMessage> diagnosticMessages() const { return diagnostic_messages; } diff --git a/src/shared/qmljs/parser/qmljsast.cpp b/src/shared/qmljs/parser/qmljsast.cpp index 2a39aae947721aa3b8db91584864aefceb19e18d..35ae0c846e3e373bf5c8d9c940ded4c7908155f0 100644 --- a/src/shared/qmljs/parser/qmljsast.cpp +++ b/src/shared/qmljs/parser/qmljsast.cpp @@ -81,6 +81,11 @@ UiObjectMember *Node::uiObjectMemberCast() return 0; } +SourceElement *Node::sourceElementCast() +{ + return 0; +} + ExpressionNode *ExpressionNode::expressionCast() { return this; @@ -772,6 +777,11 @@ void SourceElements::accept0(Visitor *visitor) visitor->endVisit(this); } +SourceElement *SourceElement::sourceElementCast() +{ + return this; +} + void FunctionSourceElement::accept0(Visitor *visitor) { if (visitor->visit(this)) { diff --git a/src/shared/qmljs/parser/qmljsast_p.h b/src/shared/qmljs/parser/qmljsast_p.h index 032fbb189a635a2d3012a9104d6b0813aa8d7819..6f7f5cc413345fef64b0b66359053eefdd9368b6 100644 --- a/src/shared/qmljs/parser/qmljsast_p.h +++ b/src/shared/qmljs/parser/qmljsast_p.h @@ -230,6 +230,7 @@ public: virtual BinaryExpression *binaryExpressionCast(); virtual Statement *statementCast(); virtual UiObjectMember *uiObjectMemberCast(); + virtual SourceElement *sourceElementCast(); void accept(Visitor *visitor); static void accept(Node *node, Visitor *visitor); @@ -2164,6 +2165,8 @@ public: { kind = K; } virtual ~SourceElement() {} + + virtual SourceElement *sourceElementCast(); }; class QML_PARSER_EXPORT FunctionSourceElement: public SourceElement diff --git a/src/shared/qmljs/parser/qmljsparser_p.h b/src/shared/qmljs/parser/qmljsparser_p.h index 2a09a633cc7b8e8ebc95da6964e61070e962bfcf..660690b8727e2d3a3eb7a554a6cb550682a8756a 100644 --- a/src/shared/qmljs/parser/qmljsparser_p.h +++ b/src/shared/qmljs/parser/qmljsparser_p.h @@ -162,6 +162,14 @@ public: return program->uiObjectMemberCast(); } + AST::SourceElement *sourceElement() const + { + if (! program) + return 0; + + return program->sourceElementCast(); + } + QList<DiagnosticMessage> diagnosticMessages() const { return diagnostic_messages; }