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