Source code: javax/ide/model/java/source/util/TreeTraversal.java
1 /*
2 * @(#)TreeTraversal.java
3 */
4
5 package javax.ide.model.java.source.util;
6
7 import javax.ide.model.java.source.tree.AnnotationExpressionT;
8 import javax.ide.model.java.source.tree.AnnotationT;
9 import javax.ide.model.java.source.tree.ArrayAccessExpressionT;
10 import javax.ide.model.java.source.tree.AssertStatementT;
11 import javax.ide.model.java.source.tree.AssignmentExpressionT;
12 import javax.ide.model.java.source.tree.BlockStatementT;
13 import javax.ide.model.java.source.tree.BlockT;
14 import javax.ide.model.java.source.tree.BreakStatementT;
15 import javax.ide.model.java.source.tree.CatchClauseT;
16 import javax.ide.model.java.source.tree.ClassBodyT;
17 import javax.ide.model.java.source.tree.ClassInitializerT;
18 import javax.ide.model.java.source.tree.ClassT;
19 import javax.ide.model.java.source.tree.ContinueStatementT;
20 import javax.ide.model.java.source.tree.DoStatementT;
21 import javax.ide.model.java.source.tree.DocCommentT;
22 import javax.ide.model.java.source.tree.DocTagT;
23 import javax.ide.model.java.source.tree.DotExpressionT;
24 import javax.ide.model.java.source.tree.ElseClauseT;
25 import javax.ide.model.java.source.tree.EmptyStatementT;
26 import javax.ide.model.java.source.tree.ExpressionStatementT;
27 import javax.ide.model.java.source.tree.FieldDeclT;
28 import javax.ide.model.java.source.tree.FieldVariableT;
29 import javax.ide.model.java.source.tree.FileT;
30 import javax.ide.model.java.source.tree.FinallyClauseT;
31 import javax.ide.model.java.source.tree.ForStatementT;
32 import javax.ide.model.java.source.tree.FormalParameterListT;
33 import javax.ide.model.java.source.tree.FormalParameterT;
34 import javax.ide.model.java.source.tree.IdentifierExpressionT;
35 import javax.ide.model.java.source.tree.IfStatementT;
36 import javax.ide.model.java.source.tree.ImportT;
37 import javax.ide.model.java.source.tree.InfixExpressionT;
38 import javax.ide.model.java.source.tree.InterfacesT;
39 import javax.ide.model.java.source.tree.ListExpressionT;
40 import javax.ide.model.java.source.tree.LiteralExpressionT;
41 import javax.ide.model.java.source.tree.LocalVariableDeclT;
42 import javax.ide.model.java.source.tree.LocalVariableT;
43 import javax.ide.model.java.source.tree.MethodCallExpressionT;
44 import javax.ide.model.java.source.tree.MethodT;
45 import javax.ide.model.java.source.tree.ModifiersT;
46 import javax.ide.model.java.source.tree.NameT;
47 import javax.ide.model.java.source.tree.NewArrayExpressionT;
48 import javax.ide.model.java.source.tree.NewClassExpressionT;
49 import javax.ide.model.java.source.tree.PackageT;
50 import javax.ide.model.java.source.tree.QuestionExpressionT;
51 import javax.ide.model.java.source.tree.ReturnStatementT;
52 import javax.ide.model.java.source.tree.StatementLabelT;
53 import javax.ide.model.java.source.tree.SuperclassT;
54 import javax.ide.model.java.source.tree.SwitchLabelT;
55 import javax.ide.model.java.source.tree.SwitchStatementT;
56 import javax.ide.model.java.source.tree.SynchStatementT;
57 import javax.ide.model.java.source.tree.ThrowStatementT;
58 import javax.ide.model.java.source.tree.ThrowsT;
59 import javax.ide.model.java.source.tree.TryStatementT;
60 import javax.ide.model.java.source.tree.TypeArgumentT;
61 import javax.ide.model.java.source.tree.TypeExpressionT;
62 import javax.ide.model.java.source.tree.TypeParameterT;
63 import javax.ide.model.java.source.tree.TypeReferenceT;
64 import javax.ide.model.java.source.tree.TypecastExpressionT;
65 import javax.ide.model.java.source.tree.UnaryExpressionT;
66 import javax.ide.model.java.source.tree.WhileStatementT;
67 import javax.ide.model.java.source.tree.WrapperExpressionT;
68
69 /**
70 * Defines a tree traversal. Over an entire tree, the enterX() methods
71 * are called in preorder fashion while the exitX() methods are called
72 * in postorder fashion.
73 *
74 * @author Cedric Dandoy, Andy Yu
75 */
76 public abstract class TreeTraversal
77 {
78 // ----------------------------------------------------------------------
79
80 /**
81 * On entering a AnnotationT.
82 */
83 public void enterAnnotation(AnnotationT tree) { }
84
85 /**
86 * On exiting a AnnotationT.
87 */
88 public void exitAnnotation(AnnotationT tree) { }
89
90 /**
91 * On entering a AnnotationExpressionT.
92 */
93 public void enterAnnotationExpression(AnnotationExpressionT tree) { }
94
95 /**
96 * On exiting a AnnotationExpressionT.
97 */
98 public void exitAnnotationExpression(AnnotationExpressionT tree) { }
99
100 /**
101 * On entering a ArrayAccessExpressionT.
102 */
103 public void enterArrayAccessExpression(ArrayAccessExpressionT tree) { }
104
105 /**
106 * On exiting a ArrayAccessExpressionT.
107 */
108 public void exitArrayAccessExpression(ArrayAccessExpressionT tree) { }
109
110 /**
111 * On entering a NewArrayExpressionT.
112 */
113 public void enterNewArrayExpression(NewArrayExpressionT tree) { }
114
115 /**
116 * On exiting a NewArrayExpressionT.
117 */
118 public void exitNewArrayExpression(NewArrayExpressionT tree) { }
119
120 /**
121 * On entering a AssertStatementT.
122 */
123 public void enterAssertStatement(AssertStatementT tree) { }
124
125 /**
126 * On exiting a AssertStatementT.
127 */
128 public void exitAssertStatement(AssertStatementT tree) { }
129
130 /**
131 * On entering a AssignmentExpressionT.
132 */
133 public void enterAssignmentExpression(AssignmentExpressionT tree) { }
134
135 /**
136 * On exiting a AssignmentExpressionT.
137 */
138 public void exitAssignmentExpression(AssignmentExpressionT tree) { }
139
140 /**
141 * On entering a BlockT.
142 */
143 public void enterBlock(BlockT tree) { }
144
145 /**
146 * On exiting a BlockT.
147 */
148 public void exitBlock(BlockT tree) { }
149
150 /**
151 * On entering a BlockStatementT.
152 */
153 public void enterBlockStatement(BlockStatementT tree) { }
154
155 /**
156 * On exiting a BlockStatementT.
157 */
158 public void exitBlockStatement(BlockStatementT tree) { }
159
160 /**
161 * On entering a BreakStatementT.
162 */
163 public void enterBreakStatement(BreakStatementT tree) { }
164
165 /**
166 * On exiting a BreakStatementT.
167 */
168 public void exitBreakStatement(BreakStatementT tree) { }
169
170 /**
171 * On entering a CatchClauseT.
172 */
173 public void enterCatchStatement(CatchClauseT tree) { }
174
175 /**
176 * On exiting a CatchClauseT.
177 */
178 public void exitCatchStatement(CatchClauseT tree) { }
179
180 /**
181 * On entering a ClassT.
182 */
183 public void enterClass(ClassT tree) { }
184
185 /**
186 * On exiting a ClassT.
187 */
188 public void exitClass(ClassT tree) { }
189
190 /**
191 * On entering a ClassBodyT.
192 */
193 public void enterClassBody(ClassBodyT tree) { }
194
195 /**
196 * On exiting a ClassBodyT.
197 */
198 public void exitClassBody(ClassBodyT tree) { }
199
200 /**
201 * On entering a ClassInitializerT.
202 */
203 public void enterClassInitializer(ClassInitializerT tree) { }
204
205 /**
206 * On exiting a ClassInitializerT.
207 */
208 public void exitClassInitializer(ClassInitializerT tree) { }
209
210 /**
211 * On entering a MethodT for a constructor declaration.
212 */
213 public void enterConstructorDeclaration(MethodT tree) { }
214
215 /**
216 * On exiting a MethodT for a constructor declaration.
217 */
218 public void exitConstructorDeclaration(MethodT tree) { }
219
220 /**
221 * On entering a ContinueStatementT.
222 */
223 public void enterContinueStatement(ContinueStatementT tree) { }
224
225 /**
226 * On exiting a ContinueStatementT.
227 */
228 public void exitContinueStatement(ContinueStatementT tree) { }
229
230 /**
231 * On entering a DoStatementT.
232 */
233 public void enterDoStatement(DoStatementT tree) { }
234
235 /**
236 * On exiting a DoStatementT.
237 */
238 public void exitDoStatement(DoStatementT tree) { }
239
240 /**
241 * On entering a DocCommentT.
242 */
243 public void enterDocComment(DocCommentT tree) { }
244
245 /**
246 * On exiting a DocCommentT.
247 */
248 public void exitDocComment(DocCommentT tree) { }
249
250 /**
251 * On entering a DocTagT.
252 */
253 public void enterDocTag(DocTagT tree) { }
254
255 /**
256 * On exiting a DocTagT.
257 */
258 public void exitDocTag(DocTagT tree) { }
259
260 /**
261 * On entering a DotExpressionT.
262 */
263 public void enterDotExpression(DotExpressionT tree) { }
264
265 /**
266 * On exiting a DotExpressionT.
267 */
268 public void exitDotExpression(DotExpressionT tree) { }
269
270 /**
271 * On entering a ElseClauseT.
272 */
273 public void enterElseStatement(ElseClauseT tree) { }
274
275 /**
276 * On exiting a ElseClauseT.
277 */
278 public void exitElseStatement(ElseClauseT tree) { }
279
280 /**
281 * On entering a EmptyStatementT.
282 */
283 public void enterEmptyStatement(EmptyStatementT tree) { }
284
285 /**
286 * On exiting a EmptyStatementT.
287 */
288 public void exitEmptyStatement(EmptyStatementT tree) { }
289
290 /**
291 * On entering a FieldDeclT for an enum constant.
292 */
293 public void enterEnumConstantDeclaration(FieldDeclT tree) { }
294
295 /**
296 * On exiting a FieldDeclT for an enum constant.
297 */
298 public void exitEnumConstantDeclaration(FieldDeclT tree) { }
299
300 /**
301 * On entering a ExpressionStatementT.
302 */
303 public void enterExpressionStatement(ExpressionStatementT tree) { }
304
305 /**
306 * On exiting a ExpressionStatementT.
307 */
308 public void exitExpressionStatement(ExpressionStatementT tree) { }
309
310 /**
311 * On entering a FieldDeclT that is not an enum constant.
312 */
313 public void enterFieldDeclaration(FieldDeclT tree) { }
314
315 /**
316 * On exiting a FieldDeclT that is not an enum constant.
317 */
318 public void exitFieldDeclaration(FieldDeclT tree) { }
319
320 /**
321 * On entering a FieldVariableT.
322 */
323 public void enterFieldVariable(FieldVariableT tree) { }
324
325 /**
326 * On exiting a FieldVariableT.
327 */
328 public void exitFieldVariable(FieldVariableT tree) { }
329
330 /**
331 * On entering a FileT.
332 */
333 public void enterFile(FileT tree) { }
334
335 /**
336 * On exiting a FileT.
337 */
338 public void exitFile(FileT tree) { }
339
340 /**
341 * On entering a FinallyClauseT.
342 */
343 public void enterFinallyStatement(FinallyClauseT tree) { }
344
345 /**
346 * On exiting a FinallyClauseT.
347 */
348 public void exitFinallyStatement(FinallyClauseT tree) { }
349
350 /**
351 * On entering a ForStatementT.
352 */
353 public void enterForStatement(ForStatementT tree) { }
354
355 /**
356 * On exiting a ForStatementT.
357 */
358 public void exitForStatement(ForStatementT tree) { }
359
360 /**
361 * On entering a FormalParameterT.
362 */
363 public void enterFormalParameter(FormalParameterT tree) { }
364
365 /**
366 * On exiting a FormalParameterT.
367 */
368 public void exitFormalParameter(FormalParameterT tree) { }
369
370 /**
371 * On entering a FormalParameterListT.
372 */
373 public void enterFormalParameterList(FormalParameterListT tree) { }
374
375 /**
376 * On exiting a FormalParameterListT.
377 */
378 public void exitFormalParameterList(FormalParameterListT tree) { }
379
380 /**
381 * On entering a IdentifierExpressionT.
382 */
383 public void enterIdentifierExpression(IdentifierExpressionT tree) { }
384
385 /**
386 * On exiting a IdentifierExpressionT.
387 */
388 public void exitIdentifierExpression(IdentifierExpressionT tree) { }
389
390 /**
391 * On entering a IfStatementT.
392 */
393 public void enterIfStatement(IfStatementT tree) { }
394
395 /**
396 * On exiting a IfStatementT.
397 */
398 public void exitIfStatement(IfStatementT tree) { }
399
400 /**
401 * On entering a ImportT.
402 */
403 public void enterImportDeclaration(ImportT tree) { }
404
405 /**
406 * On exiting a ImportT.
407 */
408 public void exitImportDeclaration(ImportT tree) { }
409
410 /**
411 * On entering a InfixExpressionT.
412 */
413 public void enterInfixExpression(InfixExpressionT tree) { }
414
415 /**
416 * On exiting a InfixExpressionT.
417 */
418 public void exitInfixExpression(InfixExpressionT tree) { }
419
420 /**
421 * On entering a InterfacesT.
422 */
423 public void enterInterfacesClause(InterfacesT tree) { }
424
425 /**
426 * On exiting a InterfacesT.
427 */
428 public void exitInterfacesClause(InterfacesT tree) { }
429
430 /**
431 * On entering a ListExpressionT.
432 */
433 public void enterListExpression(ListExpressionT tree) { }
434
435 /**
436 * On exiting a ListExpressionT.
437 */
438 public void exitListExpression(ListExpressionT tree) { }
439
440 /**
441 * On entering a LiteralExpressionT.
442 */
443 public void enterLiteralExpression(LiteralExpressionT tree) { }
444
445 /**
446 * On exiting a LiteralExpressionT.
447 */
448 public void exitLiteralExpression(LiteralExpressionT tree) { }
449
450 /**
451 * On entering a LocalVariableT.
452 */
453 public void enterLocalVariable(LocalVariableT tree) { }
454
455 /**
456 * On exiting a LocalVariableT.
457 */
458 public void exitLocalVariable(LocalVariableT tree) { }
459
460 /**
461 * On entering a LocalVariableDeclT.
462 */
463 public void enterLocalVariableDecl(LocalVariableDeclT tree) { }
464
465 /**
466 * On exiting a LocalVariableDeclT.
467 */
468 public void exitLocalVariableDecl(LocalVariableDeclT tree) { }
469
470 /**
471 * On entering a MethodCallExpressionT.
472 */
473 public void enterMethodCallExpression(MethodCallExpressionT tree) { }
474
475 /**
476 * On exiting a MethodCallExpressionT.
477 */
478 public void exitMethodCallExpression(MethodCallExpressionT tree) { }
479
480 /**
481 * On entering a MethodT that is not a constructor.
482 */
483 public void enterMethodDeclaration(MethodT tree) { }
484
485 /**
486 * On exiting a MethodT that is not a constructor.
487 */
488 public void exitMethodDeclaration(MethodT tree) { }
489
490 /**
491 * On entering a ModifiersT.
492 */
493 public void enterModifiers(ModifiersT tree) { }
494
495 /**
496 * On exiting a ModifiersT.
497 */
498 public void exitModifiers(ModifiersT tree) { }
499
500 /**
501 * On entering a NameT.
502 */
503 public void enterName(NameT tree) { }
504
505 /**
506 * On exiting a NameT.
507 */
508 public void exitName(NameT tree) { }
509
510 /**
511 * On entering a NewClassExpressionT.
512 */
513 public void enterNewClassExpression(NewClassExpressionT tree) { }
514
515 /**
516 * On exiting a NewClassExpressionT.
517 */
518 public void exitNewClassExpression(NewClassExpressionT tree) { }
519
520 /**
521 * On entering a PackageT.
522 */
523 public void enterPackageDeclaration(PackageT tree) { }
524
525 /**
526 * On exiting a PackageT.
527 */
528 public void exitPackageDeclaration(PackageT tree) { }
529
530 /**
531 * On entering a QuestionExpressionT.
532 */
533 public void enterQuestionExpression(QuestionExpressionT tree) { }
534
535 /**
536 * On exiting a QuestionExpressionT.
537 */
538 public void exitQuestionExpression(QuestionExpressionT tree) { }
539
540 /**
541 * On entering a ReturnStatementT.
542 */
543 public void enterReturnStatement(ReturnStatementT tree) { }
544
545 /**
546 * On exiting a ReturnStatementT.
547 */
548 public void exitReturnStatement(ReturnStatementT tree) { }
549
550 /**
551 * On entering a StatementLabelT.
552 */
553 public void enterStatementLabel(StatementLabelT tree) { }
554
555 /**
556 * On exiting a StatementLabelT.
557 */
558 public void exitStatementLabel(StatementLabelT tree) { }
559
560 /**
561 * On entering a SuperclassT.
562 */
563 public void enterSuperclassClause(SuperclassT tree) { }
564
565 /**
566 * On exiting a SuperclassT.
567 */
568 public void exitSuperclassClause(SuperclassT tree) { }
569
570 /**
571 * On entering a SwitchLabelT.
572 */
573 public void enterSwitchLabel(SwitchLabelT tree) { }
574
575 /**
576 * On exiting a SwitchLabelT.
577 */
578 public void exitSwitchLabel(SwitchLabelT tree) { }
579
580 /**
581 * On entering a SwitchStatementT.
582 */
583 public void enterSwitchStatement(SwitchStatementT tree) { }
584
585 /**
586 * On exiting a SwitchStatementT.
587 */
588 public void exitSwitchStatement(SwitchStatementT tree) { }
589
590 /**
591 * On entering a SynchStatementT.
592 */
593 public void enterSynchStatement(SynchStatementT tree) { }
594
595 /**
596 * On exiting a SynchStatementT.
597 */
598 public void exitSynchStatement(SynchStatementT tree) { }
599
600 /**
601 * On entering a ThrowStatementT.
602 */
603 public void enterThrowStatement(ThrowStatementT tree) { }
604
605 /**
606 * On exiting a ThrowStatementT.
607 */
608 public void exitThrowStatement(ThrowStatementT tree) { }
609
610 /**
611 * On entering a ThrowsT.
612 */
613 public void enterThrowsClause(ThrowsT tree) { }
614
615 /**
616 * On exiting a ThrowsT.
617 */
618 public void exitThrowsClause(ThrowsT tree) { }
619
620 /**
621 * On entering a TryStatementT.
622 */
623 public void enterTryStatement(TryStatementT tree) { }
624
625 /**
626 * On exiting a TryStatementT.
627 */
628 public void exitTryStatement(TryStatementT tree) { }
629
630 /**
631 * On entering a TypeArgumentT.
632 */
633 public void enterTypeArgument(TypeArgumentT tree) { }
634
635 /**
636 * On exiting a TypeArgumentT.
637 */
638 public void exitTypeArgument(TypeArgumentT tree) { }
639
640 /**
641 * On entering a TypeExpressionT.
642 */
643 public void enterTypeExpression(TypeExpressionT tree) { }
644
645 /**
646 * On exiting a TypeExpressionT.
647 */
648 public void exitTypeExpression(TypeExpressionT tree) { }
649
650 /**
651 * On entering a TypeParameterT.
652 */
653 public void enterTypeParameter(TypeParameterT tree) { }
654
655 /**
656 * On exiting a TypeParameterT.
657 */
658 public void exitTypeParameter(TypeParameterT tree) { }
659
660 /**
661 * On entering a TypeReferenceT.
662 */
663 public void enterTypeReference(TypeReferenceT tree) { }
664
665 /**
666 * On exiting a TypeReferenceT.
667 */
668 public void exitTypeReference(TypeReferenceT tree) { }
669
670 /**
671 * On entering a TypecastExpressionT.
672 */
673 public void enterTypecastExpression(TypecastExpressionT tree) { }
674
675 /**
676 * On exiting a TypecastExpressionT.
677 */
678 public void exitTypecastExpression(TypecastExpressionT tree) { }
679
680 /**
681 * On entering a UnaryExpressionT.
682 */
683 public void enterUnaryExpression(UnaryExpressionT tree) { }
684
685 /**
686 * On exiting a UnaryExpressionT.
687 */
688 public void exitUnaryExpression(UnaryExpressionT tree) { }
689
690 /**
691 * On entering a WhileStatementT.
692 */
693 public void enterWhileStatement(WhileStatementT tree) { }
694
695 /**
696 * On exiting a WhileStatementT.
697 */
698 public void exitWhileStatement(WhileStatementT tree) { }
699
700 /**
701 * On entering a WrapperExpressionT.
702 */
703 public void enterWrapperExpression(WrapperExpressionT tree) { }
704
705 /**
706 * On exiting a WrapperExpressionT.
707 */
708 public void exitWrapperExpression(WrapperExpressionT tree) { }
709
710
711 // ----------------------------------------------------------------------
712 }