File indexing completed on 2024-05-19 15:46:17

0001 /*
0002     SPDX-FileCopyrightText: 2007 Andreas Pakulat <apaku@gmx.de>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef QMAKEASTVISITOR_H
0008 #define QMAKEASTVISITOR_H
0009 
0010 #include "parser_export.h"
0011 
0012 namespace QMake
0013 {
0014 
0015 class AST;
0016 class ProjectAST;
0017 class AssignmentAST;
0018 class FunctionCallAST;
0019 class SimpleScopeAST;
0020 class OrAST;
0021 class ScopeBodyAST;
0022 class ValueAST;
0023 
0024 class KDEVQMAKEPARSER_EXPORT ASTVisitor
0025 {
0026     using parser_fun_t = void (ASTVisitor::*)(AST*);
0027     static parser_fun_t _S_parser_table[];
0028     public:
0029         virtual ~ASTVisitor();
0030         virtual void visitNode( AST* node );
0031         virtual void visitProject( ProjectAST* node );
0032         virtual void visitAssignment( AssignmentAST* node );
0033         virtual void visitValue( ValueAST* node );
0034         virtual void visitFunctionCall( FunctionCallAST* node );
0035         virtual void visitScopeBody( ScopeBodyAST* node );
0036         virtual void visitOr( OrAST* node );
0037         virtual void visitSimpleScope( SimpleScopeAST* node );
0038 };
0039 
0040 }
0041 
0042 #endif
0043