annotate generator/parser/default_visitor.cpp @ 414:b2a803c73b89 default tip

Declare tabArray const.
author David Nadlinger <code@klickverbot.at>
date Fri, 06 May 2011 13:39:49 +0200
parents 09a0f1d048f2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
e78566595089 initial import
mandel
parents:
diff changeset
1 /****************************************************************************
e78566595089 initial import
mandel
parents:
diff changeset
2 **
52
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
3 ** Copyright (C) 1992-2009 Nokia. All rights reserved.
1
e78566595089 initial import
mandel
parents:
diff changeset
4 ** Copyright (C) 2002-2005 Roberto Raggi <roberto@kdevelop.org>
e78566595089 initial import
mandel
parents:
diff changeset
5 **
e78566595089 initial import
mandel
parents:
diff changeset
6 ** This file is part of Qt Jambi.
e78566595089 initial import
mandel
parents:
diff changeset
7 **
52
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
8 ** Commercial Usage
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
9 Licensees holding valid Qt Commercial licenses may use this file in
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
10 accordance with the Qt Commercial License Agreement provided with the
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
11 Software or, alternatively, in accordance with the terms contained in
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
12 a written agreement between you and Nokia.
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
13
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
14 GNU Lesser General Public License Usage
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
15 Alternatively, this file may be used under the terms of the GNU Lesser
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
16 General Public License version 2.1 as published by the Free Software
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
17 Foundation and appearing in the file LICENSE.LGPL included in the
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
18 packaging of this file. Please review the following information to
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
19 ensure the GNU Lesser General Public License version 2.1 requirements
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
20 will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
21
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
22 In addition, as a special exception, Nokia gives you certain
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
23 additional rights. These rights are described in the Nokia Qt LGPL
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
24 Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
25 package.
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
26
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
27 GNU General Public License Usage
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
28 Alternatively, this file may be used under the terms of the GNU
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
29 General Public License version 3.0 as published by the Free Software
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
30 Foundation and appearing in the file LICENSE.GPL included in the
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
31 packaging of this file. Please review the following information to
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
32 ensure the GNU General Public License version 3.0 requirements will be
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
33 met: http://www.gnu.org/copyleft/gpl.html.
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
34
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
35 If you are unsure which license is appropriate for your use, please
09a0f1d048f2 update parser to that from jambi 4.5, attemt to fix building with gcc 4.4
eldar
parents: 1
diff changeset
36 contact the sales department at qt-sales@nokia.com.
1
e78566595089 initial import
mandel
parents:
diff changeset
37
e78566595089 initial import
mandel
parents:
diff changeset
38 **
e78566595089 initial import
mandel
parents:
diff changeset
39 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
e78566595089 initial import
mandel
parents:
diff changeset
40 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
e78566595089 initial import
mandel
parents:
diff changeset
41 **
e78566595089 initial import
mandel
parents:
diff changeset
42 ****************************************************************************/
e78566595089 initial import
mandel
parents:
diff changeset
43
e78566595089 initial import
mandel
parents:
diff changeset
44
e78566595089 initial import
mandel
parents:
diff changeset
45 #include "default_visitor.h"
e78566595089 initial import
mandel
parents:
diff changeset
46
e78566595089 initial import
mandel
parents:
diff changeset
47 void DefaultVisitor::visitAccessSpecifier(AccessSpecifierAST *)
e78566595089 initial import
mandel
parents:
diff changeset
48 {
e78566595089 initial import
mandel
parents:
diff changeset
49 // nothing to do
e78566595089 initial import
mandel
parents:
diff changeset
50 }
e78566595089 initial import
mandel
parents:
diff changeset
51
e78566595089 initial import
mandel
parents:
diff changeset
52 void DefaultVisitor::visitAsmDefinition(AsmDefinitionAST *)
e78566595089 initial import
mandel
parents:
diff changeset
53 {
e78566595089 initial import
mandel
parents:
diff changeset
54 // nothing to do
e78566595089 initial import
mandel
parents:
diff changeset
55 }
e78566595089 initial import
mandel
parents:
diff changeset
56
e78566595089 initial import
mandel
parents:
diff changeset
57 void DefaultVisitor::visitBaseClause(BaseClauseAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
58 {
e78566595089 initial import
mandel
parents:
diff changeset
59 visitNodes(this, node->base_specifiers);
e78566595089 initial import
mandel
parents:
diff changeset
60 }
e78566595089 initial import
mandel
parents:
diff changeset
61
e78566595089 initial import
mandel
parents:
diff changeset
62 void DefaultVisitor::visitBaseSpecifier(BaseSpecifierAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
63 {
e78566595089 initial import
mandel
parents:
diff changeset
64 visit(node->name);
e78566595089 initial import
mandel
parents:
diff changeset
65 }
e78566595089 initial import
mandel
parents:
diff changeset
66
e78566595089 initial import
mandel
parents:
diff changeset
67 void DefaultVisitor::visitBinaryExpression(BinaryExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
68 {
e78566595089 initial import
mandel
parents:
diff changeset
69 visit(node->left_expression);
e78566595089 initial import
mandel
parents:
diff changeset
70 visit(node->right_expression);
e78566595089 initial import
mandel
parents:
diff changeset
71 }
e78566595089 initial import
mandel
parents:
diff changeset
72
e78566595089 initial import
mandel
parents:
diff changeset
73 void DefaultVisitor::visitCastExpression(CastExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
74 {
e78566595089 initial import
mandel
parents:
diff changeset
75 visit(node->type_id);
e78566595089 initial import
mandel
parents:
diff changeset
76 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
77 }
e78566595089 initial import
mandel
parents:
diff changeset
78
e78566595089 initial import
mandel
parents:
diff changeset
79 void DefaultVisitor::visitClassMemberAccess(ClassMemberAccessAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
80 {
e78566595089 initial import
mandel
parents:
diff changeset
81 visit(node->name);
e78566595089 initial import
mandel
parents:
diff changeset
82 }
e78566595089 initial import
mandel
parents:
diff changeset
83
e78566595089 initial import
mandel
parents:
diff changeset
84 void DefaultVisitor::visitClassSpecifier(ClassSpecifierAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
85 {
e78566595089 initial import
mandel
parents:
diff changeset
86 visit(node->win_decl_specifiers);
e78566595089 initial import
mandel
parents:
diff changeset
87 visit(node->name);
e78566595089 initial import
mandel
parents:
diff changeset
88 visit(node->base_clause);
e78566595089 initial import
mandel
parents:
diff changeset
89 visitNodes(this, node->member_specs);
e78566595089 initial import
mandel
parents:
diff changeset
90 }
e78566595089 initial import
mandel
parents:
diff changeset
91
e78566595089 initial import
mandel
parents:
diff changeset
92 void DefaultVisitor::visitCompoundStatement(CompoundStatementAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
93 {
e78566595089 initial import
mandel
parents:
diff changeset
94 visitNodes(this, node->statements);
e78566595089 initial import
mandel
parents:
diff changeset
95 }
e78566595089 initial import
mandel
parents:
diff changeset
96
e78566595089 initial import
mandel
parents:
diff changeset
97 void DefaultVisitor::visitCondition(ConditionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
98 {
e78566595089 initial import
mandel
parents:
diff changeset
99 visit(node->type_specifier);
e78566595089 initial import
mandel
parents:
diff changeset
100 visit(node->declarator);
e78566595089 initial import
mandel
parents:
diff changeset
101 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
102 }
e78566595089 initial import
mandel
parents:
diff changeset
103
e78566595089 initial import
mandel
parents:
diff changeset
104 void DefaultVisitor::visitConditionalExpression(ConditionalExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
105 {
e78566595089 initial import
mandel
parents:
diff changeset
106 visit(node->condition);
e78566595089 initial import
mandel
parents:
diff changeset
107 visit(node->left_expression);
e78566595089 initial import
mandel
parents:
diff changeset
108 visit(node->right_expression);
e78566595089 initial import
mandel
parents:
diff changeset
109 }
e78566595089 initial import
mandel
parents:
diff changeset
110
e78566595089 initial import
mandel
parents:
diff changeset
111 void DefaultVisitor::visitCppCastExpression(CppCastExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
112 {
e78566595089 initial import
mandel
parents:
diff changeset
113 visit(node->type_id);
e78566595089 initial import
mandel
parents:
diff changeset
114 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
115 visitNodes(this, node->sub_expressions);
e78566595089 initial import
mandel
parents:
diff changeset
116 }
e78566595089 initial import
mandel
parents:
diff changeset
117
e78566595089 initial import
mandel
parents:
diff changeset
118 void DefaultVisitor::visitCtorInitializer(CtorInitializerAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
119 {
e78566595089 initial import
mandel
parents:
diff changeset
120 visitNodes(this, node->member_initializers);
e78566595089 initial import
mandel
parents:
diff changeset
121 }
e78566595089 initial import
mandel
parents:
diff changeset
122
e78566595089 initial import
mandel
parents:
diff changeset
123 void DefaultVisitor::visitDeclarationStatement(DeclarationStatementAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
124 {
e78566595089 initial import
mandel
parents:
diff changeset
125 visit(node->declaration);
e78566595089 initial import
mandel
parents:
diff changeset
126 }
e78566595089 initial import
mandel
parents:
diff changeset
127
e78566595089 initial import
mandel
parents:
diff changeset
128 void DefaultVisitor::visitDeclarator(DeclaratorAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
129 {
e78566595089 initial import
mandel
parents:
diff changeset
130 visit(node->sub_declarator);
e78566595089 initial import
mandel
parents:
diff changeset
131 visitNodes(this, node->ptr_ops);
e78566595089 initial import
mandel
parents:
diff changeset
132 visit(node->id);
e78566595089 initial import
mandel
parents:
diff changeset
133 visit(node->bit_expression);
e78566595089 initial import
mandel
parents:
diff changeset
134 visitNodes(this, node->array_dimensions);
e78566595089 initial import
mandel
parents:
diff changeset
135 visit(node->parameter_declaration_clause);
e78566595089 initial import
mandel
parents:
diff changeset
136 visit(node->exception_spec);
e78566595089 initial import
mandel
parents:
diff changeset
137 }
e78566595089 initial import
mandel
parents:
diff changeset
138
e78566595089 initial import
mandel
parents:
diff changeset
139 void DefaultVisitor::visitDeleteExpression(DeleteExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
140 {
e78566595089 initial import
mandel
parents:
diff changeset
141 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
142 }
e78566595089 initial import
mandel
parents:
diff changeset
143
e78566595089 initial import
mandel
parents:
diff changeset
144 void DefaultVisitor::visitDoStatement(DoStatementAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
145 {
e78566595089 initial import
mandel
parents:
diff changeset
146 visit(node->statement);
e78566595089 initial import
mandel
parents:
diff changeset
147 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
148 }
e78566595089 initial import
mandel
parents:
diff changeset
149
e78566595089 initial import
mandel
parents:
diff changeset
150 void DefaultVisitor::visitElaboratedTypeSpecifier(ElaboratedTypeSpecifierAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
151 {
e78566595089 initial import
mandel
parents:
diff changeset
152 visit(node->name);
e78566595089 initial import
mandel
parents:
diff changeset
153 }
e78566595089 initial import
mandel
parents:
diff changeset
154
e78566595089 initial import
mandel
parents:
diff changeset
155 void DefaultVisitor::visitEnumSpecifier(EnumSpecifierAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
156 {
e78566595089 initial import
mandel
parents:
diff changeset
157 visit(node->name);
e78566595089 initial import
mandel
parents:
diff changeset
158 visitNodes(this, node->enumerators);
e78566595089 initial import
mandel
parents:
diff changeset
159 }
e78566595089 initial import
mandel
parents:
diff changeset
160
e78566595089 initial import
mandel
parents:
diff changeset
161 void DefaultVisitor::visitEnumerator(EnumeratorAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
162 {
e78566595089 initial import
mandel
parents:
diff changeset
163 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
164 }
e78566595089 initial import
mandel
parents:
diff changeset
165
e78566595089 initial import
mandel
parents:
diff changeset
166 void DefaultVisitor::visitExceptionSpecification(ExceptionSpecificationAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
167 {
e78566595089 initial import
mandel
parents:
diff changeset
168 visitNodes(this, node->type_ids);
e78566595089 initial import
mandel
parents:
diff changeset
169 }
e78566595089 initial import
mandel
parents:
diff changeset
170
e78566595089 initial import
mandel
parents:
diff changeset
171 void DefaultVisitor::visitExpressionOrDeclarationStatement(ExpressionOrDeclarationStatementAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
172 {
e78566595089 initial import
mandel
parents:
diff changeset
173 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
174 visit(node->declaration);
e78566595089 initial import
mandel
parents:
diff changeset
175 }
e78566595089 initial import
mandel
parents:
diff changeset
176
e78566595089 initial import
mandel
parents:
diff changeset
177 void DefaultVisitor::visitExpressionStatement(ExpressionStatementAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
178 {
e78566595089 initial import
mandel
parents:
diff changeset
179 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
180 }
e78566595089 initial import
mandel
parents:
diff changeset
181
e78566595089 initial import
mandel
parents:
diff changeset
182 void DefaultVisitor::visitForStatement(ForStatementAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
183 {
e78566595089 initial import
mandel
parents:
diff changeset
184 visit(node->init_statement);
e78566595089 initial import
mandel
parents:
diff changeset
185 visit(node->condition);
e78566595089 initial import
mandel
parents:
diff changeset
186 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
187 visit(node->statement);
e78566595089 initial import
mandel
parents:
diff changeset
188 }
e78566595089 initial import
mandel
parents:
diff changeset
189
e78566595089 initial import
mandel
parents:
diff changeset
190 void DefaultVisitor::visitFunctionCall(FunctionCallAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
191 {
e78566595089 initial import
mandel
parents:
diff changeset
192 visit(node->arguments);
e78566595089 initial import
mandel
parents:
diff changeset
193 }
e78566595089 initial import
mandel
parents:
diff changeset
194
e78566595089 initial import
mandel
parents:
diff changeset
195 void DefaultVisitor::visitFunctionDefinition(FunctionDefinitionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
196 {
e78566595089 initial import
mandel
parents:
diff changeset
197 visit(node->type_specifier);
e78566595089 initial import
mandel
parents:
diff changeset
198 visit(node->init_declarator);
e78566595089 initial import
mandel
parents:
diff changeset
199 visit(node->function_body);
e78566595089 initial import
mandel
parents:
diff changeset
200 visit(node->win_decl_specifiers);
e78566595089 initial import
mandel
parents:
diff changeset
201 }
e78566595089 initial import
mandel
parents:
diff changeset
202
e78566595089 initial import
mandel
parents:
diff changeset
203 void DefaultVisitor::visitIfStatement(IfStatementAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
204 {
e78566595089 initial import
mandel
parents:
diff changeset
205 visit(node->condition);
e78566595089 initial import
mandel
parents:
diff changeset
206 visit(node->statement);
e78566595089 initial import
mandel
parents:
diff changeset
207 visit(node->else_statement);
e78566595089 initial import
mandel
parents:
diff changeset
208 }
e78566595089 initial import
mandel
parents:
diff changeset
209
e78566595089 initial import
mandel
parents:
diff changeset
210 void DefaultVisitor::visitIncrDecrExpression(IncrDecrExpressionAST *)
e78566595089 initial import
mandel
parents:
diff changeset
211 {
e78566595089 initial import
mandel
parents:
diff changeset
212 // nothing to do
e78566595089 initial import
mandel
parents:
diff changeset
213 }
e78566595089 initial import
mandel
parents:
diff changeset
214
e78566595089 initial import
mandel
parents:
diff changeset
215 void DefaultVisitor::visitInitDeclarator(InitDeclaratorAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
216 {
e78566595089 initial import
mandel
parents:
diff changeset
217 visit(node->declarator);
e78566595089 initial import
mandel
parents:
diff changeset
218 visit(node->initializer);
e78566595089 initial import
mandel
parents:
diff changeset
219 }
e78566595089 initial import
mandel
parents:
diff changeset
220
e78566595089 initial import
mandel
parents:
diff changeset
221 void DefaultVisitor::visitInitializer(InitializerAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
222 {
e78566595089 initial import
mandel
parents:
diff changeset
223 visit(node->initializer_clause);
e78566595089 initial import
mandel
parents:
diff changeset
224 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
225 }
e78566595089 initial import
mandel
parents:
diff changeset
226
e78566595089 initial import
mandel
parents:
diff changeset
227 void DefaultVisitor::visitInitializerClause(InitializerClauseAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
228 {
e78566595089 initial import
mandel
parents:
diff changeset
229 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
230 }
e78566595089 initial import
mandel
parents:
diff changeset
231
e78566595089 initial import
mandel
parents:
diff changeset
232 void DefaultVisitor::visitLabeledStatement(LabeledStatementAST *)
e78566595089 initial import
mandel
parents:
diff changeset
233 {
e78566595089 initial import
mandel
parents:
diff changeset
234 // nothing to do
e78566595089 initial import
mandel
parents:
diff changeset
235 }
e78566595089 initial import
mandel
parents:
diff changeset
236
e78566595089 initial import
mandel
parents:
diff changeset
237 void DefaultVisitor::visitLinkageBody(LinkageBodyAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
238 {
e78566595089 initial import
mandel
parents:
diff changeset
239 visitNodes(this, node->declarations);
e78566595089 initial import
mandel
parents:
diff changeset
240 }
e78566595089 initial import
mandel
parents:
diff changeset
241
e78566595089 initial import
mandel
parents:
diff changeset
242 void DefaultVisitor::visitLinkageSpecification(LinkageSpecificationAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
243 {
e78566595089 initial import
mandel
parents:
diff changeset
244 visit(node->linkage_body);
e78566595089 initial import
mandel
parents:
diff changeset
245 visit(node->declaration);
e78566595089 initial import
mandel
parents:
diff changeset
246 }
e78566595089 initial import
mandel
parents:
diff changeset
247
e78566595089 initial import
mandel
parents:
diff changeset
248 void DefaultVisitor::visitMemInitializer(MemInitializerAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
249 {
e78566595089 initial import
mandel
parents:
diff changeset
250 visit(node->initializer_id);
e78566595089 initial import
mandel
parents:
diff changeset
251 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
252 }
e78566595089 initial import
mandel
parents:
diff changeset
253
e78566595089 initial import
mandel
parents:
diff changeset
254 void DefaultVisitor::visitName(NameAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
255 {
e78566595089 initial import
mandel
parents:
diff changeset
256 visitNodes(this, node->qualified_names);
e78566595089 initial import
mandel
parents:
diff changeset
257 visit(node->unqualified_name);
e78566595089 initial import
mandel
parents:
diff changeset
258 }
e78566595089 initial import
mandel
parents:
diff changeset
259
e78566595089 initial import
mandel
parents:
diff changeset
260 void DefaultVisitor::visitNamespace(NamespaceAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
261 {
e78566595089 initial import
mandel
parents:
diff changeset
262 visit(node->linkage_body);
e78566595089 initial import
mandel
parents:
diff changeset
263 }
e78566595089 initial import
mandel
parents:
diff changeset
264
e78566595089 initial import
mandel
parents:
diff changeset
265 void DefaultVisitor::visitNamespaceAliasDefinition(NamespaceAliasDefinitionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
266 {
e78566595089 initial import
mandel
parents:
diff changeset
267 visit(node->alias_name);
e78566595089 initial import
mandel
parents:
diff changeset
268 }
e78566595089 initial import
mandel
parents:
diff changeset
269
e78566595089 initial import
mandel
parents:
diff changeset
270 void DefaultVisitor::visitNewDeclarator(NewDeclaratorAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
271 {
e78566595089 initial import
mandel
parents:
diff changeset
272 visit(node->ptr_op);
e78566595089 initial import
mandel
parents:
diff changeset
273 visit(node->sub_declarator);
e78566595089 initial import
mandel
parents:
diff changeset
274 visitNodes(this, node->expressions);
e78566595089 initial import
mandel
parents:
diff changeset
275 }
e78566595089 initial import
mandel
parents:
diff changeset
276
e78566595089 initial import
mandel
parents:
diff changeset
277 void DefaultVisitor::visitNewExpression(NewExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
278 {
e78566595089 initial import
mandel
parents:
diff changeset
279 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
280 visit(node->type_id);
e78566595089 initial import
mandel
parents:
diff changeset
281 visit(node->new_type_id);
e78566595089 initial import
mandel
parents:
diff changeset
282 visit(node->new_initializer);
e78566595089 initial import
mandel
parents:
diff changeset
283 }
e78566595089 initial import
mandel
parents:
diff changeset
284
e78566595089 initial import
mandel
parents:
diff changeset
285 void DefaultVisitor::visitNewInitializer(NewInitializerAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
286 {
e78566595089 initial import
mandel
parents:
diff changeset
287 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
288 }
e78566595089 initial import
mandel
parents:
diff changeset
289
e78566595089 initial import
mandel
parents:
diff changeset
290 void DefaultVisitor::visitNewTypeId(NewTypeIdAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
291 {
e78566595089 initial import
mandel
parents:
diff changeset
292 visit(node->type_specifier);
e78566595089 initial import
mandel
parents:
diff changeset
293 visit(node->new_initializer);
e78566595089 initial import
mandel
parents:
diff changeset
294 visit(node->new_declarator);
e78566595089 initial import
mandel
parents:
diff changeset
295 }
e78566595089 initial import
mandel
parents:
diff changeset
296
e78566595089 initial import
mandel
parents:
diff changeset
297 void DefaultVisitor::visitOperator(OperatorAST *)
e78566595089 initial import
mandel
parents:
diff changeset
298 {
e78566595089 initial import
mandel
parents:
diff changeset
299 // nothing to do
e78566595089 initial import
mandel
parents:
diff changeset
300 }
e78566595089 initial import
mandel
parents:
diff changeset
301
e78566595089 initial import
mandel
parents:
diff changeset
302 void DefaultVisitor::visitOperatorFunctionId(OperatorFunctionIdAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
303 {
e78566595089 initial import
mandel
parents:
diff changeset
304 visit(node->op);
e78566595089 initial import
mandel
parents:
diff changeset
305 visit(node->type_specifier);
e78566595089 initial import
mandel
parents:
diff changeset
306 visitNodes(this, node->ptr_ops);
e78566595089 initial import
mandel
parents:
diff changeset
307 }
e78566595089 initial import
mandel
parents:
diff changeset
308
e78566595089 initial import
mandel
parents:
diff changeset
309 void DefaultVisitor::visitParameterDeclaration(ParameterDeclarationAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
310 {
e78566595089 initial import
mandel
parents:
diff changeset
311 visit(node->type_specifier);
e78566595089 initial import
mandel
parents:
diff changeset
312 visit(node->declarator);
e78566595089 initial import
mandel
parents:
diff changeset
313 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
314 }
e78566595089 initial import
mandel
parents:
diff changeset
315
e78566595089 initial import
mandel
parents:
diff changeset
316 void DefaultVisitor::visitParameterDeclarationClause(ParameterDeclarationClauseAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
317 {
e78566595089 initial import
mandel
parents:
diff changeset
318 visitNodes(this, node->parameter_declarations);
e78566595089 initial import
mandel
parents:
diff changeset
319 }
e78566595089 initial import
mandel
parents:
diff changeset
320
e78566595089 initial import
mandel
parents:
diff changeset
321 void DefaultVisitor::visitPostfixExpression(PostfixExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
322 {
e78566595089 initial import
mandel
parents:
diff changeset
323 visit(node->type_specifier);
e78566595089 initial import
mandel
parents:
diff changeset
324 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
325 visitNodes(this, node->sub_expressions);
e78566595089 initial import
mandel
parents:
diff changeset
326 }
e78566595089 initial import
mandel
parents:
diff changeset
327
e78566595089 initial import
mandel
parents:
diff changeset
328 void DefaultVisitor::visitPrimaryExpression(PrimaryExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
329 {
e78566595089 initial import
mandel
parents:
diff changeset
330 visit(node->literal);
e78566595089 initial import
mandel
parents:
diff changeset
331 visit(node->expression_statement);
e78566595089 initial import
mandel
parents:
diff changeset
332 visit(node->sub_expression);
e78566595089 initial import
mandel
parents:
diff changeset
333 visit(node->name);
e78566595089 initial import
mandel
parents:
diff changeset
334 }
e78566595089 initial import
mandel
parents:
diff changeset
335
e78566595089 initial import
mandel
parents:
diff changeset
336 void DefaultVisitor::visitPtrOperator(PtrOperatorAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
337 {
e78566595089 initial import
mandel
parents:
diff changeset
338 visit(node->mem_ptr);
e78566595089 initial import
mandel
parents:
diff changeset
339 }
e78566595089 initial import
mandel
parents:
diff changeset
340
e78566595089 initial import
mandel
parents:
diff changeset
341 void DefaultVisitor::visitPtrToMember(PtrToMemberAST *)
e78566595089 initial import
mandel
parents:
diff changeset
342 {
e78566595089 initial import
mandel
parents:
diff changeset
343 // nothing to do
e78566595089 initial import
mandel
parents:
diff changeset
344 }
e78566595089 initial import
mandel
parents:
diff changeset
345
e78566595089 initial import
mandel
parents:
diff changeset
346 void DefaultVisitor::visitReturnStatement(ReturnStatementAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
347 {
e78566595089 initial import
mandel
parents:
diff changeset
348 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
349 }
e78566595089 initial import
mandel
parents:
diff changeset
350
e78566595089 initial import
mandel
parents:
diff changeset
351 void DefaultVisitor::visitSimpleDeclaration(SimpleDeclarationAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
352 {
e78566595089 initial import
mandel
parents:
diff changeset
353 visit(node->type_specifier);
e78566595089 initial import
mandel
parents:
diff changeset
354 visitNodes(this, node->init_declarators);
e78566595089 initial import
mandel
parents:
diff changeset
355 visit(node->win_decl_specifiers);
e78566595089 initial import
mandel
parents:
diff changeset
356 }
e78566595089 initial import
mandel
parents:
diff changeset
357
e78566595089 initial import
mandel
parents:
diff changeset
358 void DefaultVisitor::visitSimpleTypeSpecifier(SimpleTypeSpecifierAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
359 {
e78566595089 initial import
mandel
parents:
diff changeset
360 visit(node->name);
e78566595089 initial import
mandel
parents:
diff changeset
361 visit(node->type_id);
e78566595089 initial import
mandel
parents:
diff changeset
362 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
363 }
e78566595089 initial import
mandel
parents:
diff changeset
364
e78566595089 initial import
mandel
parents:
diff changeset
365 void DefaultVisitor::visitSizeofExpression(SizeofExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
366 {
e78566595089 initial import
mandel
parents:
diff changeset
367 visit(node->type_id);
e78566595089 initial import
mandel
parents:
diff changeset
368 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
369 }
e78566595089 initial import
mandel
parents:
diff changeset
370
e78566595089 initial import
mandel
parents:
diff changeset
371 void DefaultVisitor::visitStringLiteral(StringLiteralAST *)
e78566595089 initial import
mandel
parents:
diff changeset
372 {
e78566595089 initial import
mandel
parents:
diff changeset
373 // nothing to do
e78566595089 initial import
mandel
parents:
diff changeset
374 }
e78566595089 initial import
mandel
parents:
diff changeset
375
e78566595089 initial import
mandel
parents:
diff changeset
376 void DefaultVisitor::visitSubscriptExpression(SubscriptExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
377 {
e78566595089 initial import
mandel
parents:
diff changeset
378 visit(node->subscript);
e78566595089 initial import
mandel
parents:
diff changeset
379 }
e78566595089 initial import
mandel
parents:
diff changeset
380
e78566595089 initial import
mandel
parents:
diff changeset
381 void DefaultVisitor::visitSwitchStatement(SwitchStatementAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
382 {
e78566595089 initial import
mandel
parents:
diff changeset
383 visit(node->condition);
e78566595089 initial import
mandel
parents:
diff changeset
384 visit(node->statement);
e78566595089 initial import
mandel
parents:
diff changeset
385 }
e78566595089 initial import
mandel
parents:
diff changeset
386
e78566595089 initial import
mandel
parents:
diff changeset
387 void DefaultVisitor::visitTemplateArgument(TemplateArgumentAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
388 {
e78566595089 initial import
mandel
parents:
diff changeset
389 visit(node->type_id);
e78566595089 initial import
mandel
parents:
diff changeset
390 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
391 }
e78566595089 initial import
mandel
parents:
diff changeset
392
e78566595089 initial import
mandel
parents:
diff changeset
393 void DefaultVisitor::visitTemplateDeclaration(TemplateDeclarationAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
394 {
e78566595089 initial import
mandel
parents:
diff changeset
395 visitNodes(this, node->template_parameters);
e78566595089 initial import
mandel
parents:
diff changeset
396 visit(node->declaration);
e78566595089 initial import
mandel
parents:
diff changeset
397 }
e78566595089 initial import
mandel
parents:
diff changeset
398
e78566595089 initial import
mandel
parents:
diff changeset
399 void DefaultVisitor::visitTemplateParameter(TemplateParameterAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
400 {
e78566595089 initial import
mandel
parents:
diff changeset
401 visit(node->type_parameter);
e78566595089 initial import
mandel
parents:
diff changeset
402 visit(node->parameter_declaration);
e78566595089 initial import
mandel
parents:
diff changeset
403 }
e78566595089 initial import
mandel
parents:
diff changeset
404
e78566595089 initial import
mandel
parents:
diff changeset
405 void DefaultVisitor::visitThrowExpression(ThrowExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
406 {
e78566595089 initial import
mandel
parents:
diff changeset
407 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
408 }
e78566595089 initial import
mandel
parents:
diff changeset
409
e78566595089 initial import
mandel
parents:
diff changeset
410 void DefaultVisitor::visitTranslationUnit(TranslationUnitAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
411 {
e78566595089 initial import
mandel
parents:
diff changeset
412 visitNodes(this, node->declarations);
e78566595089 initial import
mandel
parents:
diff changeset
413 }
e78566595089 initial import
mandel
parents:
diff changeset
414
e78566595089 initial import
mandel
parents:
diff changeset
415 void DefaultVisitor::visitTryBlockStatement(TryBlockStatementAST *)
e78566595089 initial import
mandel
parents:
diff changeset
416 {
e78566595089 initial import
mandel
parents:
diff changeset
417 // nothing to do
e78566595089 initial import
mandel
parents:
diff changeset
418 }
e78566595089 initial import
mandel
parents:
diff changeset
419
e78566595089 initial import
mandel
parents:
diff changeset
420 void DefaultVisitor::visitTypeId(TypeIdAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
421 {
e78566595089 initial import
mandel
parents:
diff changeset
422 visit(node->type_specifier);
e78566595089 initial import
mandel
parents:
diff changeset
423 visit(node->declarator);
e78566595089 initial import
mandel
parents:
diff changeset
424 }
e78566595089 initial import
mandel
parents:
diff changeset
425
e78566595089 initial import
mandel
parents:
diff changeset
426 void DefaultVisitor::visitTypeIdentification(TypeIdentificationAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
427 {
e78566595089 initial import
mandel
parents:
diff changeset
428 visit(node->name);
e78566595089 initial import
mandel
parents:
diff changeset
429 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
430 }
e78566595089 initial import
mandel
parents:
diff changeset
431
e78566595089 initial import
mandel
parents:
diff changeset
432 void DefaultVisitor::visitTypeParameter(TypeParameterAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
433 {
e78566595089 initial import
mandel
parents:
diff changeset
434 visit(node->name);
e78566595089 initial import
mandel
parents:
diff changeset
435 visit(node->type_id);
e78566595089 initial import
mandel
parents:
diff changeset
436 visitNodes(this, node->template_parameters);
e78566595089 initial import
mandel
parents:
diff changeset
437 visit(node->template_name);
e78566595089 initial import
mandel
parents:
diff changeset
438 }
e78566595089 initial import
mandel
parents:
diff changeset
439
e78566595089 initial import
mandel
parents:
diff changeset
440 void DefaultVisitor::visitTypedef(TypedefAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
441 {
e78566595089 initial import
mandel
parents:
diff changeset
442 visit(node->type_specifier);
e78566595089 initial import
mandel
parents:
diff changeset
443 visitNodes(this, node->init_declarators);
e78566595089 initial import
mandel
parents:
diff changeset
444 }
e78566595089 initial import
mandel
parents:
diff changeset
445
e78566595089 initial import
mandel
parents:
diff changeset
446 void DefaultVisitor::visitUnaryExpression(UnaryExpressionAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
447 {
e78566595089 initial import
mandel
parents:
diff changeset
448 visit(node->expression);
e78566595089 initial import
mandel
parents:
diff changeset
449 }
e78566595089 initial import
mandel
parents:
diff changeset
450
e78566595089 initial import
mandel
parents:
diff changeset
451 void DefaultVisitor::visitUnqualifiedName(UnqualifiedNameAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
452 {
e78566595089 initial import
mandel
parents:
diff changeset
453 visit(node->operator_id);
e78566595089 initial import
mandel
parents:
diff changeset
454 visitNodes(this, node->template_arguments);
e78566595089 initial import
mandel
parents:
diff changeset
455 }
e78566595089 initial import
mandel
parents:
diff changeset
456
e78566595089 initial import
mandel
parents:
diff changeset
457 void DefaultVisitor::visitUsing(UsingAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
458 {
e78566595089 initial import
mandel
parents:
diff changeset
459 visit(node->name);
e78566595089 initial import
mandel
parents:
diff changeset
460 }
e78566595089 initial import
mandel
parents:
diff changeset
461
e78566595089 initial import
mandel
parents:
diff changeset
462 void DefaultVisitor::visitUsingDirective(UsingDirectiveAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
463 {
e78566595089 initial import
mandel
parents:
diff changeset
464 visit(node->name);
e78566595089 initial import
mandel
parents:
diff changeset
465 }
e78566595089 initial import
mandel
parents:
diff changeset
466
e78566595089 initial import
mandel
parents:
diff changeset
467 void DefaultVisitor::visitWhileStatement(WhileStatementAST *node)
e78566595089 initial import
mandel
parents:
diff changeset
468 {
e78566595089 initial import
mandel
parents:
diff changeset
469 visit(node->condition);
e78566595089 initial import
mandel
parents:
diff changeset
470 visit(node->statement);
e78566595089 initial import
mandel
parents:
diff changeset
471 }
e78566595089 initial import
mandel
parents:
diff changeset
472
e78566595089 initial import
mandel
parents:
diff changeset
473 void DefaultVisitor::visitWinDeclSpec(WinDeclSpecAST *)
e78566595089 initial import
mandel
parents:
diff changeset
474 {
e78566595089 initial import
mandel
parents:
diff changeset
475 // nothing to do
e78566595089 initial import
mandel
parents:
diff changeset
476 }
e78566595089 initial import
mandel
parents:
diff changeset
477
e78566595089 initial import
mandel
parents:
diff changeset
478 // kate: space-indent on; indent-width 2; replace-tabs on;