// THIS FILE IS GENERATED
// WARNING! All changes made in this file will be lost!

#include "qmakevisitor.h"

namespace QMake
{

void Visitor::visitNode(AstNode *node)
{
    if(node)
    {
        switch(node->kind)
        {
        case AstNode::ArgumentListKind:
            visitArgumentList(reinterpret_cast<ArgumentListAst*>(node));
            break;
        case AstNode::FunctionArgumentsKind:
            visitFunctionArguments(reinterpret_cast<FunctionArgumentsAst*>(node));
            break;
        case AstNode::ItemKind:
            visitItem(reinterpret_cast<ItemAst*>(node));
            break;
        case AstNode::OpKind:
            visitOp(reinterpret_cast<OpAst*>(node));
            break;
        case AstNode::OrOperatorKind:
            visitOrOperator(reinterpret_cast<OrOperatorAst*>(node));
            break;
        case AstNode::ProjectKind:
            visitProject(reinterpret_cast<ProjectAst*>(node));
            break;
        case AstNode::ScopeKind:
            visitScope(reinterpret_cast<ScopeAst*>(node));
            break;
        case AstNode::ScopeBodyKind:
            visitScopeBody(reinterpret_cast<ScopeBodyAst*>(node));
            break;
        case AstNode::StatementKind:
            visitStatement(reinterpret_cast<StatementAst*>(node));
            break;
        case AstNode::ValueKind:
            visitValue(reinterpret_cast<ValueAst*>(node));
            break;
        case AstNode::ValueListKind:
            visitValueList(reinterpret_cast<ValueListAst*>(node));
            break;
        case AstNode::VariableAssignmentKind:
            visitVariableAssignment(reinterpret_cast<VariableAssignmentAst*>(node));
            break;
        default:
            Q_ASSERT(false);
        }
    }
}

} // end of namespace QMake

