~ubuntu-branches/debian/sid/kdevelop/sid

« back to all changes in this revision

Viewing changes to buildtools/lib/parsers/qmake/qmakeastvisitor.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Lainé
  • Date: 2010-05-05 07:21:55 UTC
  • mfrom: (1.2.3 upstream) (5.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100505072155-h78lx19pu04sbhtn
Tags: 4:4.0.0-2
* Upload to unstable (Closes: #579947, #481832).
* Acknowledge obsolete NMU fixes (Closes: #562410, #546961).

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19
 
 ***************************************************************************/
20
 
#include "qmakeastvisitor.h"
21
 
 
22
 
namespace QMake {
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 (QValueList<QMake::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<QMake::AssignmentAST*>(ast));
41
 
                break;
42
 
 
43
 
            case AST::NewLineAST:
44
 
                processNewLine(static_cast<QMake::NewLineAST*>(ast));
45
 
                break;
46
 
 
47
 
            case AST::CommentAST:
48
 
                processComment(static_cast<QMake::CommentAST*>(ast));
49
 
                break;
50
 
 
51
 
            case AST::ProjectAST:
52
 
                processProject(static_cast<QMake::ProjectAST*>(ast));
53
 
                break;
54
 
 
55
 
            case AST::IncludeAST:
56
 
                processInclude(static_cast<QMake::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
 
}