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 }