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