Parser: parse a PHP expression after <?= ; statements aren't allowed
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ASTVisitor.java
1 /*******************************************************************************
2  * Copyright (c) 2000, 2004 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials 
4  * are made available under the terms of the Common Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v10.html
7  * 
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  *******************************************************************************/
11 package net.sourceforge.phpdt.internal.compiler;
12
13 import net.sourceforge.phpdt.core.compiler.IProblem;
14 import net.sourceforge.phpdt.internal.compiler.lookup.BlockScope;
15 import net.sourceforge.phpdt.internal.compiler.lookup.ClassScope;
16 import net.sourceforge.phpdt.internal.compiler.lookup.CompilationUnitScope;
17 import net.sourceforge.phpdt.internal.compiler.lookup.MethodScope;
18 import net.sourceforge.phpeclipse.internal.compiler.ast.AND_AND_Expression;
19 import net.sourceforge.phpeclipse.internal.compiler.ast.AllocationExpression;
20 import net.sourceforge.phpeclipse.internal.compiler.ast.Argument;
21 import net.sourceforge.phpeclipse.internal.compiler.ast.ArrayAllocationExpression;
22 import net.sourceforge.phpeclipse.internal.compiler.ast.ArrayInitializer;
23 import net.sourceforge.phpeclipse.internal.compiler.ast.ArrayQualifiedTypeReference;
24 import net.sourceforge.phpeclipse.internal.compiler.ast.ArrayReference;
25 import net.sourceforge.phpeclipse.internal.compiler.ast.ArrayTypeReference;
26 import net.sourceforge.phpeclipse.internal.compiler.ast.AssertStatement;
27 import net.sourceforge.phpeclipse.internal.compiler.ast.Assignment;
28 import net.sourceforge.phpeclipse.internal.compiler.ast.BinaryExpression;
29 import net.sourceforge.phpeclipse.internal.compiler.ast.Block;
30 import net.sourceforge.phpeclipse.internal.compiler.ast.BreakStatement;
31 import net.sourceforge.phpeclipse.internal.compiler.ast.CaseStatement;
32 import net.sourceforge.phpeclipse.internal.compiler.ast.CastExpression;
33 import net.sourceforge.phpeclipse.internal.compiler.ast.Clinit;
34 import net.sourceforge.phpeclipse.internal.compiler.ast.CompilationUnitDeclaration;
35 import net.sourceforge.phpeclipse.internal.compiler.ast.CompoundAssignment;
36 import net.sourceforge.phpeclipse.internal.compiler.ast.ConditionalExpression;
37 import net.sourceforge.phpeclipse.internal.compiler.ast.ConstructorDeclaration;
38 import net.sourceforge.phpeclipse.internal.compiler.ast.ContinueStatement;
39 import net.sourceforge.phpeclipse.internal.compiler.ast.DoStatement;
40 import net.sourceforge.phpeclipse.internal.compiler.ast.DoubleLiteral;
41 import net.sourceforge.phpeclipse.internal.compiler.ast.EmptyStatement;
42 import net.sourceforge.phpeclipse.internal.compiler.ast.EqualExpression;
43 import net.sourceforge.phpeclipse.internal.compiler.ast.ExplicitConstructorCall;
44 import net.sourceforge.phpeclipse.internal.compiler.ast.ExtendedStringLiteral;
45 import net.sourceforge.phpeclipse.internal.compiler.ast.FalseLiteral;
46 import net.sourceforge.phpeclipse.internal.compiler.ast.FieldDeclaration;
47 import net.sourceforge.phpeclipse.internal.compiler.ast.FieldReference;
48 import net.sourceforge.phpeclipse.internal.compiler.ast.FloatLiteral;
49 import net.sourceforge.phpeclipse.internal.compiler.ast.ForStatement;
50 import net.sourceforge.phpeclipse.internal.compiler.ast.IfStatement;
51 import net.sourceforge.phpeclipse.internal.compiler.ast.ImportReference;
52 import net.sourceforge.phpeclipse.internal.compiler.ast.Initializer;
53 import net.sourceforge.phpeclipse.internal.compiler.ast.InstanceOfExpression;
54 import net.sourceforge.phpeclipse.internal.compiler.ast.IntLiteral;
55 import net.sourceforge.phpeclipse.internal.compiler.ast.LabeledStatement;
56 import net.sourceforge.phpeclipse.internal.compiler.ast.LocalDeclaration;
57 import net.sourceforge.phpeclipse.internal.compiler.ast.LongLiteral;
58 import net.sourceforge.phpeclipse.internal.compiler.ast.MessageSend;
59 import net.sourceforge.phpeclipse.internal.compiler.ast.MethodDeclaration;
60 import net.sourceforge.phpeclipse.internal.compiler.ast.NullLiteral;
61 import net.sourceforge.phpeclipse.internal.compiler.ast.OR_OR_Expression;
62 import net.sourceforge.phpeclipse.internal.compiler.ast.PostfixExpression;
63 import net.sourceforge.phpeclipse.internal.compiler.ast.PrefixExpression;
64 import net.sourceforge.phpeclipse.internal.compiler.ast.QualifiedAllocationExpression;
65 import net.sourceforge.phpeclipse.internal.compiler.ast.QualifiedNameReference;
66 import net.sourceforge.phpeclipse.internal.compiler.ast.QualifiedSuperReference;
67 import net.sourceforge.phpeclipse.internal.compiler.ast.QualifiedThisReference;
68 import net.sourceforge.phpeclipse.internal.compiler.ast.QualifiedTypeReference;
69 import net.sourceforge.phpeclipse.internal.compiler.ast.ReturnStatement;
70 import net.sourceforge.phpeclipse.internal.compiler.ast.SingleNameReference;
71 import net.sourceforge.phpeclipse.internal.compiler.ast.SingleTypeReference;
72 import net.sourceforge.phpeclipse.internal.compiler.ast.StringLiteral;
73 import net.sourceforge.phpeclipse.internal.compiler.ast.SuperReference;
74 import net.sourceforge.phpeclipse.internal.compiler.ast.SwitchStatement;
75 import net.sourceforge.phpeclipse.internal.compiler.ast.ThisReference;
76 import net.sourceforge.phpeclipse.internal.compiler.ast.ThrowStatement;
77 import net.sourceforge.phpeclipse.internal.compiler.ast.TrueLiteral;
78 import net.sourceforge.phpeclipse.internal.compiler.ast.TryStatement;
79 import net.sourceforge.phpeclipse.internal.compiler.ast.TypeDeclaration;
80 import net.sourceforge.phpeclipse.internal.compiler.ast.UnaryExpression;
81 import net.sourceforge.phpeclipse.internal.compiler.ast.WhileStatement;
82
83 /** 
84  * A visitor for iterating through the parse tree.
85  */
86 public abstract class ASTVisitor {
87
88         public void acceptProblem(IProblem problem) {
89                 // do nothing by default
90         }
91         public void endVisit(
92                 AllocationExpression allocationExpression,
93                 BlockScope scope) {
94                 // do nothing by default
95         }
96         public void endVisit(AND_AND_Expression and_and_Expression, BlockScope scope) {
97                 // do nothing by default
98         }
99 //      public void endVisit(JavadocArrayQualifiedTypeReference typeRef, BlockScope scope) {
100 //              // do nothing by default
101 //      }
102 //      public void endVisit(JavadocArraySingleTypeReference typeRef, BlockScope scope) {
103 //              // do nothing by default
104 //      }
105 //      public void endVisit(JavadocArgumentExpression expression, BlockScope scope) {
106 //              // do nothing by default
107 //      }
108 //      public void endVisit(JavadocFieldReference fieldRef, BlockScope scope) {
109 //              // do nothing by default
110 //      }
111 //      public void endVisit(JavadocMessageSend messageSend, BlockScope scope) {
112 //              // do nothing by default
113 //      }
114 //      public void endVisit(JavadocQualifiedTypeReference typeRef, BlockScope scope) {
115 //              // do nothing by default
116 //      }
117 //      public void endVisit(JavadocReturnStatement statement, BlockScope scope) {
118 //              // do nothing by default
119 //      }
120 //      public void endVisit(JavadocSingleNameReference argument, BlockScope scope) {
121 //              // do nothing by default
122 //      }
123 //      public void endVisit(JavadocSingleTypeReference typeRef, BlockScope scope) {
124 //              // do nothing by default
125 //      }
126         public void endVisit(Argument argument, BlockScope scope) {
127                 // do nothing by default
128         }
129         public void endVisit(
130                 ArrayAllocationExpression arrayAllocationExpression,
131                 BlockScope scope) {
132                 // do nothing by default
133         }
134         public void endVisit(ArrayInitializer arrayInitializer, BlockScope scope) {
135                 // do nothing by default
136         }
137         public void endVisit(
138                 ArrayQualifiedTypeReference arrayQualifiedTypeReference,
139                 BlockScope scope) {
140                 // do nothing by default
141         }
142         public void endVisit(
143                 ArrayQualifiedTypeReference arrayQualifiedTypeReference,
144                 ClassScope scope) {
145                 // do nothing by default
146         }
147         public void endVisit(ArrayReference arrayReference, BlockScope scope) {
148                 // do nothing by default
149         }
150         public void endVisit(ArrayTypeReference arrayTypeReference, BlockScope scope) {
151                 // do nothing by default
152         }
153         public void endVisit(ArrayTypeReference arrayTypeReference, ClassScope scope) {
154                 // do nothing by default
155         }
156         public void endVisit(Assignment assignment, BlockScope scope) {
157                 // do nothing by default
158         }
159         public void endVisit(AssertStatement assertStatement, BlockScope scope) {
160                 // do nothing by default
161         }
162         public void endVisit(BinaryExpression binaryExpression, BlockScope scope) {
163                 // do nothing by default
164         }
165         public void endVisit(Block block, BlockScope scope) {
166                 // do nothing by default
167         }
168         public void endVisit(BreakStatement breakStatement, BlockScope scope) {
169                 // do nothing by default
170         }
171         public void endVisit(CaseStatement caseStatement, BlockScope scope) {
172                 // do nothing by default
173         }
174         public void endVisit(CastExpression castExpression, BlockScope scope) {
175                 // do nothing by default
176         }
177                 
178         public void endVisit(Clinit clinit, ClassScope scope) {
179                 // do nothing by default
180         }
181         public void endVisit(
182                 CompilationUnitDeclaration compilationUnitDeclaration,
183                 CompilationUnitScope scope) {
184                 // do nothing by default
185         }
186         public void endVisit(CompoundAssignment compoundAssignment, BlockScope scope) {
187                 // do nothing by default
188         }
189         public void endVisit(
190                 ConditionalExpression conditionalExpression,
191                 BlockScope scope) {
192                 // do nothing by default
193         }
194         public void endVisit(
195                 ConstructorDeclaration constructorDeclaration,
196                 ClassScope scope) {
197                 // do nothing by default
198         }
199         public void endVisit(ContinueStatement continueStatement, BlockScope scope) {
200                 // do nothing by default
201         }
202         public void endVisit(DoStatement doStatement, BlockScope scope) {
203                 // do nothing by default
204         }
205         public void endVisit(DoubleLiteral doubleLiteral, BlockScope scope) {
206                 // do nothing by default
207         }
208         public void endVisit(EqualExpression equalExpression, BlockScope scope) {
209                 // do nothing by default
210         }
211         public void endVisit(
212                 ExplicitConstructorCall explicitConstructor,
213                 BlockScope scope) {
214                 // do nothing by default
215         }
216         public void endVisit(
217                 ExtendedStringLiteral extendedStringLiteral,
218                 BlockScope scope) {
219                 // do nothing by default
220         }
221         public void endVisit(FalseLiteral falseLiteral, BlockScope scope) {
222                 // do nothing by default
223         }
224         public void endVisit(FieldDeclaration fieldDeclaration, MethodScope scope) {
225                 // do nothing by default
226         }
227         public void endVisit(FieldReference fieldReference, BlockScope scope) {
228                 // do nothing by default
229         }
230         public void endVisit(FloatLiteral floatLiteral, BlockScope scope) {
231                 // do nothing by default
232         }
233         public void endVisit(EmptyStatement emptyStatement, BlockScope scope) {
234                 // do nothing by default
235         }
236         public void endVisit(ForStatement forStatement, BlockScope scope) {
237                 // do nothing by default
238         }
239         public void endVisit(IfStatement ifStatement, BlockScope scope) {
240                 // do nothing by default
241         }
242         public void endVisit(ImportReference importRef, CompilationUnitScope scope) {
243                 // do nothing by default
244         }
245         public void endVisit(Initializer initializer, MethodScope scope) {
246                 // do nothing by default
247         }
248         public void endVisit(
249                 InstanceOfExpression instanceOfExpression,
250                 BlockScope scope) {
251                 // do nothing by default
252         }
253         public void endVisit(IntLiteral intLiteral, BlockScope scope) {
254                 // do nothing by default
255         }
256         public void endVisit(LabeledStatement labeledStatement, BlockScope scope) {
257                 // do nothing by default
258         }
259         public void endVisit(LocalDeclaration localDeclaration, BlockScope scope) {
260                 // do nothing by default
261         }
262         public void endVisit(LongLiteral longLiteral, BlockScope scope) {
263                 // do nothing by default
264         }
265         public void endVisit(MessageSend messageSend, BlockScope scope) {
266                 // do nothing by default
267         }
268         public void endVisit(MethodDeclaration methodDeclaration, ClassScope scope) {
269                 // do nothing by default
270         }
271 //      public void endVisit(StringLiteralConcatenation literal, BlockScope scope) {
272 //              // do nothing by default
273 //      }
274         public void endVisit(NullLiteral nullLiteral, BlockScope scope) {
275                 // do nothing by default
276         }
277         public void endVisit(OR_OR_Expression or_or_Expression, BlockScope scope) {
278                 // do nothing by default
279         }
280         public void endVisit(PostfixExpression postfixExpression, BlockScope scope) {
281                 // do nothing by default
282         }
283         public void endVisit(PrefixExpression prefixExpression, BlockScope scope) {
284                 // do nothing by default
285         }
286         public void endVisit(
287                 QualifiedAllocationExpression qualifiedAllocationExpression,
288                 BlockScope scope) {
289                 // do nothing by default
290         }
291         public void endVisit(
292                 QualifiedNameReference qualifiedNameReference,
293                 BlockScope scope) {
294                 // do nothing by default
295         }
296         public void endVisit(
297                 QualifiedSuperReference qualifiedSuperReference,
298                 BlockScope scope) {
299                 // do nothing by default
300         }
301         public void endVisit(
302                 QualifiedThisReference qualifiedThisReference,
303                 BlockScope scope) {
304                 // do nothing by default
305         }
306         public void endVisit(
307                 QualifiedTypeReference qualifiedTypeReference,
308                 BlockScope scope) {
309                 // do nothing by default
310         }
311         public void endVisit(
312                 QualifiedTypeReference qualifiedTypeReference,
313                 ClassScope scope) {
314                 // do nothing by default
315         }
316         public void endVisit(ReturnStatement returnStatement, BlockScope scope) {
317                 // do nothing by default
318         }
319         public void endVisit(
320                 SingleNameReference singleNameReference,
321                 BlockScope scope) {
322                 // do nothing by default
323         }
324         public void endVisit(
325                 SingleTypeReference singleTypeReference,
326                 BlockScope scope) {
327                 // do nothing by default
328         }
329         public void endVisit(
330                 SingleTypeReference singleTypeReference,
331                 ClassScope scope) {
332                 // do nothing by default
333         }
334         public void endVisit(StringLiteral stringLiteral, BlockScope scope) {
335                 // do nothing by default
336         }
337         public void endVisit(SuperReference superReference, BlockScope scope) {
338                 // do nothing by default
339         }
340         public void endVisit(SwitchStatement switchStatement, BlockScope scope) {
341                 // do nothing by default
342         }
343         
344         public void endVisit(ThisReference thisReference, BlockScope scope) {
345                 // do nothing by default
346         }
347         public void endVisit(ThrowStatement throwStatement, BlockScope scope) {
348                 // do nothing by default
349         }
350         public void endVisit(TrueLiteral trueLiteral, BlockScope scope) {
351                 // do nothing by default
352         }
353         public void endVisit(TryStatement tryStatement, BlockScope scope) {
354                 // do nothing by default
355         }
356         public void endVisit(
357                 TypeDeclaration localTypeDeclaration,
358                 BlockScope scope) {
359                 // do nothing by default
360         }       
361         public void endVisit(
362                 TypeDeclaration memberTypeDeclaration,
363                 ClassScope scope) {
364                 // do nothing by default
365         }
366         public void endVisit(
367                 TypeDeclaration typeDeclaration,
368                 CompilationUnitScope scope) {
369                 // do nothing by default
370         }       
371         public void endVisit(UnaryExpression unaryExpression, BlockScope scope) {
372                 // do nothing by default
373         }
374         public void endVisit(WhileStatement whileStatement, BlockScope scope) {
375                 // do nothing by default
376         }
377         public boolean visit(
378                 AllocationExpression allocationExpression,
379                 BlockScope scope) {
380                 return true; // do nothing by default, keep traversing
381                 // do nothing by default
382         }
383         public boolean visit(AND_AND_Expression and_and_Expression, BlockScope scope) {
384                 return true; // do nothing by default, keep traversing
385         }
386 //      public boolean visit(JavadocArrayQualifiedTypeReference typeRef, BlockScope scope) {
387 //              return true; // do nothing by default, keep traversing
388 //      }
389 //      public boolean visit(JavadocArraySingleTypeReference typeRef, BlockScope scope) {
390 //              return true; // do nothing by default, keep traversing
391 //      }
392 //      public boolean visit(JavadocArgumentExpression expression, BlockScope scope) {
393 //              return true; // do nothing by default, keep traversing
394 //      }
395 //      public boolean visit(JavadocFieldReference fieldRef, BlockScope scope) {
396 //              return true; // do nothing by default, keep traversing
397 //      }
398 //      public boolean visit(JavadocMessageSend messageSend, BlockScope scope) {
399 //              return true; // do nothing by default, keep traversing
400 //      }
401 //      public boolean visit(JavadocQualifiedTypeReference typeRef, BlockScope scope) {
402 //              return true; // do nothing by default, keep traversing
403 //      }
404 //      public boolean visit(JavadocReturnStatement statement, BlockScope scope) {
405 //              return true; // do nothing by default, keep traversing
406 //      }
407 //      public boolean visit(JavadocSingleNameReference argument, BlockScope scope) {
408 //              return true; // do nothing by default, keep traversing
409 //      }
410 //      public boolean visit(JavadocSingleTypeReference typeRef, BlockScope scope) {
411 //              return true; // do nothing by default, keep traversing
412 //      }
413         public boolean visit(Argument argument, BlockScope scope) {
414                 return true; // do nothing by default, keep traversing
415         }
416         public boolean visit(
417                 ArrayAllocationExpression arrayAllocationExpression,
418                 BlockScope scope) {
419                 return true; // do nothing by default, keep traversing
420         }
421         public boolean visit(ArrayInitializer arrayInitializer, BlockScope scope) {
422                 return true; // do nothing by default, keep traversing
423         }
424         public boolean visit(
425                 ArrayQualifiedTypeReference arrayQualifiedTypeReference,
426                 BlockScope scope) {
427                 return true; // do nothing by default, keep traversing
428         }
429         public boolean visit(
430                 ArrayQualifiedTypeReference arrayQualifiedTypeReference,
431                 ClassScope scope) {
432                 return true; // do nothing by default, keep traversing
433         }
434         public boolean visit(ArrayReference arrayReference, BlockScope scope) {
435                 return true; // do nothing by default, keep traversing
436         }
437         public boolean visit(ArrayTypeReference arrayTypeReference, BlockScope scope) {
438                 return true; // do nothing by default, keep traversing
439         }
440         public boolean visit(ArrayTypeReference arrayTypeReference, ClassScope scope) {
441                 return true; // do nothing by default, keep traversing
442         }
443         public boolean visit(Assignment assignment, BlockScope scope) {
444                 return true; // do nothing by default, keep traversing
445         }
446         public boolean visit(AssertStatement assertStatement, BlockScope scope) {
447                 return true; // do nothing by default, keep traversing
448         }
449         public boolean visit(BinaryExpression binaryExpression, BlockScope scope) {
450                 return true; // do nothing by default, keep traversing
451         }
452         public boolean visit(Block block, BlockScope scope) {
453                 return true; // do nothing by default, keep traversing
454         }
455         public boolean visit(BreakStatement breakStatement, BlockScope scope) {
456                 return true; // do nothing by default, keep traversing
457         }
458         public boolean visit(CaseStatement caseStatement, BlockScope scope) {
459                 return true; // do nothing by default, keep traversing
460         }
461         public boolean visit(CastExpression castExpression, BlockScope scope) {
462                 return true; // do nothing by default, keep traversing
463         }
464         
465         public boolean visit(Clinit clinit, ClassScope scope) {
466                 return true; // do nothing by default, keep traversing
467         }
468         public boolean visit(
469                 CompilationUnitDeclaration compilationUnitDeclaration,
470                 CompilationUnitScope scope) {
471                 return true; // do nothing by default, keep traversing
472         }
473         public boolean visit(CompoundAssignment compoundAssignment, BlockScope scope) {
474                 return true; // do nothing by default, keep traversing
475         }
476         public boolean visit(
477                 ConditionalExpression conditionalExpression,
478                 BlockScope scope) {
479                 return true; // do nothing by default, keep traversing
480         }
481         public boolean visit(
482                 ConstructorDeclaration constructorDeclaration,
483                 ClassScope scope) {
484                 return true; // do nothing by default, keep traversing
485         }
486         public boolean visit(ContinueStatement continueStatement, BlockScope scope) {
487                 return true; // do nothing by default, keep traversing
488         }
489         public boolean visit(DoStatement doStatement, BlockScope scope) {
490                 return true; // do nothing by default, keep traversing
491         }
492         public boolean visit(DoubleLiteral doubleLiteral, BlockScope scope) {
493                 return true; // do nothing by default, keep traversing
494         }
495         public boolean visit(EqualExpression equalExpression, BlockScope scope) {
496                 return true; // do nothing by default, keep traversing
497         }
498         public boolean visit(EmptyStatement emptyStatement, BlockScope scope) {
499                 return true; // do nothing by default, keep traversing
500         }
501         public boolean visit(
502                 ExplicitConstructorCall explicitConstructor,
503                 BlockScope scope) {
504                 return true; // do nothing by default, keep traversing
505         }
506         public boolean visit(
507                 ExtendedStringLiteral extendedStringLiteral,
508                 BlockScope scope) {
509                 return true; // do nothing by default, keep traversing
510         }
511         public boolean visit(FalseLiteral falseLiteral, BlockScope scope) {
512                 return true; // do nothing by default, keep traversing
513         }
514         public boolean visit(FieldDeclaration fieldDeclaration, MethodScope scope) {
515                 return true; // do nothing by default, keep traversing
516         }
517         public boolean visit(FieldReference fieldReference, BlockScope scope) {
518                 return true; // do nothing by default, keep traversing
519         }
520         public boolean visit(FloatLiteral floatLiteral, BlockScope scope) {
521                 return true; // do nothing by default, keep traversing
522         }
523         public boolean visit(ForStatement forStatement, BlockScope scope) {
524                 return true; // do nothing by default, keep traversing
525         }
526         public boolean visit(IfStatement ifStatement, BlockScope scope) {
527                 return true; // do nothing by default, keep traversing
528         }
529         public boolean visit(ImportReference importRef, CompilationUnitScope scope) {
530                 return true; // do nothing by default, keep traversing
531         }
532         public boolean visit(Initializer initializer, MethodScope scope) {
533                 return true; // do nothing by default, keep traversing
534         }
535         public boolean visit(
536                 InstanceOfExpression instanceOfExpression,
537                 BlockScope scope) {
538                 return true; // do nothing by default, keep traversing
539         }
540         public boolean visit(IntLiteral intLiteral, BlockScope scope) {
541                 return true; // do nothing by default, keep traversing
542         }
543         public boolean visit(LabeledStatement labeledStatement, BlockScope scope) {
544                 return true; // do nothing by default, keep traversing
545         }
546         public boolean visit(LocalDeclaration localDeclaration, BlockScope scope) {
547                 return true; // do nothing by default, keep traversing
548         }
549         public boolean visit(LongLiteral longLiteral, BlockScope scope) {
550                 return true; // do nothing by default, keep traversing
551         }
552         public boolean visit(MessageSend messageSend, BlockScope scope) {
553                 return true; // do nothing by default, keep traversing
554         }
555         public boolean visit(MethodDeclaration methodDeclaration, ClassScope scope) {
556                 return true; // do nothing by default, keep traversing
557         }
558 //      public boolean visit(
559 //                      StringLiteralConcatenation literal,
560 //                      BlockScope scope) {
561 //              return true; // do nothing by default, keep traversing
562 //      }
563         public boolean visit(NullLiteral nullLiteral, BlockScope scope) {
564                 return true; // do nothing by default, keep traversing
565         }
566         public boolean visit(OR_OR_Expression or_or_Expression, BlockScope scope) {
567                 return true; // do nothing by default, keep traversing
568         }
569         public boolean visit(PostfixExpression postfixExpression, BlockScope scope) {
570                 return true; // do nothing by default, keep traversing
571         }
572         public boolean visit(PrefixExpression prefixExpression, BlockScope scope) {
573                 return true; // do nothing by default, keep traversing
574         }
575         public boolean visit(
576                 QualifiedAllocationExpression qualifiedAllocationExpression,
577                 BlockScope scope) {
578                 return true; // do nothing by default, keep traversing
579         }
580         public boolean visit(
581                 QualifiedNameReference qualifiedNameReference,
582                 BlockScope scope) {
583                 return true; // do nothing by default, keep traversing
584         }
585         public boolean visit(
586                 QualifiedSuperReference qualifiedSuperReference,
587                 BlockScope scope) {
588                 return true; // do nothing by default, keep traversing
589         }
590         public boolean visit(
591                 QualifiedThisReference qualifiedThisReference,
592                 BlockScope scope) {
593                 return true; // do nothing by default, keep traversing
594         }
595         public boolean visit(
596                 QualifiedTypeReference qualifiedTypeReference,
597                 BlockScope scope) {
598                 return true; // do nothing by default, keep traversing
599         }
600         public boolean visit(
601                 QualifiedTypeReference qualifiedTypeReference,
602                 ClassScope scope) {
603                 return true; // do nothing by default, keep traversing
604         }
605         public boolean visit(ReturnStatement returnStatement, BlockScope scope) {
606                 return true; // do nothing by default, keep traversing
607         }
608         public boolean visit(
609                 SingleNameReference singleNameReference,
610                 BlockScope scope) {
611                 return true; // do nothing by default, keep traversing
612         }
613         public boolean visit(
614                 SingleTypeReference singleTypeReference,
615                 BlockScope scope) {
616                 return true; // do nothing by default, keep traversing
617         }
618         public boolean visit(
619                 SingleTypeReference singleTypeReference,
620                 ClassScope scope) {
621                 return true; // do nothing by default, keep traversing
622         }
623         public boolean visit(StringLiteral stringLiteral, BlockScope scope) {
624                 return true; // do nothing by default, keep traversing
625         }
626         public boolean visit(SuperReference superReference, BlockScope scope) {
627                 return true; // do nothing by default, keep traversing
628         }
629         public boolean visit(SwitchStatement switchStatement, BlockScope scope) {
630                 return true; // do nothing by default, keep traversing
631         }
632         
633         public boolean visit(ThisReference thisReference, BlockScope scope) {
634                 return true; // do nothing by default, keep traversing
635         }
636         public boolean visit(ThrowStatement throwStatement, BlockScope scope) {
637                 return true; // do nothing by default, keep traversing
638         }
639         public boolean visit(TrueLiteral trueLiteral, BlockScope scope) {
640                 return true; // do nothing by default, keep traversing
641         }
642         public boolean visit(TryStatement tryStatement, BlockScope scope) {
643                 return true; // do nothing by default, keep traversing
644         }
645         public boolean visit(
646                 TypeDeclaration localTypeDeclaration,
647                 BlockScope scope) {
648                 return true; // do nothing by default, keep traversing
649         }
650         public boolean visit(
651                 TypeDeclaration memberTypeDeclaration,
652                 ClassScope scope) {
653                 return true; // do nothing by default, keep traversing
654         }       
655         public boolean visit(
656                 TypeDeclaration typeDeclaration,
657                 CompilationUnitScope scope) {
658                 return true; // do nothing by default, keep traversing
659         }
660         public boolean visit(UnaryExpression unaryExpression, BlockScope scope) {
661                 return true; // do nothing by default, keep traversing
662         }
663         public boolean visit(WhileStatement whileStatement, BlockScope scope) {
664                 return true; // do nothing by default, keep traversing
665         }
666 }