1 /**
2 Copyright: Copyright (c) 2016, Joakim Brännström. All rights reserved.
3 License: MPL-2
4 Author: Joakim Brännström (joakim.brannstrom@gmx.com)
5 
6 This Source Code Form is subject to the terms of the Mozilla Public License,
7 v.2.0. If a copy of the MPL was not distributed with this file, You can obtain
8 one at http://mozilla.org/MPL/2.0/.
9 
10 DO NOT EDIT. THIS FILE IS GENERATED.
11 See the generator script source/devtool/generator_clang_ast_nodes.d
12 */
13 module cpptooling.analyzer.clang.ast.base_visitor;
14 abstract class Visitor {
15     import cpptooling.analyzer.clang.ast;
16 
17 @safe:
18 
19     /// Called when entering a node
20     void incr() {
21     }
22 
23     /// Called when leaving a node
24     void decr() {
25     }
26 
27     void visit(const TranslationUnit) {
28     }
29 
30     void visit(const(Attribute)) {}
31 
32     void visit(const(UnexposedAttr) value) {
33         visit(cast(const(Attribute)) value);
34     }
35 
36     void visit(const(IbActionAttr) value) {
37         visit(cast(const(Attribute)) value);
38     }
39 
40     void visit(const(IbOutletAttr) value) {
41         visit(cast(const(Attribute)) value);
42     }
43 
44     void visit(const(IbOutletCollectionAttr) value) {
45         visit(cast(const(Attribute)) value);
46     }
47 
48     void visit(const(CxxFinalAttr) value) {
49         visit(cast(const(Attribute)) value);
50     }
51 
52     void visit(const(CxxOverrideAttr) value) {
53         visit(cast(const(Attribute)) value);
54     }
55 
56     void visit(const(AnnotateAttr) value) {
57         visit(cast(const(Attribute)) value);
58     }
59 
60     void visit(const(AsmLabelAttr) value) {
61         visit(cast(const(Attribute)) value);
62     }
63 
64     void visit(const(PackedAttr) value) {
65         visit(cast(const(Attribute)) value);
66     }
67 
68     void visit(const(PureAttr) value) {
69         visit(cast(const(Attribute)) value);
70     }
71 
72     void visit(const(ConstAttr) value) {
73         visit(cast(const(Attribute)) value);
74     }
75 
76     void visit(const(NoDuplicateAttr) value) {
77         visit(cast(const(Attribute)) value);
78     }
79 
80     void visit(const(CudaConstantAttr) value) {
81         visit(cast(const(Attribute)) value);
82     }
83 
84     void visit(const(CudaDeviceAttr) value) {
85         visit(cast(const(Attribute)) value);
86     }
87 
88     void visit(const(CudaGlobalAttr) value) {
89         visit(cast(const(Attribute)) value);
90     }
91 
92     void visit(const(CudaHostAttr) value) {
93         visit(cast(const(Attribute)) value);
94     }
95 
96     void visit(const(CudaSharedAttr) value) {
97         visit(cast(const(Attribute)) value);
98     }
99 
100     void visit(const(VisibilityAttr) value) {
101         visit(cast(const(Attribute)) value);
102     }
103 
104     void visit(const(DllExport) value) {
105         visit(cast(const(Attribute)) value);
106     }
107 
108     void visit(const(DllImport) value) {
109         visit(cast(const(Attribute)) value);
110     }
111 
112     void visit(const(Declaration)) {}
113 
114     void visit(const(UnexposedDecl) value) {
115         visit(cast(const(Declaration)) value);
116     }
117 
118     void visit(const(StructDecl) value) {
119         visit(cast(const(Declaration)) value);
120     }
121 
122     void visit(const(UnionDecl) value) {
123         visit(cast(const(Declaration)) value);
124     }
125 
126     void visit(const(ClassDecl) value) {
127         visit(cast(const(Declaration)) value);
128     }
129 
130     void visit(const(EnumDecl) value) {
131         visit(cast(const(Declaration)) value);
132     }
133 
134     void visit(const(FieldDecl) value) {
135         visit(cast(const(Declaration)) value);
136     }
137 
138     void visit(const(EnumConstantDecl) value) {
139         visit(cast(const(Declaration)) value);
140     }
141 
142     void visit(const(FunctionDecl) value) {
143         visit(cast(const(Declaration)) value);
144     }
145 
146     void visit(const(VarDecl) value) {
147         visit(cast(const(Declaration)) value);
148     }
149 
150     void visit(const(ParmDecl) value) {
151         visit(cast(const(Declaration)) value);
152     }
153 
154     void visit(const(ObjCInterfaceDecl) value) {
155         visit(cast(const(Declaration)) value);
156     }
157 
158     void visit(const(ObjCCategoryDecl) value) {
159         visit(cast(const(Declaration)) value);
160     }
161 
162     void visit(const(ObjCProtocolDecl) value) {
163         visit(cast(const(Declaration)) value);
164     }
165 
166     void visit(const(ObjCPropertyDecl) value) {
167         visit(cast(const(Declaration)) value);
168     }
169 
170     void visit(const(ObjCIvarDecl) value) {
171         visit(cast(const(Declaration)) value);
172     }
173 
174     void visit(const(ObjCInstanceMethodDecl) value) {
175         visit(cast(const(Declaration)) value);
176     }
177 
178     void visit(const(ObjCClassMethodDecl) value) {
179         visit(cast(const(Declaration)) value);
180     }
181 
182     void visit(const(ObjCImplementationDecl) value) {
183         visit(cast(const(Declaration)) value);
184     }
185 
186     void visit(const(ObjCCategoryImplDecl) value) {
187         visit(cast(const(Declaration)) value);
188     }
189 
190     void visit(const(TypedefDecl) value) {
191         visit(cast(const(Declaration)) value);
192     }
193 
194     void visit(const(CxxMethod) value) {
195         visit(cast(const(Declaration)) value);
196     }
197 
198     void visit(const(Namespace) value) {
199         visit(cast(const(Declaration)) value);
200     }
201 
202     void visit(const(LinkageSpec) value) {
203         visit(cast(const(Declaration)) value);
204     }
205 
206     void visit(const(Constructor) value) {
207         visit(cast(const(Declaration)) value);
208     }
209 
210     void visit(const(Destructor) value) {
211         visit(cast(const(Declaration)) value);
212     }
213 
214     void visit(const(ConversionFunction) value) {
215         visit(cast(const(Declaration)) value);
216     }
217 
218     void visit(const(TemplateTypeParameter) value) {
219         visit(cast(const(Declaration)) value);
220     }
221 
222     void visit(const(NonTypeTemplateParameter) value) {
223         visit(cast(const(Declaration)) value);
224     }
225 
226     void visit(const(TemplateTemplateParameter) value) {
227         visit(cast(const(Declaration)) value);
228     }
229 
230     void visit(const(FunctionTemplate) value) {
231         visit(cast(const(Declaration)) value);
232     }
233 
234     void visit(const(ClassTemplate) value) {
235         visit(cast(const(Declaration)) value);
236     }
237 
238     void visit(const(ClassTemplatePartialSpecialization) value) {
239         visit(cast(const(Declaration)) value);
240     }
241 
242     void visit(const(NamespaceAlias) value) {
243         visit(cast(const(Declaration)) value);
244     }
245 
246     void visit(const(UsingDirective) value) {
247         visit(cast(const(Declaration)) value);
248     }
249 
250     void visit(const(TypeAliasDecl) value) {
251         visit(cast(const(Declaration)) value);
252     }
253 
254     void visit(const(ObjCSynthesizeDecl) value) {
255         visit(cast(const(Declaration)) value);
256     }
257 
258     void visit(const(ObjCDynamicDecl) value) {
259         visit(cast(const(Declaration)) value);
260     }
261 
262     void visit(const(CxxAccessSpecifier) value) {
263         visit(cast(const(Declaration)) value);
264     }
265 
266     void visit(const(Directive)) {}
267 
268     void visit(const(OmpParallelDirective) value) {
269         visit(cast(const(Directive)) value);
270     }
271 
272     void visit(const(OmpSimdDirective) value) {
273         visit(cast(const(Directive)) value);
274     }
275 
276     void visit(const(OmpForDirective) value) {
277         visit(cast(const(Directive)) value);
278     }
279 
280     void visit(const(OmpSectionsDirective) value) {
281         visit(cast(const(Directive)) value);
282     }
283 
284     void visit(const(OmpSectionDirective) value) {
285         visit(cast(const(Directive)) value);
286     }
287 
288     void visit(const(OmpSingleDirective) value) {
289         visit(cast(const(Directive)) value);
290     }
291 
292     void visit(const(OmpParallelForDirective) value) {
293         visit(cast(const(Directive)) value);
294     }
295 
296     void visit(const(OmpParallelSectionsDirective) value) {
297         visit(cast(const(Directive)) value);
298     }
299 
300     void visit(const(OmpTaskDirective) value) {
301         visit(cast(const(Directive)) value);
302     }
303 
304     void visit(const(OmpMasterDirective) value) {
305         visit(cast(const(Directive)) value);
306     }
307 
308     void visit(const(OmpCriticalDirective) value) {
309         visit(cast(const(Directive)) value);
310     }
311 
312     void visit(const(OmpTaskyieldDirective) value) {
313         visit(cast(const(Directive)) value);
314     }
315 
316     void visit(const(OmpBarrierDirective) value) {
317         visit(cast(const(Directive)) value);
318     }
319 
320     void visit(const(OmpTaskwaitDirective) value) {
321         visit(cast(const(Directive)) value);
322     }
323 
324     void visit(const(OmpFlushDirective) value) {
325         visit(cast(const(Directive)) value);
326     }
327 
328     void visit(const(OmpOrderedDirective) value) {
329         visit(cast(const(Directive)) value);
330     }
331 
332     void visit(const(OmpAtomicDirective) value) {
333         visit(cast(const(Directive)) value);
334     }
335 
336     void visit(const(OmpForSimdDirective) value) {
337         visit(cast(const(Directive)) value);
338     }
339 
340     void visit(const(OmpParallelForSimdDirective) value) {
341         visit(cast(const(Directive)) value);
342     }
343 
344     void visit(const(OmpTargetDirective) value) {
345         visit(cast(const(Directive)) value);
346     }
347 
348     void visit(const(OmpTeamsDirective) value) {
349         visit(cast(const(Directive)) value);
350     }
351 
352     void visit(const(OmpTaskgroupDirective) value) {
353         visit(cast(const(Directive)) value);
354     }
355 
356     void visit(const(OmpCancellationPointDirective) value) {
357         visit(cast(const(Directive)) value);
358     }
359 
360     void visit(const(OmpCancelDirective) value) {
361         visit(cast(const(Directive)) value);
362     }
363 
364     void visit(const(OmpTargetDataDirective) value) {
365         visit(cast(const(Directive)) value);
366     }
367 
368     void visit(const(OmpTaskLoopDirective) value) {
369         visit(cast(const(Directive)) value);
370     }
371 
372     void visit(const(OmpTaskLoopSimdDirective) value) {
373         visit(cast(const(Directive)) value);
374     }
375 
376     void visit(const(OmpDistributeDirective) value) {
377         visit(cast(const(Directive)) value);
378     }
379 
380     void visit(const(OmpTargetEnterDataDirective) value) {
381         visit(cast(const(Directive)) value);
382     }
383 
384     void visit(const(OmpTargetExitDataDirective) value) {
385         visit(cast(const(Directive)) value);
386     }
387 
388     void visit(const(OmpTargetParallelDirective) value) {
389         visit(cast(const(Directive)) value);
390     }
391 
392     void visit(const(OmpTargetParallelForDirective) value) {
393         visit(cast(const(Directive)) value);
394     }
395 
396     void visit(const(OmpTargetUpdateDirective) value) {
397         visit(cast(const(Directive)) value);
398     }
399 
400     void visit(const(OmpDistributeParallelForDirective) value) {
401         visit(cast(const(Directive)) value);
402     }
403 
404     void visit(const(OmpDistributeParallelForSimdDirective) value) {
405         visit(cast(const(Directive)) value);
406     }
407 
408     void visit(const(OmpDistributeSimdDirective) value) {
409         visit(cast(const(Directive)) value);
410     }
411 
412     void visit(const(OmpTargetParallelForSimdDirective) value) {
413         visit(cast(const(Directive)) value);
414     }
415 
416     void visit(const(OmpTargetSimdDirective) value) {
417         visit(cast(const(Directive)) value);
418     }
419 
420     void visit(const(OmpTeamsDistributeDirective) value) {
421         visit(cast(const(Directive)) value);
422     }
423 
424     void visit(const(OmpTeamsDistributeSimdDirective) value) {
425         visit(cast(const(Directive)) value);
426     }
427 
428     void visit(const(OmpTeamsDistributeParallelForSimdDirective) value) {
429         visit(cast(const(Directive)) value);
430     }
431 
432     void visit(const(OmpTeamsDistributeParallelForDirective) value) {
433         visit(cast(const(Directive)) value);
434     }
435 
436     void visit(const(OmpTargetTeamsDirective) value) {
437         visit(cast(const(Directive)) value);
438     }
439 
440     void visit(const(OmpTargetTeamsDistributeDirective) value) {
441         visit(cast(const(Directive)) value);
442     }
443 
444     void visit(const(OmpTargetTeamsDistributeParallelForDirective) value) {
445         visit(cast(const(Directive)) value);
446     }
447 
448     void visit(const(OmpTargetTeamsDistributeParallelForSimdDirective) value) {
449         visit(cast(const(Directive)) value);
450     }
451 
452     void visit(const(OmpTargetTeamsDistributeSimdDirective) value) {
453         visit(cast(const(Directive)) value);
454     }
455 
456     void visit(const(Expression)) {}
457 
458     void visit(const(UnexposedExpr) value) {
459         visit(cast(const(Expression)) value);
460     }
461 
462     void visit(const(DeclRefExpr) value) {
463         visit(cast(const(Expression)) value);
464     }
465 
466     void visit(const(MemberRefExpr) value) {
467         visit(cast(const(Expression)) value);
468     }
469 
470     void visit(const(CallExpr) value) {
471         visit(cast(const(Expression)) value);
472     }
473 
474     void visit(const(ObjCMessageExpr) value) {
475         visit(cast(const(Expression)) value);
476     }
477 
478     void visit(const(BlockExpr) value) {
479         visit(cast(const(Expression)) value);
480     }
481 
482     void visit(const(IntegerLiteral) value) {
483         visit(cast(const(Expression)) value);
484     }
485 
486     void visit(const(FloatingLiteral) value) {
487         visit(cast(const(Expression)) value);
488     }
489 
490     void visit(const(ImaginaryLiteral) value) {
491         visit(cast(const(Expression)) value);
492     }
493 
494     void visit(const(StringLiteral) value) {
495         visit(cast(const(Expression)) value);
496     }
497 
498     void visit(const(CharacterLiteral) value) {
499         visit(cast(const(Expression)) value);
500     }
501 
502     void visit(const(ParenExpr) value) {
503         visit(cast(const(Expression)) value);
504     }
505 
506     void visit(const(UnaryOperator) value) {
507         visit(cast(const(Expression)) value);
508     }
509 
510     void visit(const(ArraySubscriptExpr) value) {
511         visit(cast(const(Expression)) value);
512     }
513 
514     void visit(const(BinaryOperator) value) {
515         visit(cast(const(Expression)) value);
516     }
517 
518     void visit(const(CompoundAssignOperator) value) {
519         visit(cast(const(Expression)) value);
520     }
521 
522     void visit(const(ConditionalOperator) value) {
523         visit(cast(const(Expression)) value);
524     }
525 
526     void visit(const(CStyleCastExpr) value) {
527         visit(cast(const(Expression)) value);
528     }
529 
530     void visit(const(CompoundLiteralExpr) value) {
531         visit(cast(const(Expression)) value);
532     }
533 
534     void visit(const(InitListExpr) value) {
535         visit(cast(const(Expression)) value);
536     }
537 
538     void visit(const(AddrLabelExpr) value) {
539         visit(cast(const(Expression)) value);
540     }
541 
542     void visit(const(StmtExpr) value) {
543         visit(cast(const(Expression)) value);
544     }
545 
546     void visit(const(GenericSelectionExpr) value) {
547         visit(cast(const(Expression)) value);
548     }
549 
550     void visit(const(GnuNullExpr) value) {
551         visit(cast(const(Expression)) value);
552     }
553 
554     void visit(const(CxxStaticCastExpr) value) {
555         visit(cast(const(Expression)) value);
556     }
557 
558     void visit(const(CxxDynamicCastExpr) value) {
559         visit(cast(const(Expression)) value);
560     }
561 
562     void visit(const(CxxReinterpretCastExpr) value) {
563         visit(cast(const(Expression)) value);
564     }
565 
566     void visit(const(CxxConstCastExpr) value) {
567         visit(cast(const(Expression)) value);
568     }
569 
570     void visit(const(CxxFunctionalCastExpr) value) {
571         visit(cast(const(Expression)) value);
572     }
573 
574     void visit(const(CxxTypeidExpr) value) {
575         visit(cast(const(Expression)) value);
576     }
577 
578     void visit(const(CxxBoolLiteralExpr) value) {
579         visit(cast(const(Expression)) value);
580     }
581 
582     void visit(const(CxxNullPtrLiteralExpr) value) {
583         visit(cast(const(Expression)) value);
584     }
585 
586     void visit(const(CxxThisExpr) value) {
587         visit(cast(const(Expression)) value);
588     }
589 
590     void visit(const(CxxThrowExpr) value) {
591         visit(cast(const(Expression)) value);
592     }
593 
594     void visit(const(CxxNewExpr) value) {
595         visit(cast(const(Expression)) value);
596     }
597 
598     void visit(const(CxxDeleteExpr) value) {
599         visit(cast(const(Expression)) value);
600     }
601 
602     void visit(const(UnaryExpr) value) {
603         visit(cast(const(Expression)) value);
604     }
605 
606     void visit(const(ObjCStringLiteral) value) {
607         visit(cast(const(Expression)) value);
608     }
609 
610     void visit(const(ObjCEncodeExpr) value) {
611         visit(cast(const(Expression)) value);
612     }
613 
614     void visit(const(ObjCSelectorExpr) value) {
615         visit(cast(const(Expression)) value);
616     }
617 
618     void visit(const(ObjCProtocolExpr) value) {
619         visit(cast(const(Expression)) value);
620     }
621 
622     void visit(const(ObjCBridgedCastExpr) value) {
623         visit(cast(const(Expression)) value);
624     }
625 
626     void visit(const(PackExpansionExpr) value) {
627         visit(cast(const(Expression)) value);
628     }
629 
630     void visit(const(SizeOfPackExpr) value) {
631         visit(cast(const(Expression)) value);
632     }
633 
634     void visit(const(LambdaExpr) value) {
635         visit(cast(const(Expression)) value);
636     }
637 
638     void visit(const(ObjCBoolLiteralExpr) value) {
639         visit(cast(const(Expression)) value);
640     }
641 
642     void visit(const(ObjCSelfExpr) value) {
643         visit(cast(const(Expression)) value);
644     }
645 
646     void visit(const(OmpArraySectionExpr) value) {
647         visit(cast(const(Expression)) value);
648     }
649 
650     void visit(const(ObjCAvailabilityCheckExpr) value) {
651         visit(cast(const(Expression)) value);
652     }
653 
654     void visit(const(Extra)) {}
655 
656     void visit(const(ModuleImportDecl) value) {
657         visit(cast(const(Extra)) value);
658     }
659 
660     void visit(const(TypeAliasTemplateDecl) value) {
661         visit(cast(const(Extra)) value);
662     }
663 
664     void visit(const(StaticAssert) value) {
665         visit(cast(const(Extra)) value);
666     }
667 
668     void visit(const(FriendDecl) value) {
669         visit(cast(const(Extra)) value);
670     }
671 
672     void visit(const(Preprocessor)) {}
673 
674     void visit(const(PreprocessingDirective) value) {
675         visit(cast(const(Preprocessor)) value);
676     }
677 
678     void visit(const(MacroDefinition) value) {
679         visit(cast(const(Preprocessor)) value);
680     }
681 
682     void visit(const(MacroExpansion) value) {
683         visit(cast(const(Preprocessor)) value);
684     }
685 
686     void visit(const(InclusionDirective) value) {
687         visit(cast(const(Preprocessor)) value);
688     }
689 
690     void visit(const(Reference)) {}
691 
692     void visit(const(ObjCSuperClassRef) value) {
693         visit(cast(const(Reference)) value);
694     }
695 
696     void visit(const(ObjCProtocolRef) value) {
697         visit(cast(const(Reference)) value);
698     }
699 
700     void visit(const(ObjCClassRef) value) {
701         visit(cast(const(Reference)) value);
702     }
703 
704     void visit(const(TypeRef) value) {
705         visit(cast(const(Reference)) value);
706     }
707 
708     void visit(const(CxxBaseSpecifier) value) {
709         visit(cast(const(Reference)) value);
710     }
711 
712     void visit(const(TemplateRef) value) {
713         visit(cast(const(Reference)) value);
714     }
715 
716     void visit(const(NamespaceRef) value) {
717         visit(cast(const(Reference)) value);
718     }
719 
720     void visit(const(MemberRef) value) {
721         visit(cast(const(Reference)) value);
722     }
723 
724     void visit(const(LabelRef) value) {
725         visit(cast(const(Reference)) value);
726     }
727 
728     void visit(const(OverloadedDeclRef) value) {
729         visit(cast(const(Reference)) value);
730     }
731 
732     void visit(const(VariableRef) value) {
733         visit(cast(const(Reference)) value);
734     }
735 
736     void visit(const(Statement)) {}
737 
738     void visit(const(UnexposedStmt) value) {
739         visit(cast(const(Statement)) value);
740     }
741 
742     void visit(const(LabelStmt) value) {
743         visit(cast(const(Statement)) value);
744     }
745 
746     void visit(const(CompoundStmt) value) {
747         visit(cast(const(Statement)) value);
748     }
749 
750     void visit(const(CaseStmt) value) {
751         visit(cast(const(Statement)) value);
752     }
753 
754     void visit(const(DefaultStmt) value) {
755         visit(cast(const(Statement)) value);
756     }
757 
758     void visit(const(IfStmt) value) {
759         visit(cast(const(Statement)) value);
760     }
761 
762     void visit(const(SwitchStmt) value) {
763         visit(cast(const(Statement)) value);
764     }
765 
766     void visit(const(WhileStmt) value) {
767         visit(cast(const(Statement)) value);
768     }
769 
770     void visit(const(DoStmt) value) {
771         visit(cast(const(Statement)) value);
772     }
773 
774     void visit(const(ForStmt) value) {
775         visit(cast(const(Statement)) value);
776     }
777 
778     void visit(const(GotoStmt) value) {
779         visit(cast(const(Statement)) value);
780     }
781 
782     void visit(const(IndirectGotoStmt) value) {
783         visit(cast(const(Statement)) value);
784     }
785 
786     void visit(const(ContinueStmt) value) {
787         visit(cast(const(Statement)) value);
788     }
789 
790     void visit(const(BreakStmt) value) {
791         visit(cast(const(Statement)) value);
792     }
793 
794     void visit(const(ReturnStmt) value) {
795         visit(cast(const(Statement)) value);
796     }
797 
798     void visit(const(AsmStmt) value) {
799         visit(cast(const(Statement)) value);
800     }
801 
802     void visit(const(ObjCAtTryStmt) value) {
803         visit(cast(const(Statement)) value);
804     }
805 
806     void visit(const(ObjCAtCatchStmt) value) {
807         visit(cast(const(Statement)) value);
808     }
809 
810     void visit(const(ObjCAtFinallyStmt) value) {
811         visit(cast(const(Statement)) value);
812     }
813 
814     void visit(const(ObjCAtThrowStmt) value) {
815         visit(cast(const(Statement)) value);
816     }
817 
818     void visit(const(ObjCAtSynchronizedStmt) value) {
819         visit(cast(const(Statement)) value);
820     }
821 
822     void visit(const(ObjCAutoreleasePoolStmt) value) {
823         visit(cast(const(Statement)) value);
824     }
825 
826     void visit(const(ObjCForCollectionStmt) value) {
827         visit(cast(const(Statement)) value);
828     }
829 
830     void visit(const(CxxCatchStmt) value) {
831         visit(cast(const(Statement)) value);
832     }
833 
834     void visit(const(CxxTryStmt) value) {
835         visit(cast(const(Statement)) value);
836     }
837 
838     void visit(const(CxxForRangeStmt) value) {
839         visit(cast(const(Statement)) value);
840     }
841 
842     void visit(const(SehTryStmt) value) {
843         visit(cast(const(Statement)) value);
844     }
845 
846     void visit(const(SehExceptStmt) value) {
847         visit(cast(const(Statement)) value);
848     }
849 
850     void visit(const(SehFinallyStmt) value) {
851         visit(cast(const(Statement)) value);
852     }
853 
854     void visit(const(MsAsmStmt) value) {
855         visit(cast(const(Statement)) value);
856     }
857 
858     void visit(const(NullStmt) value) {
859         visit(cast(const(Statement)) value);
860     }
861 
862     void visit(const(DeclStmt) value) {
863         visit(cast(const(Statement)) value);
864     }
865 
866     void visit(const(SehLeaveStmt) value) {
867         visit(cast(const(Statement)) value);
868     }
869 
870 }