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 QtScript 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 https://www.qt.io/terms-conditions. For further 15 ** information use the contact form at https://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 3 as published by the Free Software 20 ** Foundation and appearing in the file LICENSE.LGPL3 included in the 21 ** packaging of this file. Please review the following information to 22 ** ensure the GNU Lesser General Public License version 3 requirements 23 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. 24 ** 25 ** GNU General Public License Usage 26 ** Alternatively, this file may be used under the terms of the GNU 27 ** General Public License version 2.0 or (at your option) the GNU General 28 ** Public license version 3 or any later version approved by the KDE Free 29 ** Qt Foundation. The licenses are as published by the Free Software 30 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 31 ** included in the packaging of this file. Please review the following 32 ** information to ensure the GNU General Public License requirements will 33 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and 34 ** https://www.gnu.org/licenses/gpl-3.0.html. 35 ** 36 ** $QT_END_LICENSE$ 37 ** 38 ****************************************************************************/ 39 40 #ifndef QSCRIPTASTVISITOR_P_H 41 #define QSCRIPTASTVISITOR_P_H 42 43 // 44 // W A R N I N G 45 // ------------- 46 // 47 // This file is not part of the Qt API. It exists purely as an 48 // implementation detail. This header file may change from version to 49 // version without notice, or even be removed. 50 // 51 // We mean it. 52 // 53 54 #include "qscriptastfwd_p.h" 55 56 QT_BEGIN_NAMESPACE 57 58 namespace QScript { namespace AST { 59 60 class Visitor 61 { 62 public: 63 Visitor(); 64 virtual ~Visitor(); 65 preVisit(Node *)66 virtual bool preVisit(Node *) { return true; } postVisit(Node *)67 virtual void postVisit(Node *) {} 68 visit(ThisExpression *)69 virtual bool visit(ThisExpression *) { return true; } endVisit(ThisExpression *)70 virtual void endVisit(ThisExpression *) {} 71 visit(IdentifierExpression *)72 virtual bool visit(IdentifierExpression *) { return true; } endVisit(IdentifierExpression *)73 virtual void endVisit(IdentifierExpression *) {} 74 visit(NullExpression *)75 virtual bool visit(NullExpression *) { return true; } endVisit(NullExpression *)76 virtual void endVisit(NullExpression *) {} 77 visit(TrueLiteral *)78 virtual bool visit(TrueLiteral *) { return true; } endVisit(TrueLiteral *)79 virtual void endVisit(TrueLiteral *) {} 80 visit(FalseLiteral *)81 virtual bool visit(FalseLiteral *) { return true; } endVisit(FalseLiteral *)82 virtual void endVisit(FalseLiteral *) {} 83 visit(StringLiteral *)84 virtual bool visit(StringLiteral *) { return true; } endVisit(StringLiteral *)85 virtual void endVisit(StringLiteral *) {} 86 visit(NumericLiteral *)87 virtual bool visit(NumericLiteral *) { return true; } endVisit(NumericLiteral *)88 virtual void endVisit(NumericLiteral *) {} 89 visit(RegExpLiteral *)90 virtual bool visit(RegExpLiteral *) { return true; } endVisit(RegExpLiteral *)91 virtual void endVisit(RegExpLiteral *) {} 92 visit(ArrayLiteral *)93 virtual bool visit(ArrayLiteral *) { return true; } endVisit(ArrayLiteral *)94 virtual void endVisit(ArrayLiteral *) {} 95 visit(ObjectLiteral *)96 virtual bool visit(ObjectLiteral *) { return true; } endVisit(ObjectLiteral *)97 virtual void endVisit(ObjectLiteral *) {} 98 visit(ElementList *)99 virtual bool visit(ElementList *) { return true; } endVisit(ElementList *)100 virtual void endVisit(ElementList *) {} 101 visit(Elision *)102 virtual bool visit(Elision *) { return true; } endVisit(Elision *)103 virtual void endVisit(Elision *) {} 104 visit(PropertyNameAndValueList *)105 virtual bool visit(PropertyNameAndValueList *) { return true; } endVisit(PropertyNameAndValueList *)106 virtual void endVisit(PropertyNameAndValueList *) {} 107 visit(IdentifierPropertyName *)108 virtual bool visit(IdentifierPropertyName *) { return true; } endVisit(IdentifierPropertyName *)109 virtual void endVisit(IdentifierPropertyName *) {} 110 visit(StringLiteralPropertyName *)111 virtual bool visit(StringLiteralPropertyName *) { return true; } endVisit(StringLiteralPropertyName *)112 virtual void endVisit(StringLiteralPropertyName *) {} 113 visit(NumericLiteralPropertyName *)114 virtual bool visit(NumericLiteralPropertyName *) { return true; } endVisit(NumericLiteralPropertyName *)115 virtual void endVisit(NumericLiteralPropertyName *) {} 116 visit(ArrayMemberExpression *)117 virtual bool visit(ArrayMemberExpression *) { return true; } endVisit(ArrayMemberExpression *)118 virtual void endVisit(ArrayMemberExpression *) {} 119 visit(FieldMemberExpression *)120 virtual bool visit(FieldMemberExpression *) { return true; } endVisit(FieldMemberExpression *)121 virtual void endVisit(FieldMemberExpression *) {} 122 visit(NewMemberExpression *)123 virtual bool visit(NewMemberExpression *) { return true; } endVisit(NewMemberExpression *)124 virtual void endVisit(NewMemberExpression *) {} 125 visit(NewExpression *)126 virtual bool visit(NewExpression *) { return true; } endVisit(NewExpression *)127 virtual void endVisit(NewExpression *) {} 128 visit(CallExpression *)129 virtual bool visit(CallExpression *) { return true; } endVisit(CallExpression *)130 virtual void endVisit(CallExpression *) {} 131 visit(ArgumentList *)132 virtual bool visit(ArgumentList *) { return true; } endVisit(ArgumentList *)133 virtual void endVisit(ArgumentList *) {} 134 visit(PostIncrementExpression *)135 virtual bool visit(PostIncrementExpression *) { return true; } endVisit(PostIncrementExpression *)136 virtual void endVisit(PostIncrementExpression *) {} 137 visit(PostDecrementExpression *)138 virtual bool visit(PostDecrementExpression *) { return true; } endVisit(PostDecrementExpression *)139 virtual void endVisit(PostDecrementExpression *) {} 140 visit(DeleteExpression *)141 virtual bool visit(DeleteExpression *) { return true; } endVisit(DeleteExpression *)142 virtual void endVisit(DeleteExpression *) {} 143 visit(VoidExpression *)144 virtual bool visit(VoidExpression *) { return true; } endVisit(VoidExpression *)145 virtual void endVisit(VoidExpression *) {} 146 visit(TypeOfExpression *)147 virtual bool visit(TypeOfExpression *) { return true; } endVisit(TypeOfExpression *)148 virtual void endVisit(TypeOfExpression *) {} 149 visit(PreIncrementExpression *)150 virtual bool visit(PreIncrementExpression *) { return true; } endVisit(PreIncrementExpression *)151 virtual void endVisit(PreIncrementExpression *) {} 152 visit(PreDecrementExpression *)153 virtual bool visit(PreDecrementExpression *) { return true; } endVisit(PreDecrementExpression *)154 virtual void endVisit(PreDecrementExpression *) {} 155 visit(UnaryPlusExpression *)156 virtual bool visit(UnaryPlusExpression *) { return true; } endVisit(UnaryPlusExpression *)157 virtual void endVisit(UnaryPlusExpression *) {} 158 visit(UnaryMinusExpression *)159 virtual bool visit(UnaryMinusExpression *) { return true; } endVisit(UnaryMinusExpression *)160 virtual void endVisit(UnaryMinusExpression *) {} 161 visit(TildeExpression *)162 virtual bool visit(TildeExpression *) { return true; } endVisit(TildeExpression *)163 virtual void endVisit(TildeExpression *) {} 164 visit(NotExpression *)165 virtual bool visit(NotExpression *) { return true; } endVisit(NotExpression *)166 virtual void endVisit(NotExpression *) {} 167 visit(BinaryExpression *)168 virtual bool visit(BinaryExpression *) { return true; } endVisit(BinaryExpression *)169 virtual void endVisit(BinaryExpression *) {} 170 visit(ConditionalExpression *)171 virtual bool visit(ConditionalExpression *) { return true; } endVisit(ConditionalExpression *)172 virtual void endVisit(ConditionalExpression *) {} 173 visit(Expression *)174 virtual bool visit(Expression *) { return true; } endVisit(Expression *)175 virtual void endVisit(Expression *) {} 176 visit(Block *)177 virtual bool visit(Block *) { return true; } endVisit(Block *)178 virtual void endVisit(Block *) {} 179 visit(StatementList *)180 virtual bool visit(StatementList *) { return true; } endVisit(StatementList *)181 virtual void endVisit(StatementList *) {} 182 visit(VariableStatement *)183 virtual bool visit(VariableStatement *) { return true; } endVisit(VariableStatement *)184 virtual void endVisit(VariableStatement *) {} 185 visit(VariableDeclarationList *)186 virtual bool visit(VariableDeclarationList *) { return true; } endVisit(VariableDeclarationList *)187 virtual void endVisit(VariableDeclarationList *) {} 188 visit(VariableDeclaration *)189 virtual bool visit(VariableDeclaration *) { return true; } endVisit(VariableDeclaration *)190 virtual void endVisit(VariableDeclaration *) {} 191 visit(EmptyStatement *)192 virtual bool visit(EmptyStatement *) { return true; } endVisit(EmptyStatement *)193 virtual void endVisit(EmptyStatement *) {} 194 visit(ExpressionStatement *)195 virtual bool visit(ExpressionStatement *) { return true; } endVisit(ExpressionStatement *)196 virtual void endVisit(ExpressionStatement *) {} 197 visit(IfStatement *)198 virtual bool visit(IfStatement *) { return true; } endVisit(IfStatement *)199 virtual void endVisit(IfStatement *) {} 200 visit(DoWhileStatement *)201 virtual bool visit(DoWhileStatement *) { return true; } endVisit(DoWhileStatement *)202 virtual void endVisit(DoWhileStatement *) {} 203 visit(WhileStatement *)204 virtual bool visit(WhileStatement *) { return true; } endVisit(WhileStatement *)205 virtual void endVisit(WhileStatement *) {} 206 visit(ForStatement *)207 virtual bool visit(ForStatement *) { return true; } endVisit(ForStatement *)208 virtual void endVisit(ForStatement *) {} 209 visit(LocalForStatement *)210 virtual bool visit(LocalForStatement *) { return true; } endVisit(LocalForStatement *)211 virtual void endVisit(LocalForStatement *) {} 212 visit(ForEachStatement *)213 virtual bool visit(ForEachStatement *) { return true; } endVisit(ForEachStatement *)214 virtual void endVisit(ForEachStatement *) {} 215 visit(LocalForEachStatement *)216 virtual bool visit(LocalForEachStatement *) { return true; } endVisit(LocalForEachStatement *)217 virtual void endVisit(LocalForEachStatement *) {} 218 visit(ContinueStatement *)219 virtual bool visit(ContinueStatement *) { return true; } endVisit(ContinueStatement *)220 virtual void endVisit(ContinueStatement *) {} 221 visit(BreakStatement *)222 virtual bool visit(BreakStatement *) { return true; } endVisit(BreakStatement *)223 virtual void endVisit(BreakStatement *) {} 224 visit(ReturnStatement *)225 virtual bool visit(ReturnStatement *) { return true; } endVisit(ReturnStatement *)226 virtual void endVisit(ReturnStatement *) {} 227 visit(WithStatement *)228 virtual bool visit(WithStatement *) { return true; } endVisit(WithStatement *)229 virtual void endVisit(WithStatement *) {} 230 visit(SwitchStatement *)231 virtual bool visit(SwitchStatement *) { return true; } endVisit(SwitchStatement *)232 virtual void endVisit(SwitchStatement *) {} 233 visit(CaseBlock *)234 virtual bool visit(CaseBlock *) { return true; } endVisit(CaseBlock *)235 virtual void endVisit(CaseBlock *) {} 236 visit(CaseClauses *)237 virtual bool visit(CaseClauses *) { return true; } endVisit(CaseClauses *)238 virtual void endVisit(CaseClauses *) {} 239 visit(CaseClause *)240 virtual bool visit(CaseClause *) { return true; } endVisit(CaseClause *)241 virtual void endVisit(CaseClause *) {} 242 visit(DefaultClause *)243 virtual bool visit(DefaultClause *) { return true; } endVisit(DefaultClause *)244 virtual void endVisit(DefaultClause *) {} 245 visit(LabelledStatement *)246 virtual bool visit(LabelledStatement *) { return true; } endVisit(LabelledStatement *)247 virtual void endVisit(LabelledStatement *) {} 248 visit(ThrowStatement *)249 virtual bool visit(ThrowStatement *) { return true; } endVisit(ThrowStatement *)250 virtual void endVisit(ThrowStatement *) {} 251 visit(TryStatement *)252 virtual bool visit(TryStatement *) { return true; } endVisit(TryStatement *)253 virtual void endVisit(TryStatement *) {} 254 visit(Catch *)255 virtual bool visit(Catch *) { return true; } endVisit(Catch *)256 virtual void endVisit(Catch *) {} 257 visit(Finally *)258 virtual bool visit(Finally *) { return true; } endVisit(Finally *)259 virtual void endVisit(Finally *) {} 260 visit(FunctionDeclaration *)261 virtual bool visit(FunctionDeclaration *) { return true; } endVisit(FunctionDeclaration *)262 virtual void endVisit(FunctionDeclaration *) {} 263 visit(FunctionExpression *)264 virtual bool visit(FunctionExpression *) { return true; } endVisit(FunctionExpression *)265 virtual void endVisit(FunctionExpression *) {} 266 visit(FormalParameterList *)267 virtual bool visit(FormalParameterList *) { return true; } endVisit(FormalParameterList *)268 virtual void endVisit(FormalParameterList *) {} 269 visit(FunctionBody *)270 virtual bool visit(FunctionBody *) { return true; } endVisit(FunctionBody *)271 virtual void endVisit(FunctionBody *) {} 272 visit(Program *)273 virtual bool visit(Program *) { return true; } endVisit(Program *)274 virtual void endVisit(Program *) {} 275 visit(SourceElements *)276 virtual bool visit(SourceElements *) { return true; } endVisit(SourceElements *)277 virtual void endVisit(SourceElements *) {} 278 visit(FunctionSourceElement *)279 virtual bool visit(FunctionSourceElement *) { return true; } endVisit(FunctionSourceElement *)280 virtual void endVisit(FunctionSourceElement *) {} 281 visit(StatementSourceElement *)282 virtual bool visit(StatementSourceElement *) { return true; } endVisit(StatementSourceElement *)283 virtual void endVisit(StatementSourceElement *) {} 284 visit(DebuggerStatement *)285 virtual bool visit(DebuggerStatement *) { return true; } endVisit(DebuggerStatement *)286 virtual void endVisit(DebuggerStatement *) {} 287 }; 288 289 } } // namespace AST 290 291 QT_END_NAMESPACE 292 293 #endif // QSCRIPTASTVISITOR_P_H 294