File indexing completed on 2024-05-19 04:41:36
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