Back to home page

EIC code displayed by LXR

 
 

    


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