Warning, /include/clang/AST/DeclNodes.inc is written in an unsupported language. File is not indexed.
0001 /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
0002 |* *|
0003 |* List of AST nodes of a particular kind *|
0004 |* *|
0005 |* Automatically generated file, do not edit! *|
0006 |* From: DeclNodes.td *|
0007 |* *|
0008 \*===----------------------------------------------------------------------===*/
0009
0010 #ifndef ABSTRACT_DECL
0011 # define ABSTRACT_DECL(Type) Type
0012 #endif
0013 #ifndef DECL_RANGE
0014 # define DECL_RANGE(Base, First, Last)
0015 #endif
0016
0017 #ifndef LAST_DECL_RANGE
0018 # define LAST_DECL_RANGE(Base, First, Last) DECL_RANGE(Base, First, Last)
0019 #endif
0020
0021 #ifndef TRANSLATIONUNIT
0022 # define TRANSLATIONUNIT(Type, Base) DECL(Type, Base)
0023 #endif
0024 TRANSLATIONUNIT(TranslationUnit, Decl)
0025 #undef TRANSLATIONUNIT
0026
0027 #ifndef TOPLEVELSTMT
0028 # define TOPLEVELSTMT(Type, Base) DECL(Type, Base)
0029 #endif
0030 TOPLEVELSTMT(TopLevelStmt, Decl)
0031 #undef TOPLEVELSTMT
0032
0033 #ifndef REQUIRESEXPRBODY
0034 # define REQUIRESEXPRBODY(Type, Base) DECL(Type, Base)
0035 #endif
0036 REQUIRESEXPRBODY(RequiresExprBody, Decl)
0037 #undef REQUIRESEXPRBODY
0038
0039 #ifndef OUTLINEDFUNCTION
0040 # define OUTLINEDFUNCTION(Type, Base) DECL(Type, Base)
0041 #endif
0042 OUTLINEDFUNCTION(OutlinedFunction, Decl)
0043 #undef OUTLINEDFUNCTION
0044
0045 #ifndef LINKAGESPEC
0046 # define LINKAGESPEC(Type, Base) DECL(Type, Base)
0047 #endif
0048 LINKAGESPEC(LinkageSpec, Decl)
0049 #undef LINKAGESPEC
0050
0051 #ifndef EXTERNCCONTEXT
0052 # define EXTERNCCONTEXT(Type, Base) DECL(Type, Base)
0053 #endif
0054 EXTERNCCONTEXT(ExternCContext, Decl)
0055 #undef EXTERNCCONTEXT
0056
0057 #ifndef EXPORT
0058 # define EXPORT(Type, Base) DECL(Type, Base)
0059 #endif
0060 EXPORT(Export, Decl)
0061 #undef EXPORT
0062
0063 #ifndef CAPTURED
0064 # define CAPTURED(Type, Base) DECL(Type, Base)
0065 #endif
0066 CAPTURED(Captured, Decl)
0067 #undef CAPTURED
0068
0069 #ifndef BLOCK
0070 # define BLOCK(Type, Base) DECL(Type, Base)
0071 #endif
0072 BLOCK(Block, Decl)
0073 #undef BLOCK
0074
0075 #ifndef STATICASSERT
0076 # define STATICASSERT(Type, Base) DECL(Type, Base)
0077 #endif
0078 STATICASSERT(StaticAssert, Decl)
0079 #undef STATICASSERT
0080
0081 #ifndef PRAGMADETECTMISMATCH
0082 # define PRAGMADETECTMISMATCH(Type, Base) DECL(Type, Base)
0083 #endif
0084 PRAGMADETECTMISMATCH(PragmaDetectMismatch, Decl)
0085 #undef PRAGMADETECTMISMATCH
0086
0087 #ifndef PRAGMACOMMENT
0088 # define PRAGMACOMMENT(Type, Base) DECL(Type, Base)
0089 #endif
0090 PRAGMACOMMENT(PragmaComment, Decl)
0091 #undef PRAGMACOMMENT
0092
0093 #ifndef OBJCPROPERTYIMPL
0094 # define OBJCPROPERTYIMPL(Type, Base) DECL(Type, Base)
0095 #endif
0096 OBJCPROPERTYIMPL(ObjCPropertyImpl, Decl)
0097 #undef OBJCPROPERTYIMPL
0098
0099 #ifndef OMPTHREADPRIVATE
0100 # define OMPTHREADPRIVATE(Type, Base) DECL(Type, Base)
0101 #endif
0102 OMPTHREADPRIVATE(OMPThreadPrivate, Decl)
0103 #undef OMPTHREADPRIVATE
0104
0105 #ifndef OMPREQUIRES
0106 # define OMPREQUIRES(Type, Base) DECL(Type, Base)
0107 #endif
0108 OMPREQUIRES(OMPRequires, Decl)
0109 #undef OMPREQUIRES
0110
0111 #ifndef OMPALLOCATE
0112 # define OMPALLOCATE(Type, Base) DECL(Type, Base)
0113 #endif
0114 OMPALLOCATE(OMPAllocate, Decl)
0115 #undef OMPALLOCATE
0116
0117 #ifndef NAMED
0118 # define NAMED(Type, Base) DECL(Type, Base)
0119 #endif
0120 ABSTRACT_DECL(NAMED(Named, Decl))
0121 #ifndef OBJCMETHOD
0122 # define OBJCMETHOD(Type, Base) NAMED(Type, Base)
0123 #endif
0124 OBJCMETHOD(ObjCMethod, NamedDecl)
0125 #undef OBJCMETHOD
0126
0127 #ifndef OBJCCONTAINER
0128 # define OBJCCONTAINER(Type, Base) NAMED(Type, Base)
0129 #endif
0130 ABSTRACT_DECL(OBJCCONTAINER(ObjCContainer, NamedDecl))
0131 #ifndef OBJCPROTOCOL
0132 # define OBJCPROTOCOL(Type, Base) OBJCCONTAINER(Type, Base)
0133 #endif
0134 OBJCPROTOCOL(ObjCProtocol, ObjCContainerDecl)
0135 #undef OBJCPROTOCOL
0136
0137 #ifndef OBJCINTERFACE
0138 # define OBJCINTERFACE(Type, Base) OBJCCONTAINER(Type, Base)
0139 #endif
0140 OBJCINTERFACE(ObjCInterface, ObjCContainerDecl)
0141 #undef OBJCINTERFACE
0142
0143 #ifndef OBJCIMPL
0144 # define OBJCIMPL(Type, Base) OBJCCONTAINER(Type, Base)
0145 #endif
0146 ABSTRACT_DECL(OBJCIMPL(ObjCImpl, ObjCContainerDecl))
0147 #ifndef OBJCIMPLEMENTATION
0148 # define OBJCIMPLEMENTATION(Type, Base) OBJCIMPL(Type, Base)
0149 #endif
0150 OBJCIMPLEMENTATION(ObjCImplementation, ObjCImplDecl)
0151 #undef OBJCIMPLEMENTATION
0152
0153 #ifndef OBJCCATEGORYIMPL
0154 # define OBJCCATEGORYIMPL(Type, Base) OBJCIMPL(Type, Base)
0155 #endif
0156 OBJCCATEGORYIMPL(ObjCCategoryImpl, ObjCImplDecl)
0157 #undef OBJCCATEGORYIMPL
0158
0159 DECL_RANGE(ObjCImpl, ObjCImplementation, ObjCCategoryImpl)
0160
0161 #undef OBJCIMPL
0162
0163 #ifndef OBJCCATEGORY
0164 # define OBJCCATEGORY(Type, Base) OBJCCONTAINER(Type, Base)
0165 #endif
0166 OBJCCATEGORY(ObjCCategory, ObjCContainerDecl)
0167 #undef OBJCCATEGORY
0168
0169 DECL_RANGE(ObjCContainer, ObjCProtocol, ObjCCategory)
0170
0171 #undef OBJCCONTAINER
0172
0173 #ifndef NAMESPACE
0174 # define NAMESPACE(Type, Base) NAMED(Type, Base)
0175 #endif
0176 NAMESPACE(Namespace, NamedDecl)
0177 #undef NAMESPACE
0178
0179 #ifndef HLSLBUFFER
0180 # define HLSLBUFFER(Type, Base) NAMED(Type, Base)
0181 #endif
0182 HLSLBUFFER(HLSLBuffer, NamedDecl)
0183 #undef HLSLBUFFER
0184
0185 #ifndef VALUE
0186 # define VALUE(Type, Base) NAMED(Type, Base)
0187 #endif
0188 ABSTRACT_DECL(VALUE(Value, NamedDecl))
0189 #ifndef OMPDECLAREREDUCTION
0190 # define OMPDECLAREREDUCTION(Type, Base) VALUE(Type, Base)
0191 #endif
0192 OMPDECLAREREDUCTION(OMPDeclareReduction, ValueDecl)
0193 #undef OMPDECLAREREDUCTION
0194
0195 #ifndef OMPDECLAREMAPPER
0196 # define OMPDECLAREMAPPER(Type, Base) VALUE(Type, Base)
0197 #endif
0198 OMPDECLAREMAPPER(OMPDeclareMapper, ValueDecl)
0199 #undef OMPDECLAREMAPPER
0200
0201 #ifndef UNRESOLVEDUSINGVALUE
0202 # define UNRESOLVEDUSINGVALUE(Type, Base) VALUE(Type, Base)
0203 #endif
0204 UNRESOLVEDUSINGVALUE(UnresolvedUsingValue, ValueDecl)
0205 #undef UNRESOLVEDUSINGVALUE
0206
0207 #ifndef UNNAMEDGLOBALCONSTANT
0208 # define UNNAMEDGLOBALCONSTANT(Type, Base) VALUE(Type, Base)
0209 #endif
0210 UNNAMEDGLOBALCONSTANT(UnnamedGlobalConstant, ValueDecl)
0211 #undef UNNAMEDGLOBALCONSTANT
0212
0213 #ifndef TEMPLATEPARAMOBJECT
0214 # define TEMPLATEPARAMOBJECT(Type, Base) VALUE(Type, Base)
0215 #endif
0216 TEMPLATEPARAMOBJECT(TemplateParamObject, ValueDecl)
0217 #undef TEMPLATEPARAMOBJECT
0218
0219 #ifndef MSGUID
0220 # define MSGUID(Type, Base) VALUE(Type, Base)
0221 #endif
0222 MSGUID(MSGuid, ValueDecl)
0223 #undef MSGUID
0224
0225 #ifndef INDIRECTFIELD
0226 # define INDIRECTFIELD(Type, Base) VALUE(Type, Base)
0227 #endif
0228 INDIRECTFIELD(IndirectField, ValueDecl)
0229 #undef INDIRECTFIELD
0230
0231 #ifndef ENUMCONSTANT
0232 # define ENUMCONSTANT(Type, Base) VALUE(Type, Base)
0233 #endif
0234 ENUMCONSTANT(EnumConstant, ValueDecl)
0235 #undef ENUMCONSTANT
0236
0237 #ifndef DECLARATOR
0238 # define DECLARATOR(Type, Base) VALUE(Type, Base)
0239 #endif
0240 ABSTRACT_DECL(DECLARATOR(Declarator, ValueDecl))
0241 #ifndef FUNCTION
0242 # define FUNCTION(Type, Base) DECLARATOR(Type, Base)
0243 #endif
0244 FUNCTION(Function, DeclaratorDecl)
0245 #ifndef CXXMETHOD
0246 # define CXXMETHOD(Type, Base) FUNCTION(Type, Base)
0247 #endif
0248 CXXMETHOD(CXXMethod, FunctionDecl)
0249 #ifndef CXXDESTRUCTOR
0250 # define CXXDESTRUCTOR(Type, Base) CXXMETHOD(Type, Base)
0251 #endif
0252 CXXDESTRUCTOR(CXXDestructor, CXXMethodDecl)
0253 #undef CXXDESTRUCTOR
0254
0255 #ifndef CXXCONVERSION
0256 # define CXXCONVERSION(Type, Base) CXXMETHOD(Type, Base)
0257 #endif
0258 CXXCONVERSION(CXXConversion, CXXMethodDecl)
0259 #undef CXXCONVERSION
0260
0261 #ifndef CXXCONSTRUCTOR
0262 # define CXXCONSTRUCTOR(Type, Base) CXXMETHOD(Type, Base)
0263 #endif
0264 CXXCONSTRUCTOR(CXXConstructor, CXXMethodDecl)
0265 #undef CXXCONSTRUCTOR
0266
0267 DECL_RANGE(CXXMethod, CXXMethod, CXXConstructor)
0268
0269 #undef CXXMETHOD
0270
0271 #ifndef CXXDEDUCTIONGUIDE
0272 # define CXXDEDUCTIONGUIDE(Type, Base) FUNCTION(Type, Base)
0273 #endif
0274 CXXDEDUCTIONGUIDE(CXXDeductionGuide, FunctionDecl)
0275 #undef CXXDEDUCTIONGUIDE
0276
0277 DECL_RANGE(Function, Function, CXXDeductionGuide)
0278
0279 #undef FUNCTION
0280
0281 #ifndef VAR
0282 # define VAR(Type, Base) DECLARATOR(Type, Base)
0283 #endif
0284 VAR(Var, DeclaratorDecl)
0285 #ifndef VARTEMPLATESPECIALIZATION
0286 # define VARTEMPLATESPECIALIZATION(Type, Base) VAR(Type, Base)
0287 #endif
0288 VARTEMPLATESPECIALIZATION(VarTemplateSpecialization, VarDecl)
0289 #ifndef VARTEMPLATEPARTIALSPECIALIZATION
0290 # define VARTEMPLATEPARTIALSPECIALIZATION(Type, Base) VARTEMPLATESPECIALIZATION(Type, Base)
0291 #endif
0292 VARTEMPLATEPARTIALSPECIALIZATION(VarTemplatePartialSpecialization, VarTemplateSpecializationDecl)
0293 #undef VARTEMPLATEPARTIALSPECIALIZATION
0294
0295 DECL_RANGE(VarTemplateSpecialization, VarTemplateSpecialization, VarTemplatePartialSpecialization)
0296
0297 #undef VARTEMPLATESPECIALIZATION
0298
0299 #ifndef PARMVAR
0300 # define PARMVAR(Type, Base) VAR(Type, Base)
0301 #endif
0302 PARMVAR(ParmVar, VarDecl)
0303 #undef PARMVAR
0304
0305 #ifndef OMPCAPTUREDEXPR
0306 # define OMPCAPTUREDEXPR(Type, Base) VAR(Type, Base)
0307 #endif
0308 OMPCAPTUREDEXPR(OMPCapturedExpr, VarDecl)
0309 #undef OMPCAPTUREDEXPR
0310
0311 #ifndef IMPLICITPARAM
0312 # define IMPLICITPARAM(Type, Base) VAR(Type, Base)
0313 #endif
0314 IMPLICITPARAM(ImplicitParam, VarDecl)
0315 #undef IMPLICITPARAM
0316
0317 #ifndef DECOMPOSITION
0318 # define DECOMPOSITION(Type, Base) VAR(Type, Base)
0319 #endif
0320 DECOMPOSITION(Decomposition, VarDecl)
0321 #undef DECOMPOSITION
0322
0323 DECL_RANGE(Var, Var, Decomposition)
0324
0325 #undef VAR
0326
0327 #ifndef NONTYPETEMPLATEPARM
0328 # define NONTYPETEMPLATEPARM(Type, Base) DECLARATOR(Type, Base)
0329 #endif
0330 NONTYPETEMPLATEPARM(NonTypeTemplateParm, DeclaratorDecl)
0331 #undef NONTYPETEMPLATEPARM
0332
0333 #ifndef MSPROPERTY
0334 # define MSPROPERTY(Type, Base) DECLARATOR(Type, Base)
0335 #endif
0336 MSPROPERTY(MSProperty, DeclaratorDecl)
0337 #undef MSPROPERTY
0338
0339 #ifndef FIELD
0340 # define FIELD(Type, Base) DECLARATOR(Type, Base)
0341 #endif
0342 FIELD(Field, DeclaratorDecl)
0343 #ifndef OBJCIVAR
0344 # define OBJCIVAR(Type, Base) FIELD(Type, Base)
0345 #endif
0346 OBJCIVAR(ObjCIvar, FieldDecl)
0347 #undef OBJCIVAR
0348
0349 #ifndef OBJCATDEFSFIELD
0350 # define OBJCATDEFSFIELD(Type, Base) FIELD(Type, Base)
0351 #endif
0352 OBJCATDEFSFIELD(ObjCAtDefsField, FieldDecl)
0353 #undef OBJCATDEFSFIELD
0354
0355 DECL_RANGE(Field, Field, ObjCAtDefsField)
0356
0357 #undef FIELD
0358
0359 DECL_RANGE(Declarator, Function, ObjCAtDefsField)
0360
0361 #undef DECLARATOR
0362
0363 #ifndef BINDING
0364 # define BINDING(Type, Base) VALUE(Type, Base)
0365 #endif
0366 BINDING(Binding, ValueDecl)
0367 #undef BINDING
0368
0369 DECL_RANGE(Value, OMPDeclareReduction, Binding)
0370
0371 #undef VALUE
0372
0373 #ifndef USINGSHADOW
0374 # define USINGSHADOW(Type, Base) NAMED(Type, Base)
0375 #endif
0376 USINGSHADOW(UsingShadow, NamedDecl)
0377 #ifndef CONSTRUCTORUSINGSHADOW
0378 # define CONSTRUCTORUSINGSHADOW(Type, Base) USINGSHADOW(Type, Base)
0379 #endif
0380 CONSTRUCTORUSINGSHADOW(ConstructorUsingShadow, UsingShadowDecl)
0381 #undef CONSTRUCTORUSINGSHADOW
0382
0383 DECL_RANGE(UsingShadow, UsingShadow, ConstructorUsingShadow)
0384
0385 #undef USINGSHADOW
0386
0387 #ifndef USINGPACK
0388 # define USINGPACK(Type, Base) NAMED(Type, Base)
0389 #endif
0390 USINGPACK(UsingPack, NamedDecl)
0391 #undef USINGPACK
0392
0393 #ifndef USINGDIRECTIVE
0394 # define USINGDIRECTIVE(Type, Base) NAMED(Type, Base)
0395 #endif
0396 USINGDIRECTIVE(UsingDirective, NamedDecl)
0397 #undef USINGDIRECTIVE
0398
0399 #ifndef UNRESOLVEDUSINGIFEXISTS
0400 # define UNRESOLVEDUSINGIFEXISTS(Type, Base) NAMED(Type, Base)
0401 #endif
0402 UNRESOLVEDUSINGIFEXISTS(UnresolvedUsingIfExists, NamedDecl)
0403 #undef UNRESOLVEDUSINGIFEXISTS
0404
0405 #ifndef TYPE
0406 # define TYPE(Type, Base) NAMED(Type, Base)
0407 #endif
0408 ABSTRACT_DECL(TYPE(Type, NamedDecl))
0409 #ifndef TAG
0410 # define TAG(Type, Base) TYPE(Type, Base)
0411 #endif
0412 ABSTRACT_DECL(TAG(Tag, TypeDecl))
0413 #ifndef RECORD
0414 # define RECORD(Type, Base) TAG(Type, Base)
0415 #endif
0416 RECORD(Record, TagDecl)
0417 #ifndef CXXRECORD
0418 # define CXXRECORD(Type, Base) RECORD(Type, Base)
0419 #endif
0420 CXXRECORD(CXXRecord, RecordDecl)
0421 #ifndef CLASSTEMPLATESPECIALIZATION
0422 # define CLASSTEMPLATESPECIALIZATION(Type, Base) CXXRECORD(Type, Base)
0423 #endif
0424 CLASSTEMPLATESPECIALIZATION(ClassTemplateSpecialization, CXXRecordDecl)
0425 #ifndef CLASSTEMPLATEPARTIALSPECIALIZATION
0426 # define CLASSTEMPLATEPARTIALSPECIALIZATION(Type, Base) CLASSTEMPLATESPECIALIZATION(Type, Base)
0427 #endif
0428 CLASSTEMPLATEPARTIALSPECIALIZATION(ClassTemplatePartialSpecialization, ClassTemplateSpecializationDecl)
0429 #undef CLASSTEMPLATEPARTIALSPECIALIZATION
0430
0431 DECL_RANGE(ClassTemplateSpecialization, ClassTemplateSpecialization, ClassTemplatePartialSpecialization)
0432
0433 #undef CLASSTEMPLATESPECIALIZATION
0434
0435 DECL_RANGE(CXXRecord, CXXRecord, ClassTemplatePartialSpecialization)
0436
0437 #undef CXXRECORD
0438
0439 DECL_RANGE(Record, Record, ClassTemplatePartialSpecialization)
0440
0441 #undef RECORD
0442
0443 #ifndef ENUM
0444 # define ENUM(Type, Base) TAG(Type, Base)
0445 #endif
0446 ENUM(Enum, TagDecl)
0447 #undef ENUM
0448
0449 DECL_RANGE(Tag, Record, Enum)
0450
0451 #undef TAG
0452
0453 #ifndef UNRESOLVEDUSINGTYPENAME
0454 # define UNRESOLVEDUSINGTYPENAME(Type, Base) TYPE(Type, Base)
0455 #endif
0456 UNRESOLVEDUSINGTYPENAME(UnresolvedUsingTypename, TypeDecl)
0457 #undef UNRESOLVEDUSINGTYPENAME
0458
0459 #ifndef TYPEDEFNAME
0460 # define TYPEDEFNAME(Type, Base) TYPE(Type, Base)
0461 #endif
0462 ABSTRACT_DECL(TYPEDEFNAME(TypedefName, TypeDecl))
0463 #ifndef TYPEDEF
0464 # define TYPEDEF(Type, Base) TYPEDEFNAME(Type, Base)
0465 #endif
0466 TYPEDEF(Typedef, TypedefNameDecl)
0467 #undef TYPEDEF
0468
0469 #ifndef TYPEALIAS
0470 # define TYPEALIAS(Type, Base) TYPEDEFNAME(Type, Base)
0471 #endif
0472 TYPEALIAS(TypeAlias, TypedefNameDecl)
0473 #undef TYPEALIAS
0474
0475 #ifndef OBJCTYPEPARAM
0476 # define OBJCTYPEPARAM(Type, Base) TYPEDEFNAME(Type, Base)
0477 #endif
0478 OBJCTYPEPARAM(ObjCTypeParam, TypedefNameDecl)
0479 #undef OBJCTYPEPARAM
0480
0481 DECL_RANGE(TypedefName, Typedef, ObjCTypeParam)
0482
0483 #undef TYPEDEFNAME
0484
0485 #ifndef TEMPLATETYPEPARM
0486 # define TEMPLATETYPEPARM(Type, Base) TYPE(Type, Base)
0487 #endif
0488 TEMPLATETYPEPARM(TemplateTypeParm, TypeDecl)
0489 #undef TEMPLATETYPEPARM
0490
0491 DECL_RANGE(Type, Record, TemplateTypeParm)
0492
0493 #undef TYPE
0494
0495 #ifndef TEMPLATE
0496 # define TEMPLATE(Type, Base) NAMED(Type, Base)
0497 #endif
0498 ABSTRACT_DECL(TEMPLATE(Template, NamedDecl))
0499 #ifndef TEMPLATETEMPLATEPARM
0500 # define TEMPLATETEMPLATEPARM(Type, Base) TEMPLATE(Type, Base)
0501 #endif
0502 TEMPLATETEMPLATEPARM(TemplateTemplateParm, TemplateDecl)
0503 #undef TEMPLATETEMPLATEPARM
0504
0505 #ifndef REDECLARABLETEMPLATE
0506 # define REDECLARABLETEMPLATE(Type, Base) TEMPLATE(Type, Base)
0507 #endif
0508 ABSTRACT_DECL(REDECLARABLETEMPLATE(RedeclarableTemplate, TemplateDecl))
0509 #ifndef VARTEMPLATE
0510 # define VARTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base)
0511 #endif
0512 VARTEMPLATE(VarTemplate, RedeclarableTemplateDecl)
0513 #undef VARTEMPLATE
0514
0515 #ifndef TYPEALIASTEMPLATE
0516 # define TYPEALIASTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base)
0517 #endif
0518 TYPEALIASTEMPLATE(TypeAliasTemplate, RedeclarableTemplateDecl)
0519 #undef TYPEALIASTEMPLATE
0520
0521 #ifndef FUNCTIONTEMPLATE
0522 # define FUNCTIONTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base)
0523 #endif
0524 FUNCTIONTEMPLATE(FunctionTemplate, RedeclarableTemplateDecl)
0525 #undef FUNCTIONTEMPLATE
0526
0527 #ifndef CLASSTEMPLATE
0528 # define CLASSTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base)
0529 #endif
0530 CLASSTEMPLATE(ClassTemplate, RedeclarableTemplateDecl)
0531 #undef CLASSTEMPLATE
0532
0533 DECL_RANGE(RedeclarableTemplate, VarTemplate, ClassTemplate)
0534
0535 #undef REDECLARABLETEMPLATE
0536
0537 #ifndef CONCEPT
0538 # define CONCEPT(Type, Base) TEMPLATE(Type, Base)
0539 #endif
0540 CONCEPT(Concept, TemplateDecl)
0541 #undef CONCEPT
0542
0543 #ifndef BUILTINTEMPLATE
0544 # define BUILTINTEMPLATE(Type, Base) TEMPLATE(Type, Base)
0545 #endif
0546 BUILTINTEMPLATE(BuiltinTemplate, TemplateDecl)
0547 #undef BUILTINTEMPLATE
0548
0549 DECL_RANGE(Template, TemplateTemplateParm, BuiltinTemplate)
0550
0551 #undef TEMPLATE
0552
0553 #ifndef OBJCPROPERTY
0554 # define OBJCPROPERTY(Type, Base) NAMED(Type, Base)
0555 #endif
0556 OBJCPROPERTY(ObjCProperty, NamedDecl)
0557 #undef OBJCPROPERTY
0558
0559 #ifndef OBJCCOMPATIBLEALIAS
0560 # define OBJCCOMPATIBLEALIAS(Type, Base) NAMED(Type, Base)
0561 #endif
0562 OBJCCOMPATIBLEALIAS(ObjCCompatibleAlias, NamedDecl)
0563 #undef OBJCCOMPATIBLEALIAS
0564
0565 #ifndef NAMESPACEALIAS
0566 # define NAMESPACEALIAS(Type, Base) NAMED(Type, Base)
0567 #endif
0568 NAMESPACEALIAS(NamespaceAlias, NamedDecl)
0569 #undef NAMESPACEALIAS
0570
0571 #ifndef LABEL
0572 # define LABEL(Type, Base) NAMED(Type, Base)
0573 #endif
0574 LABEL(Label, NamedDecl)
0575 #undef LABEL
0576
0577 #ifndef BASEUSING
0578 # define BASEUSING(Type, Base) NAMED(Type, Base)
0579 #endif
0580 ABSTRACT_DECL(BASEUSING(BaseUsing, NamedDecl))
0581 #ifndef USINGENUM
0582 # define USINGENUM(Type, Base) BASEUSING(Type, Base)
0583 #endif
0584 USINGENUM(UsingEnum, BaseUsingDecl)
0585 #undef USINGENUM
0586
0587 #ifndef USING
0588 # define USING(Type, Base) BASEUSING(Type, Base)
0589 #endif
0590 USING(Using, BaseUsingDecl)
0591 #undef USING
0592
0593 DECL_RANGE(BaseUsing, UsingEnum, Using)
0594
0595 #undef BASEUSING
0596
0597 DECL_RANGE(Named, ObjCMethod, Using)
0598
0599 #undef NAMED
0600
0601 #ifndef LIFETIMEEXTENDEDTEMPORARY
0602 # define LIFETIMEEXTENDEDTEMPORARY(Type, Base) DECL(Type, Base)
0603 #endif
0604 LIFETIMEEXTENDEDTEMPORARY(LifetimeExtendedTemporary, Decl)
0605 #undef LIFETIMEEXTENDEDTEMPORARY
0606
0607 #ifndef IMPORT
0608 # define IMPORT(Type, Base) DECL(Type, Base)
0609 #endif
0610 IMPORT(Import, Decl)
0611 #undef IMPORT
0612
0613 #ifndef IMPLICITCONCEPTSPECIALIZATION
0614 # define IMPLICITCONCEPTSPECIALIZATION(Type, Base) DECL(Type, Base)
0615 #endif
0616 IMPLICITCONCEPTSPECIALIZATION(ImplicitConceptSpecialization, Decl)
0617 #undef IMPLICITCONCEPTSPECIALIZATION
0618
0619 #ifndef FRIENDTEMPLATE
0620 # define FRIENDTEMPLATE(Type, Base) DECL(Type, Base)
0621 #endif
0622 FRIENDTEMPLATE(FriendTemplate, Decl)
0623 #undef FRIENDTEMPLATE
0624
0625 #ifndef FRIEND
0626 # define FRIEND(Type, Base) DECL(Type, Base)
0627 #endif
0628 FRIEND(Friend, Decl)
0629 #undef FRIEND
0630
0631 #ifndef FILESCOPEASM
0632 # define FILESCOPEASM(Type, Base) DECL(Type, Base)
0633 #endif
0634 FILESCOPEASM(FileScopeAsm, Decl)
0635 #undef FILESCOPEASM
0636
0637 #ifndef EMPTY
0638 # define EMPTY(Type, Base) DECL(Type, Base)
0639 #endif
0640 EMPTY(Empty, Decl)
0641 #undef EMPTY
0642
0643 #ifndef ACCESSSPEC
0644 # define ACCESSSPEC(Type, Base) DECL(Type, Base)
0645 #endif
0646 ACCESSSPEC(AccessSpec, Decl)
0647 #undef ACCESSSPEC
0648
0649 LAST_DECL_RANGE(Decl, TranslationUnit, AccessSpec)
0650
0651 #undef DECL
0652 #undef DECL_RANGE
0653 #undef LAST_DECL_RANGE
0654 #undef ABSTRACT_DECL
0655 /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
0656 |* *|
0657 |* List of AST Decl nodes *|
0658 |* *|
0659 |* Automatically generated file, do not edit! *|
0660 |* From: DeclNodes.td *|
0661 |* *|
0662 \*===----------------------------------------------------------------------===*/
0663
0664 #ifndef DECL_CONTEXT
0665 # define DECL_CONTEXT(DECL)
0666 #endif
0667 DECL_CONTEXT(Block)
0668 DECL_CONTEXT(Captured)
0669 DECL_CONTEXT(Export)
0670 DECL_CONTEXT(ExternCContext)
0671 DECL_CONTEXT(Function)
0672 DECL_CONTEXT(CXXDeductionGuide)
0673 DECL_CONTEXT(CXXMethod)
0674 DECL_CONTEXT(CXXConstructor)
0675 DECL_CONTEXT(CXXConversion)
0676 DECL_CONTEXT(CXXDestructor)
0677 DECL_CONTEXT(HLSLBuffer)
0678 DECL_CONTEXT(LinkageSpec)
0679 DECL_CONTEXT(Namespace)
0680 DECL_CONTEXT(OMPDeclareMapper)
0681 DECL_CONTEXT(OMPDeclareReduction)
0682 DECL_CONTEXT(ObjCCategory)
0683 DECL_CONTEXT(ObjCCategoryImpl)
0684 DECL_CONTEXT(ObjCImplementation)
0685 DECL_CONTEXT(ObjCInterface)
0686 DECL_CONTEXT(ObjCProtocol)
0687 DECL_CONTEXT(ObjCMethod)
0688 DECL_CONTEXT(OutlinedFunction)
0689 DECL_CONTEXT(RequiresExprBody)
0690 DECL_CONTEXT(Enum)
0691 DECL_CONTEXT(Record)
0692 DECL_CONTEXT(CXXRecord)
0693 DECL_CONTEXT(ClassTemplateSpecialization)
0694 DECL_CONTEXT(ClassTemplatePartialSpecialization)
0695 DECL_CONTEXT(TopLevelStmt)
0696 DECL_CONTEXT(TranslationUnit)
0697 #undef DECL_CONTEXT