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