1 | /* This file was generated by SableCC (http://www.sablecc.org/). */ |
2 | |
3 | package uk.co.zonetora.fj.ast.analysis; |
4 | |
5 | import java.util.*; |
6 | import uk.co.zonetora.fj.ast.node.*; |
7 | |
8 | public class DepthFirstAdapter extends AnalysisAdapter |
9 | { |
10 | public void inStart(Start node) |
11 | { |
12 | defaultIn(node); |
13 | } |
14 | |
15 | public void outStart(Start node) |
16 | { |
17 | defaultOut(node); |
18 | } |
19 | |
20 | public void defaultIn(Node node) |
21 | { |
22 | } |
23 | |
24 | public void defaultOut(Node node) |
25 | { |
26 | } |
27 | |
28 | public void caseStart(Start node) |
29 | { |
30 | inStart(node); |
31 | node.getPProg().apply(this); |
32 | node.getEOF().apply(this); |
33 | outStart(node); |
34 | } |
35 | |
36 | public void inAProg(AProg node) |
37 | { |
38 | defaultIn(node); |
39 | } |
40 | |
41 | public void outAProg(AProg node) |
42 | { |
43 | defaultOut(node); |
44 | } |
45 | |
46 | public void caseAProg(AProg node) |
47 | { |
48 | inAProg(node); |
49 | { |
50 | Object temp[] = node.getClassDecl().toArray(); |
51 | for(int i = 0; i < temp.length; i++) |
52 | { |
53 | ((PClassDecl) temp[i]).apply(this); |
54 | } |
55 | } |
56 | outAProg(node); |
57 | } |
58 | |
59 | public void inAClassDecl(AClassDecl node) |
60 | { |
61 | defaultIn(node); |
62 | } |
63 | |
64 | public void outAClassDecl(AClassDecl node) |
65 | { |
66 | defaultOut(node); |
67 | } |
68 | |
69 | public void caseAClassDecl(AClassDecl node) |
70 | { |
71 | inAClassDecl(node); |
72 | if(node.getTclass() != null) |
73 | { |
74 | node.getTclass().apply(this); |
75 | } |
76 | if(node.getClassname() != null) |
77 | { |
78 | node.getClassname().apply(this); |
79 | } |
80 | if(node.getExtends() != null) |
81 | { |
82 | node.getExtends().apply(this); |
83 | } |
84 | if(node.getExtendsname() != null) |
85 | { |
86 | node.getExtendsname().apply(this); |
87 | } |
88 | if(node.getLBrace() != null) |
89 | { |
90 | node.getLBrace().apply(this); |
91 | } |
92 | { |
93 | Object temp[] = node.getFieldDecl().toArray(); |
94 | for(int i = 0; i < temp.length; i++) |
95 | { |
96 | ((PFieldDecl) temp[i]).apply(this); |
97 | } |
98 | } |
99 | if(node.getConstructorDecl() != null) |
100 | { |
101 | node.getConstructorDecl().apply(this); |
102 | } |
103 | { |
104 | Object temp[] = node.getMethodDecl().toArray(); |
105 | for(int i = 0; i < temp.length; i++) |
106 | { |
107 | ((PMethodDecl) temp[i]).apply(this); |
108 | } |
109 | } |
110 | if(node.getRBrace() != null) |
111 | { |
112 | node.getRBrace().apply(this); |
113 | } |
114 | outAClassDecl(node); |
115 | } |
116 | |
117 | public void inAFieldDecl(AFieldDecl node) |
118 | { |
119 | defaultIn(node); |
120 | } |
121 | |
122 | public void outAFieldDecl(AFieldDecl node) |
123 | { |
124 | defaultOut(node); |
125 | } |
126 | |
127 | public void caseAFieldDecl(AFieldDecl node) |
128 | { |
129 | inAFieldDecl(node); |
130 | if(node.getClassname() != null) |
131 | { |
132 | node.getClassname().apply(this); |
133 | } |
134 | if(node.getFieldname() != null) |
135 | { |
136 | node.getFieldname().apply(this); |
137 | } |
138 | if(node.getSemicolon() != null) |
139 | { |
140 | node.getSemicolon().apply(this); |
141 | } |
142 | outAFieldDecl(node); |
143 | } |
144 | |
145 | public void inAConstructorDecl(AConstructorDecl node) |
146 | { |
147 | defaultIn(node); |
148 | } |
149 | |
150 | public void outAConstructorDecl(AConstructorDecl node) |
151 | { |
152 | defaultOut(node); |
153 | } |
154 | |
155 | public void caseAConstructorDecl(AConstructorDecl node) |
156 | { |
157 | inAConstructorDecl(node); |
158 | if(node.getIdentifier() != null) |
159 | { |
160 | node.getIdentifier().apply(this); |
161 | } |
162 | if(node.getL1() != null) |
163 | { |
164 | node.getL1().apply(this); |
165 | } |
166 | if(node.getParamDeclList() != null) |
167 | { |
168 | node.getParamDeclList().apply(this); |
169 | } |
170 | if(node.getR1() != null) |
171 | { |
172 | node.getR1().apply(this); |
173 | } |
174 | if(node.getLBrace() != null) |
175 | { |
176 | node.getLBrace().apply(this); |
177 | } |
178 | if(node.getSuper() != null) |
179 | { |
180 | node.getSuper().apply(this); |
181 | } |
182 | if(node.getL2() != null) |
183 | { |
184 | node.getL2().apply(this); |
185 | } |
186 | if(node.getFieldList() != null) |
187 | { |
188 | node.getFieldList().apply(this); |
189 | } |
190 | if(node.getR2() != null) |
191 | { |
192 | node.getR2().apply(this); |
193 | } |
194 | if(node.getSemicolon() != null) |
195 | { |
196 | node.getSemicolon().apply(this); |
197 | } |
198 | { |
199 | Object temp[] = node.getThisFieldAssig().toArray(); |
200 | for(int i = 0; i < temp.length; i++) |
201 | { |
202 | ((PThisFieldAssig) temp[i]).apply(this); |
203 | } |
204 | } |
205 | if(node.getRBrace() != null) |
206 | { |
207 | node.getRBrace().apply(this); |
208 | } |
209 | outAConstructorDecl(node); |
210 | } |
211 | |
212 | public void inAMethodDecl(AMethodDecl node) |
213 | { |
214 | defaultIn(node); |
215 | } |
216 | |
217 | public void outAMethodDecl(AMethodDecl node) |
218 | { |
219 | defaultOut(node); |
220 | } |
221 | |
222 | public void caseAMethodDecl(AMethodDecl node) |
223 | { |
224 | inAMethodDecl(node); |
225 | if(node.getClassname() != null) |
226 | { |
227 | node.getClassname().apply(this); |
228 | } |
229 | if(node.getMethodname() != null) |
230 | { |
231 | node.getMethodname().apply(this); |
232 | } |
233 | if(node.getLPar() != null) |
234 | { |
235 | node.getLPar().apply(this); |
236 | } |
237 | if(node.getParamDeclList() != null) |
238 | { |
239 | node.getParamDeclList().apply(this); |
240 | } |
241 | if(node.getRPar() != null) |
242 | { |
243 | node.getRPar().apply(this); |
244 | } |
245 | if(node.getLBrace() != null) |
246 | { |
247 | node.getLBrace().apply(this); |
248 | } |
249 | if(node.getReturn() != null) |
250 | { |
251 | node.getReturn().apply(this); |
252 | } |
253 | if(node.getTerm() != null) |
254 | { |
255 | node.getTerm().apply(this); |
256 | } |
257 | if(node.getSemicolon() != null) |
258 | { |
259 | node.getSemicolon().apply(this); |
260 | } |
261 | if(node.getRBrace() != null) |
262 | { |
263 | node.getRBrace().apply(this); |
264 | } |
265 | outAMethodDecl(node); |
266 | } |
267 | |
268 | public void inAParamArgsParamDeclList(AParamArgsParamDeclList node) |
269 | { |
270 | defaultIn(node); |
271 | } |
272 | |
273 | public void outAParamArgsParamDeclList(AParamArgsParamDeclList node) |
274 | { |
275 | defaultOut(node); |
276 | } |
277 | |
278 | public void caseAParamArgsParamDeclList(AParamArgsParamDeclList node) |
279 | { |
280 | inAParamArgsParamDeclList(node); |
281 | if(node.getParamArg() != null) |
282 | { |
283 | node.getParamArg().apply(this); |
284 | } |
285 | { |
286 | Object temp[] = node.getCommaParamArgList().toArray(); |
287 | for(int i = 0; i < temp.length; i++) |
288 | { |
289 | ((PCommaParamArgList) temp[i]).apply(this); |
290 | } |
291 | } |
292 | outAParamArgsParamDeclList(node); |
293 | } |
294 | |
295 | public void inAEmptyParamDeclList(AEmptyParamDeclList node) |
296 | { |
297 | defaultIn(node); |
298 | } |
299 | |
300 | public void outAEmptyParamDeclList(AEmptyParamDeclList node) |
301 | { |
302 | defaultOut(node); |
303 | } |
304 | |
305 | public void caseAEmptyParamDeclList(AEmptyParamDeclList node) |
306 | { |
307 | inAEmptyParamDeclList(node); |
308 | outAEmptyParamDeclList(node); |
309 | } |
310 | |
311 | public void inAIdentParamArg(AIdentParamArg node) |
312 | { |
313 | defaultIn(node); |
314 | } |
315 | |
316 | public void outAIdentParamArg(AIdentParamArg node) |
317 | { |
318 | defaultOut(node); |
319 | } |
320 | |
321 | public void caseAIdentParamArg(AIdentParamArg node) |
322 | { |
323 | inAIdentParamArg(node); |
324 | if(node.getClassname() != null) |
325 | { |
326 | node.getClassname().apply(this); |
327 | } |
328 | if(node.getParam() != null) |
329 | { |
330 | node.getParam().apply(this); |
331 | } |
332 | outAIdentParamArg(node); |
333 | } |
334 | |
335 | public void inAThisParamArg(AThisParamArg node) |
336 | { |
337 | defaultIn(node); |
338 | } |
339 | |
340 | public void outAThisParamArg(AThisParamArg node) |
341 | { |
342 | defaultOut(node); |
343 | } |
344 | |
345 | public void caseAThisParamArg(AThisParamArg node) |
346 | { |
347 | inAThisParamArg(node); |
348 | if(node.getThis() != null) |
349 | { |
350 | node.getThis().apply(this); |
351 | } |
352 | if(node.getIdentifier() != null) |
353 | { |
354 | node.getIdentifier().apply(this); |
355 | } |
356 | outAThisParamArg(node); |
357 | } |
358 | |
359 | public void inACommaParamArgList(ACommaParamArgList node) |
360 | { |
361 | defaultIn(node); |
362 | } |
363 | |
364 | public void outACommaParamArgList(ACommaParamArgList node) |
365 | { |
366 | defaultOut(node); |
367 | } |
368 | |
369 | public void caseACommaParamArgList(ACommaParamArgList node) |
370 | { |
371 | inACommaParamArgList(node); |
372 | if(node.getComma() != null) |
373 | { |
374 | node.getComma().apply(this); |
375 | } |
376 | if(node.getParamArg() != null) |
377 | { |
378 | node.getParamArg().apply(this); |
379 | } |
380 | outACommaParamArgList(node); |
381 | } |
382 | |
383 | public void inAFieldListFieldList(AFieldListFieldList node) |
384 | { |
385 | defaultIn(node); |
386 | } |
387 | |
388 | public void outAFieldListFieldList(AFieldListFieldList node) |
389 | { |
390 | defaultOut(node); |
391 | } |
392 | |
393 | public void caseAFieldListFieldList(AFieldListFieldList node) |
394 | { |
395 | inAFieldListFieldList(node); |
396 | if(node.getFieldName() != null) |
397 | { |
398 | node.getFieldName().apply(this); |
399 | } |
400 | { |
401 | Object temp[] = node.getCommaField().toArray(); |
402 | for(int i = 0; i < temp.length; i++) |
403 | { |
404 | ((PCommaField) temp[i]).apply(this); |
405 | } |
406 | } |
407 | outAFieldListFieldList(node); |
408 | } |
409 | |
410 | public void inAEmptyFieldList(AEmptyFieldList node) |
411 | { |
412 | defaultIn(node); |
413 | } |
414 | |
415 | public void outAEmptyFieldList(AEmptyFieldList node) |
416 | { |
417 | defaultOut(node); |
418 | } |
419 | |
420 | public void caseAEmptyFieldList(AEmptyFieldList node) |
421 | { |
422 | inAEmptyFieldList(node); |
423 | outAEmptyFieldList(node); |
424 | } |
425 | |
426 | public void inAFieldName(AFieldName node) |
427 | { |
428 | defaultIn(node); |
429 | } |
430 | |
431 | public void outAFieldName(AFieldName node) |
432 | { |
433 | defaultOut(node); |
434 | } |
435 | |
436 | public void caseAFieldName(AFieldName node) |
437 | { |
438 | inAFieldName(node); |
439 | if(node.getIdentifier() != null) |
440 | { |
441 | node.getIdentifier().apply(this); |
442 | } |
443 | outAFieldName(node); |
444 | } |
445 | |
446 | public void inACommaField(ACommaField node) |
447 | { |
448 | defaultIn(node); |
449 | } |
450 | |
451 | public void outACommaField(ACommaField node) |
452 | { |
453 | defaultOut(node); |
454 | } |
455 | |
456 | public void caseACommaField(ACommaField node) |
457 | { |
458 | inACommaField(node); |
459 | if(node.getComma() != null) |
460 | { |
461 | node.getComma().apply(this); |
462 | } |
463 | if(node.getFieldName() != null) |
464 | { |
465 | node.getFieldName().apply(this); |
466 | } |
467 | outACommaField(node); |
468 | } |
469 | |
470 | public void inAThisFieldAssig(AThisFieldAssig node) |
471 | { |
472 | defaultIn(node); |
473 | } |
474 | |
475 | public void outAThisFieldAssig(AThisFieldAssig node) |
476 | { |
477 | defaultOut(node); |
478 | } |
479 | |
480 | public void caseAThisFieldAssig(AThisFieldAssig node) |
481 | { |
482 | inAThisFieldAssig(node); |
483 | if(node.getThis() != null) |
484 | { |
485 | node.getThis().apply(this); |
486 | } |
487 | if(node.getPeriod() != null) |
488 | { |
489 | node.getPeriod().apply(this); |
490 | } |
491 | if(node.getLeftField() != null) |
492 | { |
493 | node.getLeftField().apply(this); |
494 | } |
495 | if(node.getEq() != null) |
496 | { |
497 | node.getEq().apply(this); |
498 | } |
499 | if(node.getRightField() != null) |
500 | { |
501 | node.getRightField().apply(this); |
502 | } |
503 | if(node.getSemicolon() != null) |
504 | { |
505 | node.getSemicolon().apply(this); |
506 | } |
507 | outAThisFieldAssig(node); |
508 | } |
509 | |
510 | public void inANonLeftRecTermTerm(ANonLeftRecTermTerm node) |
511 | { |
512 | defaultIn(node); |
513 | } |
514 | |
515 | public void outANonLeftRecTermTerm(ANonLeftRecTermTerm node) |
516 | { |
517 | defaultOut(node); |
518 | } |
519 | |
520 | public void caseANonLeftRecTermTerm(ANonLeftRecTermTerm node) |
521 | { |
522 | inANonLeftRecTermTerm(node); |
523 | if(node.getNonLeftRecTerm() != null) |
524 | { |
525 | node.getNonLeftRecTerm().apply(this); |
526 | } |
527 | outANonLeftRecTermTerm(node); |
528 | } |
529 | |
530 | public void inAFieldAccessTerm(AFieldAccessTerm node) |
531 | { |
532 | defaultIn(node); |
533 | } |
534 | |
535 | public void outAFieldAccessTerm(AFieldAccessTerm node) |
536 | { |
537 | defaultOut(node); |
538 | } |
539 | |
540 | public void caseAFieldAccessTerm(AFieldAccessTerm node) |
541 | { |
542 | inAFieldAccessTerm(node); |
543 | if(node.getNonLeftRecTerm() != null) |
544 | { |
545 | node.getNonLeftRecTerm().apply(this); |
546 | } |
547 | if(node.getPeriod() != null) |
548 | { |
549 | node.getPeriod().apply(this); |
550 | } |
551 | if(node.getIdentifier() != null) |
552 | { |
553 | node.getIdentifier().apply(this); |
554 | } |
555 | outAFieldAccessTerm(node); |
556 | } |
557 | |
558 | public void inAMethodCallTerm(AMethodCallTerm node) |
559 | { |
560 | defaultIn(node); |
561 | } |
562 | |
563 | public void outAMethodCallTerm(AMethodCallTerm node) |
564 | { |
565 | defaultOut(node); |
566 | } |
567 | |
568 | public void caseAMethodCallTerm(AMethodCallTerm node) |
569 | { |
570 | inAMethodCallTerm(node); |
571 | if(node.getNonLeftRecTerm() != null) |
572 | { |
573 | node.getNonLeftRecTerm().apply(this); |
574 | } |
575 | if(node.getPeriod() != null) |
576 | { |
577 | node.getPeriod().apply(this); |
578 | } |
579 | if(node.getIdentifier() != null) |
580 | { |
581 | node.getIdentifier().apply(this); |
582 | } |
583 | if(node.getLPar() != null) |
584 | { |
585 | node.getLPar().apply(this); |
586 | } |
587 | if(node.getTermList() != null) |
588 | { |
589 | node.getTermList().apply(this); |
590 | } |
591 | if(node.getRPar() != null) |
592 | { |
593 | node.getRPar().apply(this); |
594 | } |
595 | outAMethodCallTerm(node); |
596 | } |
597 | |
598 | public void inACastTerm(ACastTerm node) |
599 | { |
600 | defaultIn(node); |
601 | } |
602 | |
603 | public void outACastTerm(ACastTerm node) |
604 | { |
605 | defaultOut(node); |
606 | } |
607 | |
608 | public void caseACastTerm(ACastTerm node) |
609 | { |
610 | inACastTerm(node); |
611 | if(node.getLSq() != null) |
612 | { |
613 | node.getLSq().apply(this); |
614 | } |
615 | if(node.getIdentifier() != null) |
616 | { |
617 | node.getIdentifier().apply(this); |
618 | } |
619 | if(node.getRSq() != null) |
620 | { |
621 | node.getRSq().apply(this); |
622 | } |
623 | if(node.getNonLeftRecTerm() != null) |
624 | { |
625 | node.getNonLeftRecTerm().apply(this); |
626 | } |
627 | outACastTerm(node); |
628 | } |
629 | |
630 | public void inAVariableNonLeftRecTerm(AVariableNonLeftRecTerm node) |
631 | { |
632 | defaultIn(node); |
633 | } |
634 | |
635 | public void outAVariableNonLeftRecTerm(AVariableNonLeftRecTerm node) |
636 | { |
637 | defaultOut(node); |
638 | } |
639 | |
640 | public void caseAVariableNonLeftRecTerm(AVariableNonLeftRecTerm node) |
641 | { |
642 | inAVariableNonLeftRecTerm(node); |
643 | if(node.getIdentifier() != null) |
644 | { |
645 | node.getIdentifier().apply(this); |
646 | } |
647 | outAVariableNonLeftRecTerm(node); |
648 | } |
649 | |
650 | public void inAThisNonLeftRecTerm(AThisNonLeftRecTerm node) |
651 | { |
652 | defaultIn(node); |
653 | } |
654 | |
655 | public void outAThisNonLeftRecTerm(AThisNonLeftRecTerm node) |
656 | { |
657 | defaultOut(node); |
658 | } |
659 | |
660 | public void caseAThisNonLeftRecTerm(AThisNonLeftRecTerm node) |
661 | { |
662 | inAThisNonLeftRecTerm(node); |
663 | if(node.getThis() != null) |
664 | { |
665 | node.getThis().apply(this); |
666 | } |
667 | outAThisNonLeftRecTerm(node); |
668 | } |
669 | |
670 | public void inAObjectCreationNonLeftRecTerm(AObjectCreationNonLeftRecTerm node) |
671 | { |
672 | defaultIn(node); |
673 | } |
674 | |
675 | public void outAObjectCreationNonLeftRecTerm(AObjectCreationNonLeftRecTerm node) |
676 | { |
677 | defaultOut(node); |
678 | } |
679 | |
680 | public void caseAObjectCreationNonLeftRecTerm(AObjectCreationNonLeftRecTerm node) |
681 | { |
682 | inAObjectCreationNonLeftRecTerm(node); |
683 | if(node.getNew() != null) |
684 | { |
685 | node.getNew().apply(this); |
686 | } |
687 | if(node.getIdentifier() != null) |
688 | { |
689 | node.getIdentifier().apply(this); |
690 | } |
691 | if(node.getLPar() != null) |
692 | { |
693 | node.getLPar().apply(this); |
694 | } |
695 | if(node.getTermList() != null) |
696 | { |
697 | node.getTermList().apply(this); |
698 | } |
699 | if(node.getRPar() != null) |
700 | { |
701 | node.getRPar().apply(this); |
702 | } |
703 | outAObjectCreationNonLeftRecTerm(node); |
704 | } |
705 | |
706 | public void inABracketNonLeftRecTerm(ABracketNonLeftRecTerm node) |
707 | { |
708 | defaultIn(node); |
709 | } |
710 | |
711 | public void outABracketNonLeftRecTerm(ABracketNonLeftRecTerm node) |
712 | { |
713 | defaultOut(node); |
714 | } |
715 | |
716 | public void caseABracketNonLeftRecTerm(ABracketNonLeftRecTerm node) |
717 | { |
718 | inABracketNonLeftRecTerm(node); |
719 | if(node.getLPar() != null) |
720 | { |
721 | node.getLPar().apply(this); |
722 | } |
723 | if(node.getTerm() != null) |
724 | { |
725 | node.getTerm().apply(this); |
726 | } |
727 | if(node.getRPar() != null) |
728 | { |
729 | node.getRPar().apply(this); |
730 | } |
731 | outABracketNonLeftRecTerm(node); |
732 | } |
733 | |
734 | public void inATermListTermList(ATermListTermList node) |
735 | { |
736 | defaultIn(node); |
737 | } |
738 | |
739 | public void outATermListTermList(ATermListTermList node) |
740 | { |
741 | defaultOut(node); |
742 | } |
743 | |
744 | public void caseATermListTermList(ATermListTermList node) |
745 | { |
746 | inATermListTermList(node); |
747 | if(node.getTerm() != null) |
748 | { |
749 | node.getTerm().apply(this); |
750 | } |
751 | { |
752 | Object temp[] = node.getCommaTerm().toArray(); |
753 | for(int i = 0; i < temp.length; i++) |
754 | { |
755 | ((PCommaTerm) temp[i]).apply(this); |
756 | } |
757 | } |
758 | outATermListTermList(node); |
759 | } |
760 | |
761 | public void inAEmptyTermList(AEmptyTermList node) |
762 | { |
763 | defaultIn(node); |
764 | } |
765 | |
766 | public void outAEmptyTermList(AEmptyTermList node) |
767 | { |
768 | defaultOut(node); |
769 | } |
770 | |
771 | public void caseAEmptyTermList(AEmptyTermList node) |
772 | { |
773 | inAEmptyTermList(node); |
774 | outAEmptyTermList(node); |
775 | } |
776 | |
777 | public void inACommaTerm(ACommaTerm node) |
778 | { |
779 | defaultIn(node); |
780 | } |
781 | |
782 | public void outACommaTerm(ACommaTerm node) |
783 | { |
784 | defaultOut(node); |
785 | } |
786 | |
787 | public void caseACommaTerm(ACommaTerm node) |
788 | { |
789 | inACommaTerm(node); |
790 | if(node.getComma() != null) |
791 | { |
792 | node.getComma().apply(this); |
793 | } |
794 | if(node.getTerm() != null) |
795 | { |
796 | node.getTerm().apply(this); |
797 | } |
798 | outACommaTerm(node); |
799 | } |
800 | } |