1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2015 The Qt Company Ltd. 4 ** Contact: http://www.qt.io/licensing/ 5 ** 6 ** This file is part of the QtDeclarative module of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:LGPL$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see http://www.qt.io/terms-conditions. For further 15 ** information use the contact form at http://www.qt.io/contact-us. 16 ** 17 ** GNU Lesser General Public License Usage 18 ** Alternatively, this file may be used under the terms of the GNU Lesser 19 ** General Public License version 2.1 or version 3 as published by the Free 20 ** Software Foundation and appearing in the file LICENSE.LGPLv21 and 21 ** LICENSE.LGPLv3 included in the packaging of this file. Please review the 22 ** following information to ensure the GNU Lesser General Public License 23 ** requirements will be met: https://www.gnu.org/licenses/lgpl.html and 24 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 25 ** 26 ** As a special exception, The Qt Company gives you certain additional 27 ** rights. These rights are described in The Qt Company LGPL Exception 28 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 29 ** 30 ** GNU General Public License Usage 31 ** Alternatively, this file may be used under the terms of the GNU 32 ** General Public License version 3.0 as published by the Free Software 33 ** Foundation and appearing in the file LICENSE.GPL included in the 34 ** packaging of this file. Please review the following information to 35 ** ensure the GNU General Public License version 3.0 requirements will be 36 ** met: http://www.gnu.org/copyleft/gpl.html. 37 ** 38 ** $QT_END_LICENSE$ 39 ** 40 ****************************************************************************/ 41 42 #ifndef QDECLARATIVEJSASTVISITOR_P_H 43 #define QDECLARATIVEJSASTVISITOR_P_H 44 45 // 46 // W A R N I N G 47 // ------------- 48 // 49 // This file is not part of the Qt API. It exists purely as an 50 // implementation detail. This header file may change from version to 51 // version without notice, or even be removed. 52 // 53 // We mean it. 54 // 55 56 #include "private/qdeclarativejsastfwd_p.h" 57 #include "private/qdeclarativejsglobal_p.h" 58 59 QT_QML_BEGIN_NAMESPACE 60 61 namespace QDeclarativeJS { namespace AST { 62 63 class QML_PARSER_EXPORT Visitor 64 { 65 public: 66 Visitor(); 67 virtual ~Visitor(); 68 preVisit(Node *)69 virtual bool preVisit(Node *) { return true; } postVisit(Node *)70 virtual void postVisit(Node *) {} 71 72 // Ui visit(UiProgram *)73 virtual bool visit(UiProgram *) { return true; } visit(UiImportList *)74 virtual bool visit(UiImportList *) { return true; } visit(UiImport *)75 virtual bool visit(UiImport *) { return true; } visit(UiPublicMember *)76 virtual bool visit(UiPublicMember *) { return true; } visit(UiSourceElement *)77 virtual bool visit(UiSourceElement *) { return true; } visit(UiObjectDefinition *)78 virtual bool visit(UiObjectDefinition *) { return true; } visit(UiObjectInitializer *)79 virtual bool visit(UiObjectInitializer *) { return true; } visit(UiObjectBinding *)80 virtual bool visit(UiObjectBinding *) { return true; } visit(UiScriptBinding *)81 virtual bool visit(UiScriptBinding *) { return true; } visit(UiArrayBinding *)82 virtual bool visit(UiArrayBinding *) { return true; } visit(UiObjectMemberList *)83 virtual bool visit(UiObjectMemberList *) { return true; } visit(UiArrayMemberList *)84 virtual bool visit(UiArrayMemberList *) { return true; } visit(UiQualifiedId *)85 virtual bool visit(UiQualifiedId *) { return true; } visit(UiSignature *)86 virtual bool visit(UiSignature *) { return true; } visit(UiFormalList *)87 virtual bool visit(UiFormalList *) { return true; } visit(UiFormal *)88 virtual bool visit(UiFormal *) { return true; } 89 endVisit(UiProgram *)90 virtual void endVisit(UiProgram *) {} endVisit(UiImportList *)91 virtual void endVisit(UiImportList *) {} endVisit(UiImport *)92 virtual void endVisit(UiImport *) {} endVisit(UiPublicMember *)93 virtual void endVisit(UiPublicMember *) {} endVisit(UiSourceElement *)94 virtual void endVisit(UiSourceElement *) {} endVisit(UiObjectDefinition *)95 virtual void endVisit(UiObjectDefinition *) {} endVisit(UiObjectInitializer *)96 virtual void endVisit(UiObjectInitializer *) {} endVisit(UiObjectBinding *)97 virtual void endVisit(UiObjectBinding *) {} endVisit(UiScriptBinding *)98 virtual void endVisit(UiScriptBinding *) {} endVisit(UiArrayBinding *)99 virtual void endVisit(UiArrayBinding *) {} endVisit(UiObjectMemberList *)100 virtual void endVisit(UiObjectMemberList *) {} endVisit(UiArrayMemberList *)101 virtual void endVisit(UiArrayMemberList *) {} endVisit(UiQualifiedId *)102 virtual void endVisit(UiQualifiedId *) {} endVisit(UiSignature *)103 virtual void endVisit(UiSignature *) {} endVisit(UiFormalList *)104 virtual void endVisit(UiFormalList *) {} endVisit(UiFormal *)105 virtual void endVisit(UiFormal *) {} 106 107 // QDeclarativeJS visit(ThisExpression *)108 virtual bool visit(ThisExpression *) { return true; } endVisit(ThisExpression *)109 virtual void endVisit(ThisExpression *) {} 110 visit(IdentifierExpression *)111 virtual bool visit(IdentifierExpression *) { return true; } endVisit(IdentifierExpression *)112 virtual void endVisit(IdentifierExpression *) {} 113 visit(NullExpression *)114 virtual bool visit(NullExpression *) { return true; } endVisit(NullExpression *)115 virtual void endVisit(NullExpression *) {} 116 visit(TrueLiteral *)117 virtual bool visit(TrueLiteral *) { return true; } endVisit(TrueLiteral *)118 virtual void endVisit(TrueLiteral *) {} 119 visit(FalseLiteral *)120 virtual bool visit(FalseLiteral *) { return true; } endVisit(FalseLiteral *)121 virtual void endVisit(FalseLiteral *) {} 122 visit(StringLiteral *)123 virtual bool visit(StringLiteral *) { return true; } endVisit(StringLiteral *)124 virtual void endVisit(StringLiteral *) {} 125 visit(NumericLiteral *)126 virtual bool visit(NumericLiteral *) { return true; } endVisit(NumericLiteral *)127 virtual void endVisit(NumericLiteral *) {} 128 visit(RegExpLiteral *)129 virtual bool visit(RegExpLiteral *) { return true; } endVisit(RegExpLiteral *)130 virtual void endVisit(RegExpLiteral *) {} 131 visit(ArrayLiteral *)132 virtual bool visit(ArrayLiteral *) { return true; } endVisit(ArrayLiteral *)133 virtual void endVisit(ArrayLiteral *) {} 134 visit(ObjectLiteral *)135 virtual bool visit(ObjectLiteral *) { return true; } endVisit(ObjectLiteral *)136 virtual void endVisit(ObjectLiteral *) {} 137 visit(ElementList *)138 virtual bool visit(ElementList *) { return true; } endVisit(ElementList *)139 virtual void endVisit(ElementList *) {} 140 visit(Elision *)141 virtual bool visit(Elision *) { return true; } endVisit(Elision *)142 virtual void endVisit(Elision *) {} 143 visit(PropertyNameAndValueList *)144 virtual bool visit(PropertyNameAndValueList *) { return true; } endVisit(PropertyNameAndValueList *)145 virtual void endVisit(PropertyNameAndValueList *) {} 146 visit(NestedExpression *)147 virtual bool visit(NestedExpression *) { return true; } endVisit(NestedExpression *)148 virtual void endVisit(NestedExpression *) {} 149 visit(IdentifierPropertyName *)150 virtual bool visit(IdentifierPropertyName *) { return true; } endVisit(IdentifierPropertyName *)151 virtual void endVisit(IdentifierPropertyName *) {} 152 visit(StringLiteralPropertyName *)153 virtual bool visit(StringLiteralPropertyName *) { return true; } endVisit(StringLiteralPropertyName *)154 virtual void endVisit(StringLiteralPropertyName *) {} 155 visit(NumericLiteralPropertyName *)156 virtual bool visit(NumericLiteralPropertyName *) { return true; } endVisit(NumericLiteralPropertyName *)157 virtual void endVisit(NumericLiteralPropertyName *) {} 158 visit(ArrayMemberExpression *)159 virtual bool visit(ArrayMemberExpression *) { return true; } endVisit(ArrayMemberExpression *)160 virtual void endVisit(ArrayMemberExpression *) {} 161 visit(FieldMemberExpression *)162 virtual bool visit(FieldMemberExpression *) { return true; } endVisit(FieldMemberExpression *)163 virtual void endVisit(FieldMemberExpression *) {} 164 visit(NewMemberExpression *)165 virtual bool visit(NewMemberExpression *) { return true; } endVisit(NewMemberExpression *)166 virtual void endVisit(NewMemberExpression *) {} 167 visit(NewExpression *)168 virtual bool visit(NewExpression *) { return true; } endVisit(NewExpression *)169 virtual void endVisit(NewExpression *) {} 170 visit(CallExpression *)171 virtual bool visit(CallExpression *) { return true; } endVisit(CallExpression *)172 virtual void endVisit(CallExpression *) {} 173 visit(ArgumentList *)174 virtual bool visit(ArgumentList *) { return true; } endVisit(ArgumentList *)175 virtual void endVisit(ArgumentList *) {} 176 visit(PostIncrementExpression *)177 virtual bool visit(PostIncrementExpression *) { return true; } endVisit(PostIncrementExpression *)178 virtual void endVisit(PostIncrementExpression *) {} 179 visit(PostDecrementExpression *)180 virtual bool visit(PostDecrementExpression *) { return true; } endVisit(PostDecrementExpression *)181 virtual void endVisit(PostDecrementExpression *) {} 182 visit(DeleteExpression *)183 virtual bool visit(DeleteExpression *) { return true; } endVisit(DeleteExpression *)184 virtual void endVisit(DeleteExpression *) {} 185 visit(VoidExpression *)186 virtual bool visit(VoidExpression *) { return true; } endVisit(VoidExpression *)187 virtual void endVisit(VoidExpression *) {} 188 visit(TypeOfExpression *)189 virtual bool visit(TypeOfExpression *) { return true; } endVisit(TypeOfExpression *)190 virtual void endVisit(TypeOfExpression *) {} 191 visit(PreIncrementExpression *)192 virtual bool visit(PreIncrementExpression *) { return true; } endVisit(PreIncrementExpression *)193 virtual void endVisit(PreIncrementExpression *) {} 194 visit(PreDecrementExpression *)195 virtual bool visit(PreDecrementExpression *) { return true; } endVisit(PreDecrementExpression *)196 virtual void endVisit(PreDecrementExpression *) {} 197 visit(UnaryPlusExpression *)198 virtual bool visit(UnaryPlusExpression *) { return true; } endVisit(UnaryPlusExpression *)199 virtual void endVisit(UnaryPlusExpression *) {} 200 visit(UnaryMinusExpression *)201 virtual bool visit(UnaryMinusExpression *) { return true; } endVisit(UnaryMinusExpression *)202 virtual void endVisit(UnaryMinusExpression *) {} 203 visit(TildeExpression *)204 virtual bool visit(TildeExpression *) { return true; } endVisit(TildeExpression *)205 virtual void endVisit(TildeExpression *) {} 206 visit(NotExpression *)207 virtual bool visit(NotExpression *) { return true; } endVisit(NotExpression *)208 virtual void endVisit(NotExpression *) {} 209 visit(BinaryExpression *)210 virtual bool visit(BinaryExpression *) { return true; } endVisit(BinaryExpression *)211 virtual void endVisit(BinaryExpression *) {} 212 visit(ConditionalExpression *)213 virtual bool visit(ConditionalExpression *) { return true; } endVisit(ConditionalExpression *)214 virtual void endVisit(ConditionalExpression *) {} 215 visit(Expression *)216 virtual bool visit(Expression *) { return true; } endVisit(Expression *)217 virtual void endVisit(Expression *) {} 218 visit(Block *)219 virtual bool visit(Block *) { return true; } endVisit(Block *)220 virtual void endVisit(Block *) {} 221 visit(StatementList *)222 virtual bool visit(StatementList *) { return true; } endVisit(StatementList *)223 virtual void endVisit(StatementList *) {} 224 visit(VariableStatement *)225 virtual bool visit(VariableStatement *) { return true; } endVisit(VariableStatement *)226 virtual void endVisit(VariableStatement *) {} 227 visit(VariableDeclarationList *)228 virtual bool visit(VariableDeclarationList *) { return true; } endVisit(VariableDeclarationList *)229 virtual void endVisit(VariableDeclarationList *) {} 230 visit(VariableDeclaration *)231 virtual bool visit(VariableDeclaration *) { return true; } endVisit(VariableDeclaration *)232 virtual void endVisit(VariableDeclaration *) {} 233 visit(EmptyStatement *)234 virtual bool visit(EmptyStatement *) { return true; } endVisit(EmptyStatement *)235 virtual void endVisit(EmptyStatement *) {} 236 visit(ExpressionStatement *)237 virtual bool visit(ExpressionStatement *) { return true; } endVisit(ExpressionStatement *)238 virtual void endVisit(ExpressionStatement *) {} 239 visit(IfStatement *)240 virtual bool visit(IfStatement *) { return true; } endVisit(IfStatement *)241 virtual void endVisit(IfStatement *) {} 242 visit(DoWhileStatement *)243 virtual bool visit(DoWhileStatement *) { return true; } endVisit(DoWhileStatement *)244 virtual void endVisit(DoWhileStatement *) {} 245 visit(WhileStatement *)246 virtual bool visit(WhileStatement *) { return true; } endVisit(WhileStatement *)247 virtual void endVisit(WhileStatement *) {} 248 visit(ForStatement *)249 virtual bool visit(ForStatement *) { return true; } endVisit(ForStatement *)250 virtual void endVisit(ForStatement *) {} 251 visit(LocalForStatement *)252 virtual bool visit(LocalForStatement *) { return true; } endVisit(LocalForStatement *)253 virtual void endVisit(LocalForStatement *) {} 254 visit(ForEachStatement *)255 virtual bool visit(ForEachStatement *) { return true; } endVisit(ForEachStatement *)256 virtual void endVisit(ForEachStatement *) {} 257 visit(LocalForEachStatement *)258 virtual bool visit(LocalForEachStatement *) { return true; } endVisit(LocalForEachStatement *)259 virtual void endVisit(LocalForEachStatement *) {} 260 visit(ContinueStatement *)261 virtual bool visit(ContinueStatement *) { return true; } endVisit(ContinueStatement *)262 virtual void endVisit(ContinueStatement *) {} 263 visit(BreakStatement *)264 virtual bool visit(BreakStatement *) { return true; } endVisit(BreakStatement *)265 virtual void endVisit(BreakStatement *) {} 266 visit(ReturnStatement *)267 virtual bool visit(ReturnStatement *) { return true; } endVisit(ReturnStatement *)268 virtual void endVisit(ReturnStatement *) {} 269 visit(WithStatement *)270 virtual bool visit(WithStatement *) { return true; } endVisit(WithStatement *)271 virtual void endVisit(WithStatement *) {} 272 visit(SwitchStatement *)273 virtual bool visit(SwitchStatement *) { return true; } endVisit(SwitchStatement *)274 virtual void endVisit(SwitchStatement *) {} 275 visit(CaseBlock *)276 virtual bool visit(CaseBlock *) { return true; } endVisit(CaseBlock *)277 virtual void endVisit(CaseBlock *) {} 278 visit(CaseClauses *)279 virtual bool visit(CaseClauses *) { return true; } endVisit(CaseClauses *)280 virtual void endVisit(CaseClauses *) {} 281 visit(CaseClause *)282 virtual bool visit(CaseClause *) { return true; } endVisit(CaseClause *)283 virtual void endVisit(CaseClause *) {} 284 visit(DefaultClause *)285 virtual bool visit(DefaultClause *) { return true; } endVisit(DefaultClause *)286 virtual void endVisit(DefaultClause *) {} 287 visit(LabelledStatement *)288 virtual bool visit(LabelledStatement *) { return true; } endVisit(LabelledStatement *)289 virtual void endVisit(LabelledStatement *) {} 290 visit(ThrowStatement *)291 virtual bool visit(ThrowStatement *) { return true; } endVisit(ThrowStatement *)292 virtual void endVisit(ThrowStatement *) {} 293 visit(TryStatement *)294 virtual bool visit(TryStatement *) { return true; } endVisit(TryStatement *)295 virtual void endVisit(TryStatement *) {} 296 visit(Catch *)297 virtual bool visit(Catch *) { return true; } endVisit(Catch *)298 virtual void endVisit(Catch *) {} 299 visit(Finally *)300 virtual bool visit(Finally *) { return true; } endVisit(Finally *)301 virtual void endVisit(Finally *) {} 302 visit(FunctionDeclaration *)303 virtual bool visit(FunctionDeclaration *) { return true; } endVisit(FunctionDeclaration *)304 virtual void endVisit(FunctionDeclaration *) {} 305 visit(FunctionExpression *)306 virtual bool visit(FunctionExpression *) { return true; } endVisit(FunctionExpression *)307 virtual void endVisit(FunctionExpression *) {} 308 visit(FormalParameterList *)309 virtual bool visit(FormalParameterList *) { return true; } endVisit(FormalParameterList *)310 virtual void endVisit(FormalParameterList *) {} 311 visit(FunctionBody *)312 virtual bool visit(FunctionBody *) { return true; } endVisit(FunctionBody *)313 virtual void endVisit(FunctionBody *) {} 314 visit(Program *)315 virtual bool visit(Program *) { return true; } endVisit(Program *)316 virtual void endVisit(Program *) {} 317 visit(SourceElements *)318 virtual bool visit(SourceElements *) { return true; } endVisit(SourceElements *)319 virtual void endVisit(SourceElements *) {} 320 visit(FunctionSourceElement *)321 virtual bool visit(FunctionSourceElement *) { return true; } endVisit(FunctionSourceElement *)322 virtual void endVisit(FunctionSourceElement *) {} 323 visit(StatementSourceElement *)324 virtual bool visit(StatementSourceElement *) { return true; } endVisit(StatementSourceElement *)325 virtual void endVisit(StatementSourceElement *) {} 326 visit(DebuggerStatement *)327 virtual bool visit(DebuggerStatement *) { return true; } endVisit(DebuggerStatement *)328 virtual void endVisit(DebuggerStatement *) {} 329 }; 330 331 } } // namespace AST 332 333 QT_QML_END_NAMESPACE 334 335 #endif // QDECLARATIVEJSASTVISITOR_P_H 336