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) |
68 | ABSTRACT_RECORD(ObjCContainerRecord, APIRecord) |
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) |
76 | CONCRETE_RECORD(ObjCCategoryRecord, ObjCContainerRecord, RK_ObjCCategory) |
77 | CONCRETE_RECORD(ObjCInterfaceRecord, ObjCContainerRecord, RK_ObjCInterface) |
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 |
116 | |