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 }