clang 20.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
24CONCRETE_RECORD(NamespaceRecord, APIRecord, RK_Namespace)
25CONCRETE_RECORD(GlobalFunctionRecord, APIRecord, RK_GlobalFunction)
26CONCRETE_RECORD(GlobalFunctionTemplateRecord, GlobalFunctionRecord,
27 RK_GlobalFunctionTemplate)
28CONCRETE_RECORD(GlobalFunctionTemplateSpecializationRecord,
29 GlobalFunctionRecord, RK_GlobalFunctionTemplateSpecialization)
30CONCRETE_RECORD(GlobalVariableRecord, APIRecord, RK_GlobalVariable)
31CONCRETE_RECORD(GlobalVariableTemplateRecord, GlobalVariableRecord,
32 RK_GlobalVariableTemplate)
33CONCRETE_RECORD(GlobalVariableTemplateSpecializationRecord,
34 GlobalVariableRecord, RK_GlobalVariableTemplateSpecialization)
35CONCRETE_RECORD(GlobalVariableTemplatePartialSpecializationRecord,
36 GlobalVariableRecord,
37 RK_GlobalVariableTemplatePartialSpecialization)
38ABSTRACT_RECORD(TagRecord, APIRecord)
39CONCRETE_RECORD(EnumConstantRecord, APIRecord, RK_EnumConstant)
40CONCRETE_RECORD(EnumRecord, TagRecord, RK_Enum)
41ABSTRACT_RECORD(RecordFieldRecord, APIRecord)
42ABSTRACT_RECORD(RecordRecord, TagRecord)
43CONCRETE_RECORD(StructFieldRecord, RecordFieldRecord, RK_StructField)
44CONCRETE_RECORD(StructRecord, APIRecord, RK_Struct)
45CONCRETE_RECORD(UnionFieldRecord, RecordFieldRecord, RK_UnionField)
46CONCRETE_RECORD(UnionRecord, APIRecord, RK_Union)
47CONCRETE_RECORD(CXXFieldRecord, APIRecord, RK_CXXField)
48CONCRETE_RECORD(CXXFieldTemplateRecord, CXXFieldRecord, RK_CXXFieldTemplate)
49ABSTRACT_RECORD(CXXMethodRecord, APIRecord)
50CONCRETE_RECORD(CXXConstructorRecord, CXXMethodRecord, RK_CXXConstructorMethod)
51CONCRETE_RECORD(CXXDestructorRecord, CXXMethodRecord, RK_CXXDestructorMethod)
52CONCRETE_RECORD(CXXStaticMethodRecord, CXXMethodRecord, RK_CXXStaticMethod)
53CONCRETE_RECORD(CXXInstanceMethodRecord, CXXMethodRecord, RK_CXXInstanceMethod)
54CONCRETE_RECORD(CXXMethodTemplateRecord, CXXMethodRecord, RK_CXXMethodTemplate)
55CONCRETE_RECORD(CXXMethodTemplateSpecializationRecord, CXXMethodRecord,
56 RK_CXXMethodTemplateSpecialization)
57ABSTRACT_RECORD(ObjCPropertyRecord, APIRecord)
58CONCRETE_RECORD(ObjCInstancePropertyRecord, ObjCPropertyRecord,
59 RK_ObjCInstanceProperty)
60CONCRETE_RECORD(ObjCClassPropertyRecord, ObjCPropertyRecord,
61 RK_ObjCClassProperty)
62CONCRETE_RECORD(ObjCInstanceVariableRecord, APIRecord, RK_ObjCIvar)
63ABSTRACT_RECORD(ObjCMethodRecord, APIRecord)
64CONCRETE_RECORD(ObjCInstanceMethodRecord, ObjCMethodRecord,
65 RK_ObjCInstanceMethod)
66CONCRETE_RECORD(ObjCClassMethodRecord, ObjCMethodRecord, RK_ObjCClassMethod)
67CONCRETE_RECORD(StaticFieldRecord, CXXFieldRecord, RK_StaticField)
69CONCRETE_RECORD(CXXClassRecord, APIRecord, RK_CXXClass)
70CONCRETE_RECORD(ClassTemplateRecord, CXXClassRecord, RK_ClassTemplate)
71CONCRETE_RECORD(ClassTemplateSpecializationRecord, CXXClassRecord,
72 RK_ClassTemplateSpecialization)
73CONCRETE_RECORD(ClassTemplatePartialSpecializationRecord, CXXClassRecord,
74 RK_ClassTemplatePartialSpecialization)
75CONCRETE_RECORD(ConceptRecord, APIRecord, RK_Concept)
78CONCRETE_RECORD(ObjCProtocolRecord, ObjCContainerRecord, RK_ObjCProtocol)
79CONCRETE_RECORD(MacroDefinitionRecord, APIRecord, RK_MacroDefinition)
80CONCRETE_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
90RECORD_CONTEXT(NamespaceRecord, RK_Namespace)
91RECORD_CONTEXT(EnumRecord, RK_Enum)
92RECORD_CONTEXT(StructRecord, RK_Struct)
93RECORD_CONTEXT(UnionRecord, RK_Union)
94RECORD_CONTEXT(ObjCCategoryRecord, RK_ObjCCategory)
95RECORD_CONTEXT(ObjCInterfaceRecord, RK_ObjCInterface)
96RECORD_CONTEXT(ObjCProtocolRecord, RK_ObjCProtocol)
97RECORD_CONTEXT(CXXClassRecord, RK_CXXClass)
98RECORD_CONTEXT(ClassTemplateRecord, RK_ClassTemplate)
99RECORD_CONTEXT(ClassTemplateSpecializationRecord,
100 RK_ClassTemplateSpecialization)
101RECORD_CONTEXT(ClassTemplatePartialSpecializationRecord,
102 RK_ClassTemplatePartialSpecialization)
103RECORD_CONTEXT(StructFieldRecord, RK_StructField)
104RECORD_CONTEXT(UnionFieldRecord, RK_UnionField)
105RECORD_CONTEXT(CXXFieldRecord, RK_CXXField)
106RECORD_CONTEXT(StaticFieldRecord, RK_StaticField)
107RECORD_CONTEXT(CXXFieldTemplateRecord, RK_CXXFieldTemplate)
108RECORD_CONTEXT(GlobalVariableRecord, RK_GlobalVariable)
109RECORD_CONTEXT(GlobalVariableTemplateRecord, RK_GlobalVariableTemplate)
110RECORD_CONTEXT(GlobalVariableTemplateSpecializationRecord,
111 RK_GlobalVariableTemplateSpecialization)
112RECORD_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:37
llvm::MachO::ObjCInterfaceRecord ObjCInterfaceRecord
Definition: MachO.h:36
llvm::MachO::ObjCContainerRecord ObjCContainerRecord
Definition: MachO.h:35