1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ 2|* *| 3|* List of AST nodes of a particular kind *| 4|* *| 5|* Automatically generated file, do not edit! *| 6|* *| 7\*===----------------------------------------------------------------------===*/ 8 9#ifndef ABSTRACT_DECL 10# define ABSTRACT_DECL(Type) Type 11#endif 12#ifndef DECL_RANGE 13# define DECL_RANGE(Base, First, Last) 14#endif 15 16#ifndef LAST_DECL_RANGE 17# define LAST_DECL_RANGE(Base, First, Last) DECL_RANGE(Base, First, Last) 18#endif 19 20#ifndef ACCESSSPEC 21# define ACCESSSPEC(Type, Base) DECL(Type, Base) 22#endif 23ACCESSSPEC(AccessSpec, Decl) 24#undef ACCESSSPEC 25 26#ifndef BLOCK 27# define BLOCK(Type, Base) DECL(Type, Base) 28#endif 29BLOCK(Block, Decl) 30#undef BLOCK 31 32#ifndef CAPTURED 33# define CAPTURED(Type, Base) DECL(Type, Base) 34#endif 35CAPTURED(Captured, Decl) 36#undef CAPTURED 37 38#ifndef CLASSSCOPEFUNCTIONSPECIALIZATION 39# define CLASSSCOPEFUNCTIONSPECIALIZATION(Type, Base) DECL(Type, Base) 40#endif 41CLASSSCOPEFUNCTIONSPECIALIZATION(ClassScopeFunctionSpecialization, Decl) 42#undef CLASSSCOPEFUNCTIONSPECIALIZATION 43 44#ifndef EMPTY 45# define EMPTY(Type, Base) DECL(Type, Base) 46#endif 47EMPTY(Empty, Decl) 48#undef EMPTY 49 50#ifndef EXPORT 51# define EXPORT(Type, Base) DECL(Type, Base) 52#endif 53EXPORT(Export, Decl) 54#undef EXPORT 55 56#ifndef EXTERNCCONTEXT 57# define EXTERNCCONTEXT(Type, Base) DECL(Type, Base) 58#endif 59EXTERNCCONTEXT(ExternCContext, Decl) 60#undef EXTERNCCONTEXT 61 62#ifndef FILESCOPEASM 63# define FILESCOPEASM(Type, Base) DECL(Type, Base) 64#endif 65FILESCOPEASM(FileScopeAsm, Decl) 66#undef FILESCOPEASM 67 68#ifndef FRIEND 69# define FRIEND(Type, Base) DECL(Type, Base) 70#endif 71FRIEND(Friend, Decl) 72#undef FRIEND 73 74#ifndef FRIENDTEMPLATE 75# define FRIENDTEMPLATE(Type, Base) DECL(Type, Base) 76#endif 77FRIENDTEMPLATE(FriendTemplate, Decl) 78#undef FRIENDTEMPLATE 79 80#ifndef IMPORT 81# define IMPORT(Type, Base) DECL(Type, Base) 82#endif 83IMPORT(Import, Decl) 84#undef IMPORT 85 86#ifndef LINKAGESPEC 87# define LINKAGESPEC(Type, Base) DECL(Type, Base) 88#endif 89LINKAGESPEC(LinkageSpec, Decl) 90#undef LINKAGESPEC 91 92#ifndef NAMED 93# define NAMED(Type, Base) DECL(Type, Base) 94#endif 95ABSTRACT_DECL(NAMED(Named, Decl)) 96#ifndef LABEL 97# define LABEL(Type, Base) NAMED(Type, Base) 98#endif 99LABEL(Label, NamedDecl) 100#undef LABEL 101 102#ifndef NAMESPACE 103# define NAMESPACE(Type, Base) NAMED(Type, Base) 104#endif 105NAMESPACE(Namespace, NamedDecl) 106#undef NAMESPACE 107 108#ifndef NAMESPACEALIAS 109# define NAMESPACEALIAS(Type, Base) NAMED(Type, Base) 110#endif 111NAMESPACEALIAS(NamespaceAlias, NamedDecl) 112#undef NAMESPACEALIAS 113 114#ifndef OBJCCOMPATIBLEALIAS 115# define OBJCCOMPATIBLEALIAS(Type, Base) NAMED(Type, Base) 116#endif 117OBJCCOMPATIBLEALIAS(ObjCCompatibleAlias, NamedDecl) 118#undef OBJCCOMPATIBLEALIAS 119 120#ifndef OBJCCONTAINER 121# define OBJCCONTAINER(Type, Base) NAMED(Type, Base) 122#endif 123ABSTRACT_DECL(OBJCCONTAINER(ObjCContainer, NamedDecl)) 124#ifndef OBJCCATEGORY 125# define OBJCCATEGORY(Type, Base) OBJCCONTAINER(Type, Base) 126#endif 127OBJCCATEGORY(ObjCCategory, ObjCContainerDecl) 128#undef OBJCCATEGORY 129 130#ifndef OBJCIMPL 131# define OBJCIMPL(Type, Base) OBJCCONTAINER(Type, Base) 132#endif 133ABSTRACT_DECL(OBJCIMPL(ObjCImpl, ObjCContainerDecl)) 134#ifndef OBJCCATEGORYIMPL 135# define OBJCCATEGORYIMPL(Type, Base) OBJCIMPL(Type, Base) 136#endif 137OBJCCATEGORYIMPL(ObjCCategoryImpl, ObjCImplDecl) 138#undef OBJCCATEGORYIMPL 139 140#ifndef OBJCIMPLEMENTATION 141# define OBJCIMPLEMENTATION(Type, Base) OBJCIMPL(Type, Base) 142#endif 143OBJCIMPLEMENTATION(ObjCImplementation, ObjCImplDecl) 144#undef OBJCIMPLEMENTATION 145 146DECL_RANGE(ObjCImpl, ObjCCategoryImpl, ObjCImplementation) 147 148#undef OBJCIMPL 149 150#ifndef OBJCINTERFACE 151# define OBJCINTERFACE(Type, Base) OBJCCONTAINER(Type, Base) 152#endif 153OBJCINTERFACE(ObjCInterface, ObjCContainerDecl) 154#undef OBJCINTERFACE 155 156#ifndef OBJCPROTOCOL 157# define OBJCPROTOCOL(Type, Base) OBJCCONTAINER(Type, Base) 158#endif 159OBJCPROTOCOL(ObjCProtocol, ObjCContainerDecl) 160#undef OBJCPROTOCOL 161 162DECL_RANGE(ObjCContainer, ObjCCategory, ObjCProtocol) 163 164#undef OBJCCONTAINER 165 166#ifndef OBJCMETHOD 167# define OBJCMETHOD(Type, Base) NAMED(Type, Base) 168#endif 169OBJCMETHOD(ObjCMethod, NamedDecl) 170#undef OBJCMETHOD 171 172#ifndef OBJCPROPERTY 173# define OBJCPROPERTY(Type, Base) NAMED(Type, Base) 174#endif 175OBJCPROPERTY(ObjCProperty, NamedDecl) 176#undef OBJCPROPERTY 177 178#ifndef TEMPLATE 179# define TEMPLATE(Type, Base) NAMED(Type, Base) 180#endif 181ABSTRACT_DECL(TEMPLATE(Template, NamedDecl)) 182#ifndef BUILTINTEMPLATE 183# define BUILTINTEMPLATE(Type, Base) TEMPLATE(Type, Base) 184#endif 185BUILTINTEMPLATE(BuiltinTemplate, TemplateDecl) 186#undef BUILTINTEMPLATE 187 188#ifndef REDECLARABLETEMPLATE 189# define REDECLARABLETEMPLATE(Type, Base) TEMPLATE(Type, Base) 190#endif 191ABSTRACT_DECL(REDECLARABLETEMPLATE(RedeclarableTemplate, TemplateDecl)) 192#ifndef CLASSTEMPLATE 193# define CLASSTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base) 194#endif 195CLASSTEMPLATE(ClassTemplate, RedeclarableTemplateDecl) 196#undef CLASSTEMPLATE 197 198#ifndef FUNCTIONTEMPLATE 199# define FUNCTIONTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base) 200#endif 201FUNCTIONTEMPLATE(FunctionTemplate, RedeclarableTemplateDecl) 202#undef FUNCTIONTEMPLATE 203 204#ifndef TYPEALIASTEMPLATE 205# define TYPEALIASTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base) 206#endif 207TYPEALIASTEMPLATE(TypeAliasTemplate, RedeclarableTemplateDecl) 208#undef TYPEALIASTEMPLATE 209 210#ifndef VARTEMPLATE 211# define VARTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base) 212#endif 213VARTEMPLATE(VarTemplate, RedeclarableTemplateDecl) 214#undef VARTEMPLATE 215 216DECL_RANGE(RedeclarableTemplate, ClassTemplate, VarTemplate) 217 218#undef REDECLARABLETEMPLATE 219 220#ifndef TEMPLATETEMPLATEPARM 221# define TEMPLATETEMPLATEPARM(Type, Base) TEMPLATE(Type, Base) 222#endif 223TEMPLATETEMPLATEPARM(TemplateTemplateParm, TemplateDecl) 224#undef TEMPLATETEMPLATEPARM 225 226DECL_RANGE(Template, BuiltinTemplate, TemplateTemplateParm) 227 228#undef TEMPLATE 229 230#ifndef TYPE 231# define TYPE(Type, Base) NAMED(Type, Base) 232#endif 233ABSTRACT_DECL(TYPE(Type, NamedDecl)) 234#ifndef TAG 235# define TAG(Type, Base) TYPE(Type, Base) 236#endif 237ABSTRACT_DECL(TAG(Tag, TypeDecl)) 238#ifndef ENUM 239# define ENUM(Type, Base) TAG(Type, Base) 240#endif 241ENUM(Enum, TagDecl) 242#undef ENUM 243 244#ifndef RECORD 245# define RECORD(Type, Base) TAG(Type, Base) 246#endif 247RECORD(Record, TagDecl) 248#ifndef CXXRECORD 249# define CXXRECORD(Type, Base) RECORD(Type, Base) 250#endif 251CXXRECORD(CXXRecord, RecordDecl) 252#ifndef CLASSTEMPLATESPECIALIZATION 253# define CLASSTEMPLATESPECIALIZATION(Type, Base) CXXRECORD(Type, Base) 254#endif 255CLASSTEMPLATESPECIALIZATION(ClassTemplateSpecialization, CXXRecordDecl) 256#ifndef CLASSTEMPLATEPARTIALSPECIALIZATION 257# define CLASSTEMPLATEPARTIALSPECIALIZATION(Type, Base) CLASSTEMPLATESPECIALIZATION(Type, Base) 258#endif 259CLASSTEMPLATEPARTIALSPECIALIZATION(ClassTemplatePartialSpecialization, ClassTemplateSpecializationDecl) 260#undef CLASSTEMPLATEPARTIALSPECIALIZATION 261 262DECL_RANGE(ClassTemplateSpecialization, ClassTemplateSpecialization, ClassTemplatePartialSpecialization) 263 264#undef CLASSTEMPLATESPECIALIZATION 265 266DECL_RANGE(CXXRecord, CXXRecord, ClassTemplatePartialSpecialization) 267 268#undef CXXRECORD 269 270DECL_RANGE(Record, Record, ClassTemplatePartialSpecialization) 271 272#undef RECORD 273 274DECL_RANGE(Tag, Enum, ClassTemplatePartialSpecialization) 275 276#undef TAG 277 278#ifndef TEMPLATETYPEPARM 279# define TEMPLATETYPEPARM(Type, Base) TYPE(Type, Base) 280#endif 281TEMPLATETYPEPARM(TemplateTypeParm, TypeDecl) 282#undef TEMPLATETYPEPARM 283 284#ifndef TYPEDEFNAME 285# define TYPEDEFNAME(Type, Base) TYPE(Type, Base) 286#endif 287ABSTRACT_DECL(TYPEDEFNAME(TypedefName, TypeDecl)) 288#ifndef OBJCTYPEPARAM 289# define OBJCTYPEPARAM(Type, Base) TYPEDEFNAME(Type, Base) 290#endif 291OBJCTYPEPARAM(ObjCTypeParam, TypedefNameDecl) 292#undef OBJCTYPEPARAM 293 294#ifndef TYPEALIAS 295# define TYPEALIAS(Type, Base) TYPEDEFNAME(Type, Base) 296#endif 297TYPEALIAS(TypeAlias, TypedefNameDecl) 298#undef TYPEALIAS 299 300#ifndef TYPEDEF 301# define TYPEDEF(Type, Base) TYPEDEFNAME(Type, Base) 302#endif 303TYPEDEF(Typedef, TypedefNameDecl) 304#undef TYPEDEF 305 306DECL_RANGE(TypedefName, ObjCTypeParam, Typedef) 307 308#undef TYPEDEFNAME 309 310#ifndef UNRESOLVEDUSINGTYPENAME 311# define UNRESOLVEDUSINGTYPENAME(Type, Base) TYPE(Type, Base) 312#endif 313UNRESOLVEDUSINGTYPENAME(UnresolvedUsingTypename, TypeDecl) 314#undef UNRESOLVEDUSINGTYPENAME 315 316DECL_RANGE(Type, Enum, UnresolvedUsingTypename) 317 318#undef TYPE 319 320#ifndef USING 321# define USING(Type, Base) NAMED(Type, Base) 322#endif 323USING(Using, NamedDecl) 324#undef USING 325 326#ifndef USINGDIRECTIVE 327# define USINGDIRECTIVE(Type, Base) NAMED(Type, Base) 328#endif 329USINGDIRECTIVE(UsingDirective, NamedDecl) 330#undef USINGDIRECTIVE 331 332#ifndef USINGPACK 333# define USINGPACK(Type, Base) NAMED(Type, Base) 334#endif 335USINGPACK(UsingPack, NamedDecl) 336#undef USINGPACK 337 338#ifndef USINGSHADOW 339# define USINGSHADOW(Type, Base) NAMED(Type, Base) 340#endif 341USINGSHADOW(UsingShadow, NamedDecl) 342#ifndef CONSTRUCTORUSINGSHADOW 343# define CONSTRUCTORUSINGSHADOW(Type, Base) USINGSHADOW(Type, Base) 344#endif 345CONSTRUCTORUSINGSHADOW(ConstructorUsingShadow, UsingShadowDecl) 346#undef CONSTRUCTORUSINGSHADOW 347 348DECL_RANGE(UsingShadow, UsingShadow, ConstructorUsingShadow) 349 350#undef USINGSHADOW 351 352#ifndef VALUE 353# define VALUE(Type, Base) NAMED(Type, Base) 354#endif 355ABSTRACT_DECL(VALUE(Value, NamedDecl)) 356#ifndef BINDING 357# define BINDING(Type, Base) VALUE(Type, Base) 358#endif 359BINDING(Binding, ValueDecl) 360#undef BINDING 361 362#ifndef DECLARATOR 363# define DECLARATOR(Type, Base) VALUE(Type, Base) 364#endif 365ABSTRACT_DECL(DECLARATOR(Declarator, ValueDecl)) 366#ifndef FIELD 367# define FIELD(Type, Base) DECLARATOR(Type, Base) 368#endif 369FIELD(Field, DeclaratorDecl) 370#ifndef OBJCATDEFSFIELD 371# define OBJCATDEFSFIELD(Type, Base) FIELD(Type, Base) 372#endif 373OBJCATDEFSFIELD(ObjCAtDefsField, FieldDecl) 374#undef OBJCATDEFSFIELD 375 376#ifndef OBJCIVAR 377# define OBJCIVAR(Type, Base) FIELD(Type, Base) 378#endif 379OBJCIVAR(ObjCIvar, FieldDecl) 380#undef OBJCIVAR 381 382DECL_RANGE(Field, Field, ObjCIvar) 383 384#undef FIELD 385 386#ifndef FUNCTION 387# define FUNCTION(Type, Base) DECLARATOR(Type, Base) 388#endif 389FUNCTION(Function, DeclaratorDecl) 390#ifndef CXXDEDUCTIONGUIDE 391# define CXXDEDUCTIONGUIDE(Type, Base) FUNCTION(Type, Base) 392#endif 393CXXDEDUCTIONGUIDE(CXXDeductionGuide, FunctionDecl) 394#undef CXXDEDUCTIONGUIDE 395 396#ifndef CXXMETHOD 397# define CXXMETHOD(Type, Base) FUNCTION(Type, Base) 398#endif 399CXXMETHOD(CXXMethod, FunctionDecl) 400#ifndef CXXCONSTRUCTOR 401# define CXXCONSTRUCTOR(Type, Base) CXXMETHOD(Type, Base) 402#endif 403CXXCONSTRUCTOR(CXXConstructor, CXXMethodDecl) 404#undef CXXCONSTRUCTOR 405 406#ifndef CXXCONVERSION 407# define CXXCONVERSION(Type, Base) CXXMETHOD(Type, Base) 408#endif 409CXXCONVERSION(CXXConversion, CXXMethodDecl) 410#undef CXXCONVERSION 411 412#ifndef CXXDESTRUCTOR 413# define CXXDESTRUCTOR(Type, Base) CXXMETHOD(Type, Base) 414#endif 415CXXDESTRUCTOR(CXXDestructor, CXXMethodDecl) 416#undef CXXDESTRUCTOR 417 418DECL_RANGE(CXXMethod, CXXMethod, CXXDestructor) 419 420#undef CXXMETHOD 421 422DECL_RANGE(Function, Function, CXXDestructor) 423 424#undef FUNCTION 425 426#ifndef MSPROPERTY 427# define MSPROPERTY(Type, Base) DECLARATOR(Type, Base) 428#endif 429MSPROPERTY(MSProperty, DeclaratorDecl) 430#undef MSPROPERTY 431 432#ifndef NONTYPETEMPLATEPARM 433# define NONTYPETEMPLATEPARM(Type, Base) DECLARATOR(Type, Base) 434#endif 435NONTYPETEMPLATEPARM(NonTypeTemplateParm, DeclaratorDecl) 436#undef NONTYPETEMPLATEPARM 437 438#ifndef VAR 439# define VAR(Type, Base) DECLARATOR(Type, Base) 440#endif 441VAR(Var, DeclaratorDecl) 442#ifndef DECOMPOSITION 443# define DECOMPOSITION(Type, Base) VAR(Type, Base) 444#endif 445DECOMPOSITION(Decomposition, VarDecl) 446#undef DECOMPOSITION 447 448#ifndef IMPLICITPARAM 449# define IMPLICITPARAM(Type, Base) VAR(Type, Base) 450#endif 451IMPLICITPARAM(ImplicitParam, VarDecl) 452#undef IMPLICITPARAM 453 454#ifndef OMPCAPTUREDEXPR 455# define OMPCAPTUREDEXPR(Type, Base) VAR(Type, Base) 456#endif 457OMPCAPTUREDEXPR(OMPCapturedExpr, VarDecl) 458#undef OMPCAPTUREDEXPR 459 460#ifndef PARMVAR 461# define PARMVAR(Type, Base) VAR(Type, Base) 462#endif 463PARMVAR(ParmVar, VarDecl) 464#undef PARMVAR 465 466#ifndef VARTEMPLATESPECIALIZATION 467# define VARTEMPLATESPECIALIZATION(Type, Base) VAR(Type, Base) 468#endif 469VARTEMPLATESPECIALIZATION(VarTemplateSpecialization, VarDecl) 470#ifndef VARTEMPLATEPARTIALSPECIALIZATION 471# define VARTEMPLATEPARTIALSPECIALIZATION(Type, Base) VARTEMPLATESPECIALIZATION(Type, Base) 472#endif 473VARTEMPLATEPARTIALSPECIALIZATION(VarTemplatePartialSpecialization, VarTemplateSpecializationDecl) 474#undef VARTEMPLATEPARTIALSPECIALIZATION 475 476DECL_RANGE(VarTemplateSpecialization, VarTemplateSpecialization, VarTemplatePartialSpecialization) 477 478#undef VARTEMPLATESPECIALIZATION 479 480DECL_RANGE(Var, Var, VarTemplatePartialSpecialization) 481 482#undef VAR 483 484DECL_RANGE(Declarator, Field, VarTemplatePartialSpecialization) 485 486#undef DECLARATOR 487 488#ifndef ENUMCONSTANT 489# define ENUMCONSTANT(Type, Base) VALUE(Type, Base) 490#endif 491ENUMCONSTANT(EnumConstant, ValueDecl) 492#undef ENUMCONSTANT 493 494#ifndef INDIRECTFIELD 495# define INDIRECTFIELD(Type, Base) VALUE(Type, Base) 496#endif 497INDIRECTFIELD(IndirectField, ValueDecl) 498#undef INDIRECTFIELD 499 500#ifndef OMPDECLAREREDUCTION 501# define OMPDECLAREREDUCTION(Type, Base) VALUE(Type, Base) 502#endif 503OMPDECLAREREDUCTION(OMPDeclareReduction, ValueDecl) 504#undef OMPDECLAREREDUCTION 505 506#ifndef UNRESOLVEDUSINGVALUE 507# define UNRESOLVEDUSINGVALUE(Type, Base) VALUE(Type, Base) 508#endif 509UNRESOLVEDUSINGVALUE(UnresolvedUsingValue, ValueDecl) 510#undef UNRESOLVEDUSINGVALUE 511 512DECL_RANGE(Value, Binding, UnresolvedUsingValue) 513 514#undef VALUE 515 516DECL_RANGE(Named, Label, UnresolvedUsingValue) 517 518#undef NAMED 519 520#ifndef OMPTHREADPRIVATE 521# define OMPTHREADPRIVATE(Type, Base) DECL(Type, Base) 522#endif 523OMPTHREADPRIVATE(OMPThreadPrivate, Decl) 524#undef OMPTHREADPRIVATE 525 526#ifndef OBJCPROPERTYIMPL 527# define OBJCPROPERTYIMPL(Type, Base) DECL(Type, Base) 528#endif 529OBJCPROPERTYIMPL(ObjCPropertyImpl, Decl) 530#undef OBJCPROPERTYIMPL 531 532#ifndef PRAGMACOMMENT 533# define PRAGMACOMMENT(Type, Base) DECL(Type, Base) 534#endif 535PRAGMACOMMENT(PragmaComment, Decl) 536#undef PRAGMACOMMENT 537 538#ifndef PRAGMADETECTMISMATCH 539# define PRAGMADETECTMISMATCH(Type, Base) DECL(Type, Base) 540#endif 541PRAGMADETECTMISMATCH(PragmaDetectMismatch, Decl) 542#undef PRAGMADETECTMISMATCH 543 544#ifndef STATICASSERT 545# define STATICASSERT(Type, Base) DECL(Type, Base) 546#endif 547STATICASSERT(StaticAssert, Decl) 548#undef STATICASSERT 549 550#ifndef TRANSLATIONUNIT 551# define TRANSLATIONUNIT(Type, Base) DECL(Type, Base) 552#endif 553TRANSLATIONUNIT(TranslationUnit, Decl) 554#undef TRANSLATIONUNIT 555 556LAST_DECL_RANGE(Decl, AccessSpec, TranslationUnit) 557 558#undef DECL 559#undef DECL_RANGE 560#undef LAST_DECL_RANGE 561#undef ABSTRACT_DECL 562/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ 563|* *| 564|* List of AST Decl nodes *| 565|* *| 566|* Automatically generated file, do not edit! *| 567|* *| 568\*===----------------------------------------------------------------------===*/ 569 570#ifndef DECL_CONTEXT 571# define DECL_CONTEXT(DECL) 572#endif 573#ifndef DECL_CONTEXT_BASE 574# define DECL_CONTEXT_BASE(DECL) DECL_CONTEXT(DECL) 575#endif 576DECL_CONTEXT_BASE(Function) 577DECL_CONTEXT_BASE(Tag) 578DECL_CONTEXT_BASE(ObjCContainer) 579DECL_CONTEXT(Block) 580DECL_CONTEXT(Captured) 581DECL_CONTEXT(Export) 582DECL_CONTEXT(ExternCContext) 583DECL_CONTEXT(LinkageSpec) 584DECL_CONTEXT(Namespace) 585DECL_CONTEXT(OMPDeclareReduction) 586DECL_CONTEXT(ObjCMethod) 587DECL_CONTEXT(TranslationUnit) 588#undef DECL_CONTEXT 589#undef DECL_CONTEXT_BASE 590