File indexing completed on 2024-05-19 04:41:36
0001 /* 0002 SPDX-FileCopyrightText: 2006 Andreas Pakulat <apaku@gmx.de> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef QMAKEDEBUGVISITOR_H 0008 #define QMAKEDEBUGVISITOR_H 0009 0010 #include "qmakedefaultvisitor.h" 0011 #include "qmakeparser.h" 0012 0013 #include <QTextStream> 0014 0015 namespace QMake 0016 { 0017 0018 class parser; 0019 0020 class DebugVisitor: public DefaultVisitor 0021 { 0022 0023 public: 0024 explicit DebugVisitor(QMake::Parser* parser); 0025 void visitArgumentList( ArgumentListAst *node ) override; 0026 void visitFunctionArguments( FunctionArgumentsAst *node ) override; 0027 void visitOrOperator( OrOperatorAst *node ) override; 0028 void visitItem( ItemAst *node ) override; 0029 void visitScope( ScopeAst *node ) override; 0030 void visitIfElse(IfElseAst* node) override; 0031 void visitOp( OpAst *node ) override; 0032 void visitProject( ProjectAst *node ) override; 0033 void visitScopeBody( ScopeBodyAst *node ) override; 0034 void visitStatement( StatementAst *node ) override; 0035 void visitValue( ValueAst *node ) override; 0036 void visitValueList( ValueListAst *node ) override; 0037 void visitVariableAssignment( VariableAssignmentAst *node ) override; 0038 QString getTokenInfo(qint64 idx); 0039 QString getIndent(); 0040 private: 0041 QTextStream m_out; 0042 QMake::Parser* m_parser; 0043 int indent; 0044 }; 0045 0046 } // end of namespace QMake 0047 0048 #endif 0049