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 #include "qmakeastdefaultvisitor.h" 0008 #include "ast.h" 0009 0010 namespace QMake { 0011 0012 ASTDefaultVisitor::~ASTDefaultVisitor() 0013 { 0014 } 0015 0016 void ASTDefaultVisitor::visitProject(ProjectAST* node) 0017 { 0018 for (StatementAST* stmt : std::as_const(node->statements)) { 0019 visitNode(stmt); 0020 } 0021 } 0022 0023 void ASTDefaultVisitor::visitAssignment(AssignmentAST* node) 0024 { 0025 visitNode(node->identifier); 0026 visitNode(node->op); 0027 for (ValueAST* value : std::as_const(node->values)) { 0028 visitNode(value); 0029 } 0030 } 0031 0032 void ASTDefaultVisitor::visitValue(ValueAST*) 0033 { 0034 } 0035 0036 void ASTDefaultVisitor::visitFunctionCall(FunctionCallAST* node) 0037 { 0038 visitNode(node->identifier); 0039 for (ValueAST* value : std::as_const(node->args)) { 0040 visitNode(value); 0041 } 0042 visitNode(node->body); 0043 } 0044 0045 void ASTDefaultVisitor::visitScopeBody(ScopeBodyAST* node) 0046 { 0047 for (StatementAST* stmt : std::as_const(node->ifStatements)) { 0048 visitNode(stmt); 0049 } 0050 for (StatementAST* stmt : std::as_const(node->elseStatements)) { 0051 visitNode(stmt); 0052 } 0053 } 0054 0055 void ASTDefaultVisitor::visitOr(OrAST* node) 0056 { 0057 for (ScopeAST* scope : std::as_const(node->scopes)) { 0058 visitNode(scope); 0059 } 0060 visitNode(node->body); 0061 } 0062 0063 void ASTDefaultVisitor::visitSimpleScope(SimpleScopeAST* node) 0064 { 0065 visitNode(node->identifier); 0066 visitNode(node->body); 0067 } 0068 }