View Javadoc

1   /***
2    *
3    * Copyright 2005 Jeremy Rayner
4    *
5    * Licensed under the Apache License, Version 2.0 (the "License");
6    * you may not use this file except in compliance with the License.
7    * You may obtain a copy of the License at
8    *
9    * http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   *
17   **/
18  package org.codehaus.groovy.antlr.treewalker;
19  
20  import java.util.*;
21  
22  import org.codehaus.groovy.antlr.GroovySourceAST;
23  
24  /***
25   * A composite of many visitors. Any call to a method from Visitor
26   * will invoke each visitor in turn, and reverse the invocation
27   * order on a closing visit.
28   * i.e.
29   * with the list of visitors = [a,b,c]
30   * composite.visitDefault() would...
31   * call on the opening visit - a.visitDefault() then b.visitDefault() then c.visitDefault()
32   * call on the closing visit - c.visitDefault() then b.visitDefault() then a.visitDefault()
33   *
34   * @author <a href="mailto:groovy@ross-rayner.com">Jeremy Rayner</a>
35   * @version $Revision: 1.2 $
36   */
37  
38  public class CompositeVisitor implements Visitor{
39      List visitors;
40      List backToFrontVisitors;
41      private Stack stack;
42  
43      /***
44       * A composite of the supplied list of antlr AST visitors.
45       * @param visitors a List of implementations of the Visitor interface
46       */
47      public CompositeVisitor(List visitors) {
48          this.visitors = visitors;
49          this.stack = new Stack();
50          backToFrontVisitors = new ArrayList();
51          backToFrontVisitors.addAll(visitors);
52          Collections.reverse(backToFrontVisitors);
53      }
54  
55      private Iterator itr(int visit) {
56          Iterator itr=visitors.iterator();
57          if (visit == CLOSING_VISIT) {
58              itr = backToFrontVisitors.iterator();
59          }
60          return itr;
61      }
62  
63      public void setUp() {
64          Iterator itr = visitors.iterator();
65          while (itr.hasNext()) {((Visitor)itr.next()).setUp();}
66      }
67  
68      public void visitAbstract(GroovySourceAST t, int visit) {
69          Iterator itr = itr(visit);
70          while (itr.hasNext()) {((Visitor)itr.next()).visitAbstract(t,visit);}
71      }
72  
73      public void visitAnnotation(GroovySourceAST t, int visit) {
74          Iterator itr = itr(visit);
75          while (itr.hasNext()) {((Visitor)itr.next()).visitAnnotation(t,visit);}
76      }
77  
78      public void visitAnnotations(GroovySourceAST t, int visit) {
79          Iterator itr = itr(visit);
80          while (itr.hasNext()) {((Visitor)itr.next()).visitAnnotations(t,visit);}
81      }
82  
83      public void visitAnnotationArrayInit(GroovySourceAST t, int visit) {
84          Iterator itr = itr(visit);
85          while (itr.hasNext()) {((Visitor)itr.next()).visitAnnotationArrayInit(t,visit);}
86      }
87  
88      public void visitAnnotationDef(GroovySourceAST t, int visit) {
89          Iterator itr = itr(visit);
90          while (itr.hasNext()) {((Visitor)itr.next()).visitAnnotationDef(t,visit);}
91      }
92  
93      public void visitAnnotationFieldDef(GroovySourceAST t, int visit) {
94          Iterator itr = itr(visit);
95          while (itr.hasNext()) {((Visitor)itr.next()).visitAnnotationFieldDef(t,visit);}
96      }
97  
98      public void visitAnnotationMemberValuePair(GroovySourceAST t, int visit) {
99          Iterator itr = itr(visit);
100         while (itr.hasNext()) {((Visitor)itr.next()).visitAnnotationMemberValuePair(t,visit);}
101     }
102 
103     public void visitArrayDeclarator(GroovySourceAST t, int visit) {
104         Iterator itr = itr(visit);
105         while (itr.hasNext()) {((Visitor)itr.next()).visitArrayDeclarator(t,visit);}
106     }
107 
108     public void visitAssign(GroovySourceAST t, int visit) {
109         Iterator itr = itr(visit);
110         while (itr.hasNext()) {((Visitor)itr.next()).visitAssign(t,visit);}
111     }
112 
113     public void visitAt(GroovySourceAST t, int visit) {
114         Iterator itr = itr(visit);
115         while (itr.hasNext()) {((Visitor)itr.next()).visitAt(t,visit);}
116     }
117 
118     public void visitBand(GroovySourceAST t, int visit) {
119         Iterator itr = itr(visit);
120         while (itr.hasNext()) {((Visitor)itr.next()).visitBand(t,visit);}
121     }
122 
123     public void visitBandAssign(GroovySourceAST t, int visit) {
124         Iterator itr = itr(visit);
125         while (itr.hasNext()) {((Visitor)itr.next()).visitBandAssign(t,visit);}
126     }
127 
128     public void visitBigSuffix(GroovySourceAST t, int visit) {
129         Iterator itr = itr(visit);
130         while (itr.hasNext()) {((Visitor)itr.next()).visitBigSuffix(t,visit);}
131     }
132 
133     public void visitBlock(GroovySourceAST t, int visit) {
134         Iterator itr = itr(visit);
135         while (itr.hasNext()) {((Visitor)itr.next()).visitBlock(t,visit);}
136     }
137 
138     public void visitBnot(GroovySourceAST t, int visit) {
139         Iterator itr = itr(visit);
140         while (itr.hasNext()) {((Visitor)itr.next()).visitBnot(t,visit);}
141     }
142 
143     public void visitBor(GroovySourceAST t, int visit) {
144         Iterator itr = itr(visit);
145         while (itr.hasNext()) {((Visitor)itr.next()).visitBor(t,visit);}
146     }
147 
148     public void visitBorAssign(GroovySourceAST t, int visit) {
149         Iterator itr = itr(visit);
150         while (itr.hasNext()) {((Visitor)itr.next()).visitBorAssign(t,visit);}
151     }
152 
153     public void visitBsr(GroovySourceAST t, int visit) {
154         Iterator itr = itr(visit);
155         while (itr.hasNext()) {((Visitor)itr.next()).visitBsr(t,visit);}
156     }
157 
158     public void visitBsrAssign(GroovySourceAST t, int visit) {
159         Iterator itr = itr(visit);
160         while (itr.hasNext()) {((Visitor)itr.next()).visitBsrAssign(t,visit);}
161     }
162 
163     public void visitBxor(GroovySourceAST t, int visit) {
164         Iterator itr = itr(visit);
165         while (itr.hasNext()) {((Visitor)itr.next()).visitBxor(t,visit);}
166     }
167 
168     public void visitBxorAssign(GroovySourceAST t, int visit) {
169         Iterator itr = itr(visit);
170         while (itr.hasNext()) {((Visitor)itr.next()).visitBxorAssign(t,visit);}
171     }
172 
173     public void visitCaseGroup(GroovySourceAST t, int visit) {
174         Iterator itr = itr(visit);
175         while (itr.hasNext()) {((Visitor)itr.next()).visitCaseGroup(t,visit);}
176     }
177 
178     public void visitClassDef(GroovySourceAST t, int visit) {
179         Iterator itr = itr(visit);
180         while (itr.hasNext()) {((Visitor)itr.next()).visitClassDef(t,visit);}
181     }
182 
183     public void visitClosedBlock(GroovySourceAST t, int visit) {
184         Iterator itr = itr(visit);
185         while (itr.hasNext()) {((Visitor)itr.next()).visitClosedBlock(t,visit);}
186     }
187 
188     public void visitClosureOp(GroovySourceAST t, int visit) {
189         Iterator itr = itr(visit);
190         while (itr.hasNext()) {((Visitor)itr.next()).visitClosureOp(t,visit);}
191     }
192 
193     public void visitColon(GroovySourceAST t, int visit) {
194         Iterator itr = itr(visit);
195         while (itr.hasNext()) {((Visitor)itr.next()).visitColon(t,visit);}
196     }
197 
198     public void visitComma(GroovySourceAST t, int visit) {
199         Iterator itr = itr(visit);
200         while (itr.hasNext()) {((Visitor)itr.next()).visitComma(t,visit);}
201     }
202 
203     public void visitCompareTo(GroovySourceAST t, int visit) {
204         Iterator itr = itr(visit);
205         while (itr.hasNext()) {((Visitor)itr.next()).visitCompareTo(t,visit);}
206     }
207 
208     public void visitCtorCall(GroovySourceAST t, int visit) {
209         Iterator itr = itr(visit);
210         while (itr.hasNext()) {((Visitor)itr.next()).visitCtorCall(t,visit);}
211     }
212 
213     public void visitCtorIdent(GroovySourceAST t, int visit) {
214         Iterator itr = itr(visit);
215         while (itr.hasNext()) {((Visitor)itr.next()).visitCtorIdent(t,visit);}
216     }
217 
218     public void visitDec(GroovySourceAST t, int visit) {
219         Iterator itr = itr(visit);
220         while (itr.hasNext()) {((Visitor)itr.next()).visitDec(t,visit);}
221     }
222 
223     public void visitDigit(GroovySourceAST t, int visit) {
224         Iterator itr = itr(visit);
225         while (itr.hasNext()) {((Visitor)itr.next()).visitDigit(t,visit);}
226     }
227 
228     public void visitDiv(GroovySourceAST t, int visit) {
229         Iterator itr = itr(visit);
230         while (itr.hasNext()) {((Visitor)itr.next()).visitDiv(t,visit);}
231     }
232 
233     public void visitDivAssign(GroovySourceAST t, int visit) {
234         Iterator itr = itr(visit);
235         while (itr.hasNext()) {((Visitor)itr.next()).visitDivAssign(t,visit);}
236     }
237 
238     public void visitDollar(GroovySourceAST t, int visit) {
239         Iterator itr = itr(visit);
240         while (itr.hasNext()) {((Visitor)itr.next()).visitDollar(t,visit);}
241     }
242 
243     public void visitDot(GroovySourceAST t, int visit) {
244         Iterator itr = itr(visit);
245         while (itr.hasNext()) {((Visitor)itr.next()).visitDot(t,visit);}
246     }
247 
248     public void visitDynamicMember(GroovySourceAST t, int visit) {
249         Iterator itr = itr(visit);
250         while (itr.hasNext()) {((Visitor)itr.next()).visitDynamicMember(t,visit);}
251     }
252 
253     public void visitElist(GroovySourceAST t, int visit) {
254         Iterator itr = itr(visit);
255         while (itr.hasNext()) {((Visitor)itr.next()).visitElist(t,visit);}
256     }
257 
258     public void visitEmptyStat(GroovySourceAST t, int visit) {
259         Iterator itr = itr(visit);
260         while (itr.hasNext()) {((Visitor)itr.next()).visitEmptyStat(t,visit);}
261     }
262 
263     public void visitEnumConstantDef(GroovySourceAST t, int visit) {
264         Iterator itr = itr(visit);
265         while (itr.hasNext()) {((Visitor)itr.next()).visitEnumConstantDef(t,visit);}
266     }
267 
268     public void visitEnumDef(GroovySourceAST t, int visit) {
269         Iterator itr = itr(visit);
270         while (itr.hasNext()) {((Visitor)itr.next()).visitEnumDef(t,visit);}
271     }
272 
273     public void visitEof(GroovySourceAST t, int visit) {
274         Iterator itr = itr(visit);
275         while (itr.hasNext()) {((Visitor)itr.next()).visitEof(t,visit);}
276     }
277 
278     public void visitEqual(GroovySourceAST t, int visit) {
279         Iterator itr = itr(visit);
280         while (itr.hasNext()) {((Visitor)itr.next()).visitEqual(t,visit);}
281     }
282 
283     public void visitEsc(GroovySourceAST t, int visit) {
284         Iterator itr = itr(visit);
285         while (itr.hasNext()) {((Visitor)itr.next()).visitEsc(t,visit);}
286     }
287 
288     public void visitExponent(GroovySourceAST t, int visit) {
289         Iterator itr = itr(visit);
290         while (itr.hasNext()) {((Visitor)itr.next()).visitExponent(t,visit);}
291     }
292 
293     public void visitExpr(GroovySourceAST t, int visit) {
294         Iterator itr = itr(visit);
295         while (itr.hasNext()) {((Visitor)itr.next()).visitExpr(t,visit);}
296     }
297 
298     public void visitExtendsClause(GroovySourceAST t, int visit) {
299         Iterator itr = itr(visit);
300         while (itr.hasNext()) {((Visitor)itr.next()).visitExtendsClause(t,visit);}
301     }
302 
303     public void visitFinal(GroovySourceAST t, int visit) {
304         Iterator itr = itr(visit);
305         while (itr.hasNext()) {((Visitor)itr.next()).visitFinal(t,visit);}
306     }
307 
308     public void visitFloatSuffix(GroovySourceAST t, int visit) {
309         Iterator itr = itr(visit);
310         while (itr.hasNext()) {((Visitor)itr.next()).visitFloatSuffix(t,visit);}
311     }
312 
313     public void visitForCondition(GroovySourceAST t, int visit) {
314         Iterator itr = itr(visit);
315         while (itr.hasNext()) {((Visitor)itr.next()).visitForCondition(t,visit);}
316     }
317 
318     public void visitForEachClause(GroovySourceAST t, int visit) {
319         Iterator itr = itr(visit);
320         while (itr.hasNext()) {((Visitor)itr.next()).visitForEachClause(t,visit);}
321     }
322 
323     public void visitForInit(GroovySourceAST t, int visit) {
324         Iterator itr = itr(visit);
325         while (itr.hasNext()) {((Visitor)itr.next()).visitForInit(t,visit);}
326     }
327 
328     public void visitForInIterable(GroovySourceAST t, int visit) {
329         Iterator itr = itr(visit);
330         while (itr.hasNext()) {((Visitor)itr.next()).visitForInIterable(t,visit);}
331     }
332 
333     public void visitForIterator(GroovySourceAST t, int visit) {
334         Iterator itr = itr(visit);
335         while (itr.hasNext()) {((Visitor)itr.next()).visitForIterator(t,visit);}
336     }
337 
338     public void visitGe(GroovySourceAST t, int visit) {
339         Iterator itr = itr(visit);
340         while (itr.hasNext()) {((Visitor)itr.next()).visitGe(t,visit);}
341     }
342 
343     public void visitGt(GroovySourceAST t, int visit) {
344         Iterator itr = itr(visit);
345         while (itr.hasNext()) {((Visitor)itr.next()).visitGt(t,visit);}
346     }
347 
348     public void visitHexDigit(GroovySourceAST t, int visit) {
349         Iterator itr = itr(visit);
350         while (itr.hasNext()) {((Visitor)itr.next()).visitHexDigit(t,visit);}
351     }
352 
353     public void visitIdent(GroovySourceAST t, int visit) {
354         Iterator itr = itr(visit);
355         while (itr.hasNext()) {((Visitor)itr.next()).visitIdent(t,visit);}
356     }
357 
358     public void visitImplementsClause(GroovySourceAST t, int visit) {
359         Iterator itr = itr(visit);
360         while (itr.hasNext()) {((Visitor)itr.next()).visitImplementsClause(t,visit);}
361     }
362 
363     public void visitImplicitParameters(GroovySourceAST t, int visit) {
364         Iterator itr = itr(visit);
365         while (itr.hasNext()) {((Visitor)itr.next()).visitImplicitParameters(t,visit);}
366     }
367 
368     public void visitImport(GroovySourceAST t, int visit) {
369         Iterator itr = itr(visit);
370         while (itr.hasNext()) {((Visitor)itr.next()).visitImport(t,visit);}
371     }
372 
373     public void visitInc(GroovySourceAST t, int visit) {
374         Iterator itr = itr(visit);
375         while (itr.hasNext()) {((Visitor)itr.next()).visitInc(t,visit);}
376     }
377 
378     public void visitIndexOp(GroovySourceAST t, int visit) {
379         Iterator itr = itr(visit);
380         while (itr.hasNext()) {((Visitor)itr.next()).visitIndexOp(t,visit);}
381     }
382 
383     public void visitInstanceInit(GroovySourceAST t, int visit) {
384         Iterator itr = itr(visit);
385         while (itr.hasNext()) {((Visitor)itr.next()).visitInstanceInit(t,visit);}
386     }
387 
388     public void visitInterfaceDef(GroovySourceAST t, int visit) {
389         Iterator itr = itr(visit);
390         while (itr.hasNext()) {((Visitor)itr.next()).visitInterfaceDef(t,visit);}
391     }
392 
393     public void visitLabeledArg(GroovySourceAST t, int visit) {
394         Iterator itr = itr(visit);
395         while (itr.hasNext()) {((Visitor)itr.next()).visitLabeledArg(t,visit);}
396     }
397 
398     public void visitLabeledStat(GroovySourceAST t, int visit) {
399         Iterator itr = itr(visit);
400         while (itr.hasNext()) {((Visitor)itr.next()).visitLabeledStat(t,visit);}
401     }
402 
403     public void visitLand(GroovySourceAST t, int visit) {
404         Iterator itr = itr(visit);
405         while (itr.hasNext()) {((Visitor)itr.next()).visitLand(t,visit);}
406     }
407 
408     public void visitLbrack(GroovySourceAST t, int visit) {
409         Iterator itr = itr(visit);
410         while (itr.hasNext()) {((Visitor)itr.next()).visitLbrack(t,visit);}
411     }
412 
413     public void visitLcurly(GroovySourceAST t, int visit) {
414         Iterator itr = itr(visit);
415         while (itr.hasNext()) {((Visitor)itr.next()).visitLcurly(t,visit);}
416     }
417 
418     public void visitLe(GroovySourceAST t, int visit) {
419         Iterator itr = itr(visit);
420         while (itr.hasNext()) {((Visitor)itr.next()).visitLe(t,visit);}
421     }
422 
423     public void visitLetter(GroovySourceAST t, int visit) {
424         Iterator itr = itr(visit);
425         while (itr.hasNext()) {((Visitor)itr.next()).visitLetter(t,visit);}
426     }
427 
428     public void visitListConstructor(GroovySourceAST t, int visit) {
429         Iterator itr = itr(visit);
430         while (itr.hasNext()) {((Visitor)itr.next()).visitListConstructor(t,visit);}
431     }
432 
433     public void visitLiteralAny(GroovySourceAST t, int visit) {
434         Iterator itr = itr(visit);
435         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralAny(t,visit);}
436     }
437 
438     public void visitLiteralAs(GroovySourceAST t, int visit) {
439         Iterator itr = itr(visit);
440         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralAs(t,visit);}
441     }
442 
443     public void visitLiteralAssert(GroovySourceAST t, int visit) {
444         Iterator itr = itr(visit);
445         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralAssert(t,visit);}
446     }
447 
448     public void visitLiteralBoolean(GroovySourceAST t, int visit) {
449         Iterator itr = itr(visit);
450         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralBoolean(t,visit);}
451     }
452 
453     public void visitLiteralBreak(GroovySourceAST t, int visit) {
454         Iterator itr = itr(visit);
455         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralBreak(t,visit);}
456     }
457 
458     public void visitLiteralByte(GroovySourceAST t, int visit) {
459         Iterator itr = itr(visit);
460         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralByte(t,visit);}
461     }
462 
463     public void visitLiteralCase(GroovySourceAST t, int visit) {
464         Iterator itr = itr(visit);
465         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralCase(t,visit);}
466     }
467 
468     public void visitLiteralCatch(GroovySourceAST t, int visit) {
469         Iterator itr = itr(visit);
470         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralCatch(t,visit);}
471     }
472 
473     public void visitLiteralChar(GroovySourceAST t, int visit) {
474         Iterator itr = itr(visit);
475         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralChar(t,visit);}
476     }
477 
478     public void visitLiteralClass(GroovySourceAST t, int visit) {
479         Iterator itr = itr(visit);
480         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralClass(t,visit);}
481     }
482 
483     public void visitLiteralContinue(GroovySourceAST t, int visit) {
484         Iterator itr = itr(visit);
485         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralContinue(t,visit);}
486     }
487 
488     public void visitLiteralDef(GroovySourceAST t, int visit) {
489         Iterator itr = itr(visit);
490         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralDef(t,visit);}
491     }
492 
493     public void visitLiteralDefault(GroovySourceAST t, int visit) {
494         Iterator itr = itr(visit);
495         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralDefault(t,visit);}
496     }
497 
498     public void visitLiteralDouble(GroovySourceAST t, int visit) {
499         Iterator itr = itr(visit);
500         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralDouble(t,visit);}
501     }
502 
503     public void visitLiteralElse(GroovySourceAST t, int visit) {
504         Iterator itr = itr(visit);
505         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralElse(t,visit);}
506     }
507 
508     public void visitLiteralEnum(GroovySourceAST t, int visit) {
509         Iterator itr = itr(visit);
510         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralEnum(t,visit);}
511     }
512 
513     public void visitLiteralExtends(GroovySourceAST t, int visit) {
514         Iterator itr = itr(visit);
515         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralExtends(t,visit);}
516     }
517 
518     public void visitLiteralFalse(GroovySourceAST t, int visit) {
519         Iterator itr = itr(visit);
520         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralFalse(t,visit);}
521     }
522 
523     public void visitLiteralFinally(GroovySourceAST t, int visit) {
524         Iterator itr = itr(visit);
525         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralFinally(t,visit);}
526     }
527 
528     public void visitLiteralFloat(GroovySourceAST t, int visit) {
529         Iterator itr = itr(visit);
530         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralFloat(t,visit);}
531     }
532 
533     public void visitLiteralFor(GroovySourceAST t, int visit) {
534         Iterator itr = itr(visit);
535         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralFor(t,visit);}
536     }
537 
538     public void visitLiteralIf(GroovySourceAST t, int visit) {
539         Iterator itr = itr(visit);
540         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralIf(t,visit);}
541     }
542 
543     public void visitLiteralImplements(GroovySourceAST t, int visit) {
544         Iterator itr = itr(visit);
545         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralImplements(t,visit);}
546     }
547 
548     public void visitLiteralImport(GroovySourceAST t, int visit) {
549         Iterator itr = itr(visit);
550         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralImport(t,visit);}
551     }
552 
553     public void visitLiteralIn(GroovySourceAST t, int visit) {
554         Iterator itr = itr(visit);
555         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralIn(t,visit);}
556     }
557 
558     public void visitLiteralInstanceof(GroovySourceAST t, int visit) {
559         Iterator itr = itr(visit);
560         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralInstanceof(t,visit);}
561     }
562 
563     public void visitLiteralInt(GroovySourceAST t, int visit) {
564         Iterator itr = itr(visit);
565         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralInt(t,visit);}
566     }
567 
568     public void visitLiteralInterface(GroovySourceAST t, int visit) {
569         Iterator itr = itr(visit);
570         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralInterface(t,visit);}
571     }
572 
573     public void visitLiteralLong(GroovySourceAST t, int visit) {
574         Iterator itr = itr(visit);
575         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralLong(t,visit);}
576     }
577 
578     public void visitLiteralNative(GroovySourceAST t, int visit) {
579         Iterator itr = itr(visit);
580         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralNative(t,visit);}
581     }
582 
583     public void visitLiteralNew(GroovySourceAST t, int visit) {
584         Iterator itr = itr(visit);
585         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralNew(t,visit);}
586     }
587 
588     public void visitLiteralNull(GroovySourceAST t, int visit) {
589         Iterator itr = itr(visit);
590         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralNull(t,visit);}
591     }
592 
593     public void visitLiteralPackage(GroovySourceAST t, int visit) {
594         Iterator itr = itr(visit);
595         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralPackage(t,visit);}
596     }
597 
598     public void visitLiteralPrivate(GroovySourceAST t, int visit) {
599         Iterator itr = itr(visit);
600         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralPrivate(t,visit);}
601     }
602 
603     public void visitLiteralProtected(GroovySourceAST t, int visit) {
604         Iterator itr = itr(visit);
605         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralProtected(t,visit);}
606     }
607 
608     public void visitLiteralPublic(GroovySourceAST t, int visit) {
609         Iterator itr = itr(visit);
610         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralPublic(t,visit);}
611     }
612 
613     public void visitLiteralReturn(GroovySourceAST t, int visit) {
614         Iterator itr = itr(visit);
615         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralReturn(t,visit);}
616     }
617 
618     public void visitLiteralShort(GroovySourceAST t, int visit) {
619         Iterator itr = itr(visit);
620         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralShort(t,visit);}
621     }
622 
623     public void visitLiteralStatic(GroovySourceAST t, int visit) {
624         Iterator itr = itr(visit);
625         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralStatic(t,visit);}
626     }
627 
628     public void visitLiteralSuper(GroovySourceAST t, int visit) {
629         Iterator itr = itr(visit);
630         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralSuper(t,visit);}
631     }
632 
633     public void visitLiteralSwitch(GroovySourceAST t, int visit) {
634         Iterator itr = itr(visit);
635         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralSwitch(t,visit);}
636     }
637 
638     public void visitLiteralSynchronized(GroovySourceAST t, int visit) {
639         Iterator itr = itr(visit);
640         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralSynchronized(t,visit);}
641     }
642 
643     public void visitLiteralThis(GroovySourceAST t, int visit) {
644         Iterator itr = itr(visit);
645         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralThis(t,visit);}
646     }
647 
648     public void visitLiteralThreadsafe(GroovySourceAST t, int visit) {
649         Iterator itr = itr(visit);
650         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralThreadsafe(t,visit);}
651     }
652 
653     public void visitLiteralThrow(GroovySourceAST t, int visit) {
654         Iterator itr = itr(visit);
655         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralThrow(t,visit);}
656     }
657 
658     public void visitLiteralThrows(GroovySourceAST t, int visit) {
659         Iterator itr = itr(visit);
660         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralThrows(t,visit);}
661     }
662 
663     public void visitLiteralTransient(GroovySourceAST t, int visit) {
664         Iterator itr = itr(visit);
665         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralTransient(t,visit);}
666     }
667 
668     public void visitLiteralTrue(GroovySourceAST t, int visit) {
669         Iterator itr = itr(visit);
670         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralTrue(t,visit);}
671     }
672 
673     public void visitLiteralTry(GroovySourceAST t, int visit) {
674         Iterator itr = itr(visit);
675         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralTry(t,visit);}
676     }
677 
678     public void visitLiteralVoid(GroovySourceAST t, int visit) {
679         Iterator itr = itr(visit);
680         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralVoid(t,visit);}
681     }
682 
683     public void visitLiteralVolatile(GroovySourceAST t, int visit) {
684         Iterator itr = itr(visit);
685         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralVolatile(t,visit);}
686     }
687 
688     public void visitLiteralWhile(GroovySourceAST t, int visit) {
689         Iterator itr = itr(visit);
690         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralWhile(t,visit);}
691     }
692 
693     public void visitLiteralWith(GroovySourceAST t, int visit) {
694         Iterator itr = itr(visit);
695         while (itr.hasNext()) {((Visitor)itr.next()).visitLiteralWith(t,visit);}
696     }
697 
698     public void visitLnot(GroovySourceAST t, int visit) {
699         Iterator itr = itr(visit);
700         while (itr.hasNext()) {((Visitor)itr.next()).visitLnot(t,visit);}
701     }
702 
703     public void visitLor(GroovySourceAST t, int visit) {
704         Iterator itr = itr(visit);
705         while (itr.hasNext()) {((Visitor)itr.next()).visitLor(t,visit);}
706     }
707 
708     public void visitLparen(GroovySourceAST t, int visit) {
709         Iterator itr = itr(visit);
710         while (itr.hasNext()) {((Visitor)itr.next()).visitLparen(t,visit);}
711     }
712 
713     public void visitLt(GroovySourceAST t, int visit) {
714         Iterator itr = itr(visit);
715         while (itr.hasNext()) {((Visitor)itr.next()).visitLt(t,visit);}
716     }
717 
718     public void visitMapConstructor(GroovySourceAST t, int visit) {
719         Iterator itr = itr(visit);
720         while (itr.hasNext()) {((Visitor)itr.next()).visitMapConstructor(t,visit);}
721     }
722 
723     public void visitMemberPointer(GroovySourceAST t, int visit) {
724         Iterator itr = itr(visit);
725         while (itr.hasNext()) {((Visitor)itr.next()).visitMemberPointer(t,visit);}
726     }
727 
728     public void visitMethodCall(GroovySourceAST t, int visit) {
729         Iterator itr = itr(visit);
730         while (itr.hasNext()) {((Visitor)itr.next()).visitMethodCall(t,visit);}
731     }
732 
733     public void visitMethodDef(GroovySourceAST t, int visit) {
734         Iterator itr = itr(visit);
735         while (itr.hasNext()) {((Visitor)itr.next()).visitMethodDef(t,visit);}
736     }
737 
738     public void visitMinus(GroovySourceAST t, int visit) {
739         Iterator itr = itr(visit);
740         while (itr.hasNext()) {((Visitor)itr.next()).visitMinus(t,visit);}
741     }
742 
743     public void visitMinusAssign(GroovySourceAST t, int visit) {
744         Iterator itr = itr(visit);
745         while (itr.hasNext()) {((Visitor)itr.next()).visitMinusAssign(t,visit);}
746     }
747 
748     public void visitMlComment(GroovySourceAST t, int visit) {
749         Iterator itr = itr(visit);
750         while (itr.hasNext()) {((Visitor)itr.next()).visitMlComment(t,visit);}
751     }
752 
753     public void visitMod(GroovySourceAST t, int visit) {
754         Iterator itr = itr(visit);
755         while (itr.hasNext()) {((Visitor)itr.next()).visitMod(t,visit);}
756     }
757 
758     public void visitModifiers(GroovySourceAST t, int visit) {
759         Iterator itr = itr(visit);
760         while (itr.hasNext()) {((Visitor)itr.next()).visitModifiers(t,visit);}
761     }
762 
763     public void visitModAssign(GroovySourceAST t, int visit) {
764         Iterator itr = itr(visit);
765         while (itr.hasNext()) {((Visitor)itr.next()).visitModAssign(t,visit);}
766     }
767 
768     public void visitNls(GroovySourceAST t, int visit) {
769         Iterator itr = itr(visit);
770         while (itr.hasNext()) {((Visitor)itr.next()).visitNls(t,visit);}
771     }
772 
773     public void visitNotEqual(GroovySourceAST t, int visit) {
774         Iterator itr = itr(visit);
775         while (itr.hasNext()) {((Visitor)itr.next()).visitNotEqual(t,visit);}
776     }
777 
778     public void visitNullTreeLookahead(GroovySourceAST t, int visit) {
779         Iterator itr = itr(visit);
780         while (itr.hasNext()) {((Visitor)itr.next()).visitNullTreeLookahead(t,visit);}
781     }
782 
783     public void visitNumBigDecimal(GroovySourceAST t, int visit) {
784         Iterator itr = itr(visit);
785         while (itr.hasNext()) {((Visitor)itr.next()).visitNumBigDecimal(t,visit);}
786     }
787 
788     public void visitNumBigInt(GroovySourceAST t, int visit) {
789         Iterator itr = itr(visit);
790         while (itr.hasNext()) {((Visitor)itr.next()).visitNumBigInt(t,visit);}
791     }
792 
793     public void visitNumDouble(GroovySourceAST t, int visit) {
794         Iterator itr = itr(visit);
795         while (itr.hasNext()) {((Visitor)itr.next()).visitNumDouble(t,visit);}
796     }
797 
798     public void visitNumFloat(GroovySourceAST t, int visit) {
799         Iterator itr = itr(visit);
800         while (itr.hasNext()) {((Visitor)itr.next()).visitNumFloat(t,visit);}
801     }
802 
803     public void visitNumInt(GroovySourceAST t, int visit) {
804         Iterator itr = itr(visit);
805         while (itr.hasNext()) {((Visitor)itr.next()).visitNumInt(t,visit);}
806     }
807 
808     public void visitNumLong(GroovySourceAST t, int visit) {
809         Iterator itr = itr(visit);
810         while (itr.hasNext()) {((Visitor)itr.next()).visitNumLong(t,visit);}
811     }
812 
813     public void visitObjblock(GroovySourceAST t, int visit) {
814         Iterator itr = itr(visit);
815         while (itr.hasNext()) {((Visitor)itr.next()).visitObjblock(t,visit);}
816     }
817 
818     public void visitOneNl(GroovySourceAST t, int visit) {
819         Iterator itr = itr(visit);
820         while (itr.hasNext()) {((Visitor)itr.next()).visitOneNl(t,visit);}
821     }
822 
823     public void visitOptionalDot(GroovySourceAST t, int visit) {
824         Iterator itr = itr(visit);
825         while (itr.hasNext()) {((Visitor)itr.next()).visitOptionalDot(t,visit);}
826     }
827 
828     public void visitPackageDef(GroovySourceAST t, int visit) {
829         Iterator itr = itr(visit);
830         while (itr.hasNext()) {((Visitor)itr.next()).visitPackageDef(t,visit);}
831     }
832 
833     public void visitParameters(GroovySourceAST t, int visit) {
834         Iterator itr = itr(visit);
835         while (itr.hasNext()) {((Visitor)itr.next()).visitParameters(t,visit);}
836     }
837 
838     public void visitParameterDef(GroovySourceAST t, int visit) {
839         Iterator itr = itr(visit);
840         while (itr.hasNext()) {((Visitor)itr.next()).visitParameterDef(t,visit);}
841     }
842 
843     public void visitPlus(GroovySourceAST t, int visit) {
844         Iterator itr = itr(visit);
845         while (itr.hasNext()) {((Visitor)itr.next()).visitPlus(t,visit);}
846     }
847 
848     public void visitPlusAssign(GroovySourceAST t, int visit) {
849         Iterator itr = itr(visit);
850         while (itr.hasNext()) {((Visitor)itr.next()).visitPlusAssign(t,visit);}
851     }
852 
853     public void visitPostDec(GroovySourceAST t, int visit) {
854         Iterator itr = itr(visit);
855         while (itr.hasNext()) {((Visitor)itr.next()).visitPostDec(t,visit);}
856     }
857 
858     public void visitPostInc(GroovySourceAST t, int visit) {
859         Iterator itr = itr(visit);
860         while (itr.hasNext()) {((Visitor)itr.next()).visitPostInc(t,visit);}
861     }
862 
863     public void visitQuestion(GroovySourceAST t, int visit) {
864         Iterator itr = itr(visit);
865         while (itr.hasNext()) {((Visitor)itr.next()).visitQuestion(t,visit);}
866     }
867 
868     public void visitRangeExclusive(GroovySourceAST t, int visit) {
869         Iterator itr = itr(visit);
870         while (itr.hasNext()) {((Visitor)itr.next()).visitRangeExclusive(t,visit);}
871     }
872 
873     public void visitRangeInclusive(GroovySourceAST t, int visit) {
874         Iterator itr = itr(visit);
875         while (itr.hasNext()) {((Visitor)itr.next()).visitRangeInclusive(t,visit);}
876     }
877 
878     public void visitRbrack(GroovySourceAST t, int visit) {
879         Iterator itr = itr(visit);
880         while (itr.hasNext()) {((Visitor)itr.next()).visitRbrack(t,visit);}
881     }
882 
883     public void visitRcurly(GroovySourceAST t, int visit) {
884         Iterator itr = itr(visit);
885         while (itr.hasNext()) {((Visitor)itr.next()).visitRcurly(t,visit);}
886     }
887 
888     public void visitRegexpCtorEnd(GroovySourceAST t, int visit) {
889         Iterator itr = itr(visit);
890         while (itr.hasNext()) {((Visitor)itr.next()).visitRegexpCtorEnd(t,visit);}
891     }
892 
893     public void visitRegexpLiteral(GroovySourceAST t, int visit) {
894         Iterator itr = itr(visit);
895         while (itr.hasNext()) {((Visitor)itr.next()).visitRegexpLiteral(t,visit);}
896     }
897 
898     public void visitRegexpSymbol(GroovySourceAST t, int visit) {
899         Iterator itr = itr(visit);
900         while (itr.hasNext()) {((Visitor)itr.next()).visitRegexpSymbol(t,visit);}
901     }
902 
903     public void visitRegexFind(GroovySourceAST t, int visit) {
904         Iterator itr = itr(visit);
905         while (itr.hasNext()) {((Visitor)itr.next()).visitRegexFind(t,visit);}
906     }
907 
908     public void visitRegexMatch(GroovySourceAST t, int visit) {
909         Iterator itr = itr(visit);
910         while (itr.hasNext()) {((Visitor)itr.next()).visitRegexMatch(t,visit);}
911     }
912 
913     public void visitRparen(GroovySourceAST t, int visit) {
914         Iterator itr = itr(visit);
915         while (itr.hasNext()) {((Visitor)itr.next()).visitRparen(t,visit);}
916     }
917 
918     public void visitScopeEscape(GroovySourceAST t, int visit) {
919         Iterator itr = itr(visit);
920         while (itr.hasNext()) {((Visitor)itr.next()).visitScopeEscape(t,visit);}
921     }
922 
923     public void visitSelectSlot(GroovySourceAST t, int visit) {
924         Iterator itr = itr(visit);
925         while (itr.hasNext()) {((Visitor)itr.next()).visitSelectSlot(t,visit);}
926     }
927 
928     public void visitSemi(GroovySourceAST t, int visit) {
929         Iterator itr = itr(visit);
930         while (itr.hasNext()) {((Visitor)itr.next()).visitSemi(t,visit);}
931     }
932 
933     public void visitShComment(GroovySourceAST t, int visit) {
934         Iterator itr = itr(visit);
935         while (itr.hasNext()) {((Visitor)itr.next()).visitShComment(t,visit);}
936     }
937 
938     public void visitSl(GroovySourceAST t, int visit) {
939         Iterator itr = itr(visit);
940         while (itr.hasNext()) {((Visitor)itr.next()).visitSl(t,visit);}
941     }
942 
943     public void visitSlist(GroovySourceAST t, int visit) {
944         Iterator itr = itr(visit);
945         while (itr.hasNext()) {((Visitor)itr.next()).visitSlist(t,visit);}
946     }
947 
948     public void visitSlAssign(GroovySourceAST t, int visit) {
949         Iterator itr = itr(visit);
950         while (itr.hasNext()) {((Visitor)itr.next()).visitSlAssign(t,visit);}
951     }
952 
953     public void visitSlComment(GroovySourceAST t, int visit) {
954         Iterator itr = itr(visit);
955         while (itr.hasNext()) {((Visitor)itr.next()).visitSlComment(t,visit);}
956     }
957 
958     public void visitSpreadArg(GroovySourceAST t, int visit) {
959         Iterator itr = itr(visit);
960         while (itr.hasNext()) {((Visitor)itr.next()).visitSpreadArg(t,visit);}
961     }
962 
963     public void visitSpreadDot(GroovySourceAST t, int visit) {
964         Iterator itr = itr(visit);
965         while (itr.hasNext()) {((Visitor)itr.next()).visitSpreadDot(t,visit);}
966     }
967 
968     public void visitSpreadMapArg(GroovySourceAST t, int visit) {
969         Iterator itr = itr(visit);
970         while (itr.hasNext()) {((Visitor)itr.next()).visitSpreadMapArg(t,visit);}
971     }
972 
973     public void visitSr(GroovySourceAST t, int visit) {
974         Iterator itr = itr(visit);
975         while (itr.hasNext()) {((Visitor)itr.next()).visitSr(t,visit);}
976     }
977 
978     public void visitSrAssign(GroovySourceAST t, int visit) {
979         Iterator itr = itr(visit);
980         while (itr.hasNext()) {((Visitor)itr.next()).visitSrAssign(t,visit);}
981     }
982 
983     public void visitStar(GroovySourceAST t, int visit) {
984         Iterator itr = itr(visit);
985         while (itr.hasNext()) {((Visitor)itr.next()).visitStar(t,visit);}
986     }
987 
988     public void visitStarAssign(GroovySourceAST t, int visit) {
989         Iterator itr = itr(visit);
990         while (itr.hasNext()) {((Visitor)itr.next()).visitStarAssign(t,visit);}
991     }
992 
993     public void visitStarStar(GroovySourceAST t, int visit) {
994         Iterator itr = itr(visit);
995         while (itr.hasNext()) {((Visitor)itr.next()).visitStarStar(t,visit);}
996     }
997 
998     public void visitStarStarAssign(GroovySourceAST t, int visit) {
999         Iterator itr = itr(visit);
1000         while (itr.hasNext()) {((Visitor)itr.next()).visitStarStarAssign(t,visit);}
1001     }
1002 
1003     public void visitStaticImport(GroovySourceAST t, int visit) {
1004         Iterator itr = itr(visit);
1005         while (itr.hasNext()) {((Visitor)itr.next()).visitStaticImport(t,visit);}
1006     }
1007 
1008     public void visitStaticInit(GroovySourceAST t, int visit) {
1009         Iterator itr = itr(visit);
1010         while (itr.hasNext()) {((Visitor)itr.next()).visitStaticInit(t,visit);}
1011     }
1012 
1013     public void visitStrictfp(GroovySourceAST t, int visit) {
1014         Iterator itr = itr(visit);
1015         while (itr.hasNext()) {((Visitor)itr.next()).visitStrictfp(t,visit);}
1016     }
1017 
1018     public void visitStringCh(GroovySourceAST t, int visit) {
1019         Iterator itr = itr(visit);
1020         while (itr.hasNext()) {((Visitor)itr.next()).visitStringCh(t,visit);}
1021     }
1022 
1023     public void visitStringConstructor(GroovySourceAST t, int visit) {
1024         Iterator itr = itr(visit);
1025         while (itr.hasNext()) {((Visitor)itr.next()).visitStringConstructor(t,visit);}
1026     }
1027 
1028     public void visitStringCtorEnd(GroovySourceAST t, int visit) {
1029         Iterator itr = itr(visit);
1030         while (itr.hasNext()) {((Visitor)itr.next()).visitStringCtorEnd(t,visit);}
1031     }
1032 
1033     public void visitStringCtorMiddle(GroovySourceAST t, int visit) {
1034         Iterator itr = itr(visit);
1035         while (itr.hasNext()) {((Visitor)itr.next()).visitStringCtorMiddle(t,visit);}
1036     }
1037 
1038     public void visitStringCtorStart(GroovySourceAST t, int visit) {
1039         Iterator itr = itr(visit);
1040         while (itr.hasNext()) {((Visitor)itr.next()).visitStringCtorStart(t,visit);}
1041     }
1042 
1043     public void visitStringLiteral(GroovySourceAST t, int visit) {
1044         Iterator itr = itr(visit);
1045         while (itr.hasNext()) {((Visitor)itr.next()).visitStringLiteral(t,visit);}
1046     }
1047 
1048     public void visitStringNl(GroovySourceAST t, int visit) {
1049         Iterator itr = itr(visit);
1050         while (itr.hasNext()) {((Visitor)itr.next()).visitStringNl(t,visit);}
1051     }
1052 
1053     public void visitSuperCtorCall(GroovySourceAST t, int visit) {
1054         Iterator itr = itr(visit);
1055         while (itr.hasNext()) {((Visitor)itr.next()).visitSuperCtorCall(t,visit);}
1056     }
1057 
1058     public void visitTripleDot(GroovySourceAST t, int visit) {
1059         Iterator itr = itr(visit);
1060         while (itr.hasNext()) {((Visitor)itr.next()).visitTripleDot(t,visit);}
1061     }
1062 
1063     public void visitType(GroovySourceAST t, int visit) {
1064         Iterator itr = itr(visit);
1065         while (itr.hasNext()) {((Visitor)itr.next()).visitType(t,visit);}
1066     }
1067 
1068     public void visitTypecast(GroovySourceAST t, int visit) {
1069         Iterator itr = itr(visit);
1070         while (itr.hasNext()) {((Visitor)itr.next()).visitTypecast(t,visit);}
1071     }
1072 
1073     public void visitTypeArgument(GroovySourceAST t, int visit) {
1074         Iterator itr = itr(visit);
1075         while (itr.hasNext()) {((Visitor)itr.next()).visitTypeArgument(t,visit);}
1076     }
1077 
1078     public void visitTypeArguments(GroovySourceAST t, int visit) {
1079         Iterator itr = itr(visit);
1080         while (itr.hasNext()) {((Visitor)itr.next()).visitTypeArguments(t,visit);}
1081     }
1082 
1083     public void visitTypeLowerBounds(GroovySourceAST t, int visit) {
1084         Iterator itr = itr(visit);
1085         while (itr.hasNext()) {((Visitor)itr.next()).visitTypeLowerBounds(t,visit);}
1086     }
1087 
1088     public void visitTypeParameter(GroovySourceAST t, int visit) {
1089         Iterator itr = itr(visit);
1090         while (itr.hasNext()) {((Visitor)itr.next()).visitTypeParameter(t,visit);}
1091     }
1092 
1093     public void visitTypeParameters(GroovySourceAST t, int visit) {
1094         Iterator itr = itr(visit);
1095         while (itr.hasNext()) {((Visitor)itr.next()).visitTypeParameters(t,visit);}
1096     }
1097 
1098     public void visitTypeUpperBounds(GroovySourceAST t, int visit) {
1099         Iterator itr = itr(visit);
1100         while (itr.hasNext()) {((Visitor)itr.next()).visitTypeUpperBounds(t,visit);}
1101     }
1102 
1103     public void visitUnaryMinus(GroovySourceAST t, int visit) {
1104         Iterator itr = itr(visit);
1105         while (itr.hasNext()) {((Visitor)itr.next()).visitUnaryMinus(t,visit);}
1106     }
1107 
1108     public void visitUnaryPlus(GroovySourceAST t, int visit) {
1109         Iterator itr = itr(visit);
1110         while (itr.hasNext()) {((Visitor)itr.next()).visitUnaryPlus(t,visit);}
1111     }
1112 
1113     public void visitUnusedConst(GroovySourceAST t, int visit) {
1114         Iterator itr = itr(visit);
1115         while (itr.hasNext()) {((Visitor)itr.next()).visitUnusedConst(t,visit);}
1116     }
1117 
1118     public void visitUnusedDo(GroovySourceAST t, int visit) {
1119         Iterator itr = itr(visit);
1120         while (itr.hasNext()) {((Visitor)itr.next()).visitUnusedDo(t,visit);}
1121     }
1122 
1123     public void visitUnusedGoto(GroovySourceAST t, int visit) {
1124         Iterator itr = itr(visit);
1125         while (itr.hasNext()) {((Visitor)itr.next()).visitUnusedGoto(t,visit);}
1126     }
1127 
1128     public void visitVariableDef(GroovySourceAST t, int visit) {
1129         Iterator itr = itr(visit);
1130         while (itr.hasNext()) {((Visitor)itr.next()).visitVariableDef(t,visit);}
1131     }
1132 
1133     public void visitVariableParameterDef(GroovySourceAST t, int visit) {
1134         Iterator itr = itr(visit);
1135         while (itr.hasNext()) {((Visitor)itr.next()).visitVariableParameterDef(t,visit);}
1136     }
1137 
1138     public void visitVocab(GroovySourceAST t, int visit) {
1139         Iterator itr = itr(visit);
1140         while (itr.hasNext()) {((Visitor)itr.next()).visitVocab(t,visit);}
1141     }
1142 
1143     public void visitWildcardType(GroovySourceAST t, int visit) {
1144         Iterator itr = itr(visit);
1145         while (itr.hasNext()) {((Visitor)itr.next()).visitWildcardType(t,visit);}
1146     }
1147 
1148     public void visitWs(GroovySourceAST t, int visit) {
1149         Iterator itr = itr(visit);
1150         while (itr.hasNext()) {((Visitor)itr.next()).visitWs(t,visit);}
1151     }
1152 
1153 
1154 
1155 
1156 
1157     public void visitDefault(GroovySourceAST t, int visit) {
1158         Iterator itr = itr(visit);
1159         while (itr.hasNext()) {((Visitor)itr.next()).visitDefault(t,visit);}
1160     }
1161 
1162     public void tearDown() {
1163         Iterator itr = backToFrontVisitors.iterator();
1164         while (itr.hasNext()) {((Visitor)itr.next()).tearDown();}
1165     }
1166 
1167     public void push(GroovySourceAST t) {
1168         Iterator itr = visitors.iterator();
1169         while (itr.hasNext()) {((Visitor)itr.next()).push(t);}
1170     }
1171     public GroovySourceAST pop() {
1172         GroovySourceAST lastNodePopped = null;
1173         Iterator itr = backToFrontVisitors.iterator();
1174         while (itr.hasNext()) {lastNodePopped = (GroovySourceAST) ((Visitor)itr.next()).pop();}
1175         return lastNodePopped;
1176     }
1177 
1178 }