clang  19.0.0git
APIRecords.inc
Go to the documentation of this file.
1 //===- ExtractAPI/APIRecords.inc --------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 ///
9 /// \file
10 /// This file defines the classes defined from ExtractAPI's APIRecord
11 ///
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef ABSTRACT_RECORD
15 #define ABSTRACT_RECORD(CLASS, BASE) RECORD(CLASS, BASE)
16 #endif
17 #ifndef CONCRETE_RECORD
18 #define CONCRETE_RECORD(CLASS, BASE, KIND) RECORD(CLASS, BASE)
19 #endif
20 #ifndef RECORD
21 #define RECORD(CLASS, BASE)
22 #endif
23 
24 CONCRETE_RECORD(NamespaceRecord, APIRecord, RK_Namespace)
25 CONCRETE_RECORD(GlobalFunctionRecord, APIRecord, RK_GlobalFunction)
26 CONCRETE_RECORD(GlobalFunctionTemplateRecord, GlobalFunctionRecord,
27  RK_GlobalFunctionTemplate)
28 CONCRETE_RECORD(GlobalFunctionTemplateSpecializationRecord,
29  GlobalFunctionRecord, RK_GlobalFunctionTemplateSpecialization)
30 CONCRETE_RECORD(GlobalVariableRecord, APIRecord, RK_GlobalVariable)
31 CONCRETE_RECORD(GlobalVariableTemplateRecord, GlobalVariableRecord,
32  RK_GlobalVariableTemplate)
33 CONCRETE_RECORD(GlobalVariableTemplateSpecializationRecord,
34  GlobalVariableRecord, RK_GlobalVariableTemplateSpecialization)
35 CONCRETE_RECORD(GlobalVariableTemplatePartialSpecializationRecord,
36  GlobalVariableRecord,
37  RK_GlobalVariableTemplatePartialSpecialization)
38 ABSTRACT_RECORD(TagRecord, APIRecord)
39 CONCRETE_RECORD(EnumConstantRecord, APIRecord, RK_EnumConstant)
40 CONCRETE_RECORD(EnumRecord, TagRecord, RK_Enum)
41 ABSTRACT_RECORD(RecordFieldRecord, APIRecord)
42 ABSTRACT_RECORD(RecordRecord, TagRecord)
43 CONCRETE_RECORD(StructFieldRecord, RecordFieldRecord, RK_StructField)
44 CONCRETE_RECORD(StructRecord, APIRecord, RK_Struct)
45 CONCRETE_RECORD(UnionFieldRecord, RecordFieldRecord, RK_UnionField)
46 CONCRETE_RECORD(UnionRecord, APIRecord, RK_Union)
47 CONCRETE_RECORD(CXXFieldRecord, APIRecord, RK_CXXField)
48 CONCRETE_RECORD(CXXFieldTemplateRecord, CXXFieldRecord, RK_CXXFieldTemplate)
49 ABSTRACT_RECORD(CXXMethodRecord, APIRecord)
50 CONCRETE_RECORD(CXXConstructorRecord, CXXMethodRecord, RK_CXXConstructorMethod)
51 CONCRETE_RECORD(CXXDestructorRecord, CXXMethodRecord, RK_CXXDestructorMethod)
52 CONCRETE_RECORD(CXXStaticMethodRecord, CXXMethodRecord, RK_CXXStaticMethod)
53 CONCRETE_RECORD(CXXInstanceMethodRecord, CXXMethodRecord, RK_CXXInstanceMethod)
54 CONCRETE_RECORD(CXXMethodTemplateRecord, CXXMethodRecord, RK_CXXMethodTemplate)
55 CONCRETE_RECORD(CXXMethodTemplateSpecializationRecord, CXXMethodRecord,
56  RK_CXXMethodTemplateSpecialization)
57 ABSTRACT_RECORD(ObjCPropertyRecord, APIRecord)
58 CONCRETE_RECORD(ObjCInstancePropertyRecord, ObjCPropertyRecord,
59  RK_ObjCInstanceProperty)
60 CONCRETE_RECORD(ObjCClassPropertyRecord, ObjCPropertyRecord,
61  RK_ObjCClassProperty)
62 CONCRETE_RECORD(ObjCInstanceVariableRecord, APIRecord, RK_ObjCIvar)
63 ABSTRACT_RECORD(ObjCMethodRecord, APIRecord)
64 CONCRETE_RECORD(ObjCInstanceMethodRecord, ObjCMethodRecord,
65  RK_ObjCInstanceMethod)
66 CONCRETE_RECORD(ObjCClassMethodRecord, ObjCMethodRecord, RK_ObjCClassMethod)
67 CONCRETE_RECORD(StaticFieldRecord, CXXFieldRecord, RK_StaticField)
69 CONCRETE_RECORD(CXXClassRecord, APIRecord, RK_CXXClass)
70 CONCRETE_RECORD(ClassTemplateRecord, CXXClassRecord, RK_ClassTemplate)
71 CONCRETE_RECORD(ClassTemplateSpecializationRecord, CXXClassRecord,
72  RK_ClassTemplateSpecialization)
73 CONCRETE_RECORD(ClassTemplatePartialSpecializationRecord, CXXClassRecord,
74  RK_ClassTemplatePartialSpecialization)
75 CONCRETE_RECORD(ConceptRecord, APIRecord, RK_Concept)
78 CONCRETE_RECORD(ObjCProtocolRecord, ObjCContainerRecord, RK_ObjCProtocol)
79 CONCRETE_RECORD(MacroDefinitionRecord, APIRecord, RK_MacroDefinition)
80 CONCRETE_RECORD(TypedefRecord, APIRecord, RK_Typedef)
81 
82 #undef CONCRETE_RECORD
83 #undef ABSTRACT_RECORD
84 #undef RECORD
85 
86 #ifndef RECORD_CONTEXT
87 #define RECORD_CONTEXT(CLASS, KIND)
88 #endif
89 
90 RECORD_CONTEXT(NamespaceRecord, RK_Namespace)
91 RECORD_CONTEXT(EnumRecord, RK_Enum)
92 RECORD_CONTEXT(StructRecord, RK_Struct)
93 RECORD_CONTEXT(UnionRecord, RK_Union)
94 RECORD_CONTEXT(ObjCCategoryRecord, RK_ObjCCategory)
95 RECORD_CONTEXT(ObjCInterfaceRecord, RK_ObjCInterface)
96 RECORD_CONTEXT(ObjCProtocolRecord, RK_ObjCProtocol)
97 RECORD_CONTEXT(CXXClassRecord, RK_CXXClass)
98 RECORD_CONTEXT(ClassTemplateRecord, RK_ClassTemplate)
99 RECORD_CONTEXT(ClassTemplateSpecializationRecord,
100  RK_ClassTemplateSpecialization)
101 RECORD_CONTEXT(ClassTemplatePartialSpecializationRecord,
102  RK_ClassTemplatePartialSpecialization)
103 RECORD_CONTEXT(StructFieldRecord, RK_StructField)
104 RECORD_CONTEXT(UnionFieldRecord, RK_UnionField)
105 RECORD_CONTEXT(CXXFieldRecord, RK_CXXField)
106 RECORD_CONTEXT(StaticFieldRecord, RK_StaticField)
107 RECORD_CONTEXT(CXXFieldTemplateRecord, RK_CXXFieldTemplate)
108 RECORD_CONTEXT(GlobalVariableRecord, RK_GlobalVariable)
109 RECORD_CONTEXT(GlobalVariableTemplateRecord, RK_GlobalVariableTemplate)
110 RECORD_CONTEXT(GlobalVariableTemplateSpecializationRecord,
111  RK_GlobalVariableTemplateSpecialization)
112 RECORD_CONTEXT(GlobalVariableTemplatePartialSpecializationRecord,
113  RK_GlobalVariableTemplatePartialSpecialization)
114 
115 #undef RECORD_CONTEXT
#define ABSTRACT_RECORD(CLASS, BASE)
#define CONCRETE_RECORD(CLASS, BASE, KIND)
#define RECORD_CONTEXT(CLASS, KIND)
llvm::MachO::ObjCCategoryRecord ObjCCategoryRecord
Definition: MachO.h:36
llvm::MachO::ObjCInterfaceRecord ObjCInterfaceRecord
Definition: MachO.h:35
llvm::MachO::ObjCContainerRecord ObjCContainerRecord
Definition: MachO.h:34