• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • KDevelop QMake parser
 

KDevelop QMake parser

  • buildtools
  • lib
  • parsers
  • qmake
qmakeastvisitor.cpp
1 /***************************************************************************
2  * Copyright (C) 2005 by Alexander Dymo *
3  * adymo@kdevelop.org *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU Library General Public License as *
7  * published by the Free Software Foundation; either version 2 of the *
8  * License, or (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU Library General Public *
16  * License along with this program; if not, write to the *
17  * Free Software Foundation, Inc., *
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19  ***************************************************************************/
20 #include "qmakeastvisitor.h"
21 
22 namespace TQMake {
23 
24 void ASTVisitor::processProject(ProjectAST *project)
25 {
26  if (project->isProject())
27  enterRealProject(project);
28  else if (project->isScope())
29  enterScope(project);
30  else if (project->isFunctionScope())
31  enterFunctionScope(project);
32  for (TQValueList<TQMake::AST*>::const_iterator it = project->m_children.constBegin();
33  it != project->m_children.constEnd(); ++it)
34  {
35  AST *ast = *it;
36  if (ast == 0)
37  continue;
38  switch (ast->nodeType()) {
39  case AST::AssignmentAST:
40  processAssignment(static_cast<TQMake::AssignmentAST*>(ast));
41  break;
42 
43  case AST::NewLineAST:
44  processNewLine(static_cast<TQMake::NewLineAST*>(ast));
45  break;
46 
47  case AST::CommentAST:
48  processComment(static_cast<TQMake::CommentAST*>(ast));
49  break;
50 
51  case AST::ProjectAST:
52  processProject(static_cast<TQMake::ProjectAST*>(ast));
53  break;
54 
55  case AST::IncludeAST:
56  processInclude(static_cast<TQMake::IncludeAST*>(ast));
57  break;
58  }
59  }
60  if (project->isProject())
61  leaveRealProject(project);
62  else if (project->isScope())
63  leaveScope(project);
64  else if (project->isFunctionScope())
65  leaveFunctionScope(project);
66 }
67 
68 }
TQMake::AST::IncludeAST
.pri include.
Definition: qmakeast.h:50
TQMake::AST::AssignmentAST
Variable assignment.
Definition: qmakeast.h:47
TQMake
Definition: location.hh:47
TQMake::AST::NewLineAST
Line feed.
Definition: qmakeast.h:48
TQMake::AST::ProjectAST
Project, scope or function scope.
Definition: qmakeast.h:46
TQMake::AST::CommentAST
Comment.
Definition: qmakeast.h:49

KDevelop QMake parser

Skip menu "KDevelop QMake parser"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members

KDevelop QMake parser

Skip menu "KDevelop QMake parser"
  • buildtools
  •   lib
  •     base
  •     parsers
  •       autotools
  •       qmake
  •     widgets
  •   api
  • languages
  •   lib
  •     debugger
  •     designer_integration
  •     interfaces
  • lib
  •   catalog
  •   interfaces
  •     extensions
  •     external
  •     extras
  •   util
  •   widgets
  •     propeditor
  • parts
  •   documentation
  •     interfaces
  • src
  •   profileengine
  •     lib
Generated for KDevelop QMake parser by doxygen 1.8.13
This website is maintained by Timothy Pearson.