LLVM: include/llvm/TextAPI/RecordsSlice.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_TEXTAPI_RECORDSLICE_H
15#define LLVM_TEXTAPI_RECORDSLICE_H
16
23
24namespace llvm {
26
27
28
30public:
32
34
36
37
38
39
40
41
42
43
44
45
46
51
52
53
54
55
56
57
58
59
60
64 bool Inlined = false);
65
66
67
68
69
70
71
75
76
77
78
79
80
81
84
85
86
87
88
89
90
93
94
95
96
97
99
100
101
102
103
104
107
108
109
110
111
112
113
114
115
118
119
120
121
122
123
126
127
128
129
130
131
135
136
138
139
141 return () && Globals.empty() && Classes.empty() &&
142 Categories.empty();
143 }
144
145
147
164
165
167
168
169
171
172private:
174
175 const Target TAPITarget;
176
177
179
180
181
182
183
184
186 R->Linkage = std::max(R->Linkage, L);
187 }
188
189
190
191
192
194
198
199 std::unique_ptr BA{nullptr};
200};
201
204LLVM_ABI std::unique_ptr
206
207}
208}
209#endif
This file defines the BumpPtrAllocator interface.
Implements the TAPI Record Types.
Defines the interface file.
Base class for any usage of traversing over collected Records.
LLVM_ABI StringRef copyString(StringRef String)
Store any strings owned by RecordSlice into allocator and return back reference to that.
LLVM_ABI ObjCIVarRecord * findObjCIVar(bool IsScopedName, StringRef Name) const
Find ObjC instance variable.
LLVM_ABI ObjCCategoryRecord * addObjCCategory(StringRef ClassToExtend, StringRef Category)
Add ObjC Category record.
LLVM_ABI ObjCInterfaceRecord * addObjCInterface(StringRef Name, RecordLinkage Linkage, ObjCIFSymbolKind SymType)
Add ObjC Class record.
RecordsSlice(const llvm::Triple &T)
Definition RecordsSlice.h:31
bool empty() const
Definition RecordsSlice.h:140
LLVM_ABI ObjCContainerRecord * findContainer(bool IsIVar, StringRef Name) const
Find ObjC Container.
LLVM_ABI ObjCIVarRecord * addObjCIVar(ObjCContainerRecord *Container, StringRef Name, RecordLinkage Linkage)
Add ObjC IVar record.
LLVM_ABI GlobalRecord * addGlobal(StringRef Name, RecordLinkage Linkage, GlobalRecord::Kind GV, SymbolFlags Flags=SymbolFlags::None, bool Inlined=false)
Add non-ObjC global record.
LLVM_ABI GlobalRecord * findGlobal(StringRef Name, GlobalRecord::Kind GV=GlobalRecord::Kind::Unknown) const
Find non-objc global.
LLVM_ABI ObjCCategoryRecord * findObjCCategory(StringRef ClassToExtend, StringRef Category) const
Find ObjC Category.
LLVM_ABI BinaryAttrs & getBinaryAttrs()
Return reference to BinaryAttrs.
const Target & getTarget() const
Get TAPI converted target.
Definition RecordsSlice.h:35
const llvm::Triple & getTriple() const
Get target triple.
Definition RecordsSlice.h:33
LLVM_ABI ObjCInterfaceRecord * findObjCInterface(StringRef Name) const
Find ObjC Class.
LLVM_ABI Record * addRecord(StringRef Name, SymbolFlags Flags, GlobalRecord::Kind GV=GlobalRecord::Kind::Unknown, RecordLinkage Linkage=RecordLinkage::Unknown)
Add unspecified record to slice.
LLVM_ABI void visit(RecordVisitor &V) const
bool hasBinaryAttrs() const
Definition RecordsSlice.h:137
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
FileType
Defines the file type TextAPI files can represent.
@ Invalid
Invalid file type.
LLVM_ABI std::unique_ptr< InterfaceFile > convertToInterfaceFile(const Records &Slices)
llvm::MapVector< K, std::unique_ptr< V > > RecordMap
ObjCIFSymbolKind
ObjC Interface symbol mappings.
llvm::SmallVector< std::shared_ptr< RecordsSlice >, 4 > Records
Definition RecordsSlice.h:202
This is an optimization pass for GlobalISel generic memory operations.
BumpPtrAllocatorImpl<> BumpPtrAllocator
The standard BumpPtrAllocator which just uses the default template parameters.
Definition RecordsSlice.h:148
uint8_t SwiftABI
Definition RecordsSlice.h:159
StringRef UUID
Definition RecordsSlice.h:154
std::vector< StringRef > RPaths
Definition RecordsSlice.h:151
StringRef InstallName
Definition RecordsSlice.h:153
std::vector< StringRef > RexportedLibraries
Definition RecordsSlice.h:150
FileType File
Definition RecordsSlice.h:156
std::vector< StringRef > AllowableClients
Definition RecordsSlice.h:149
bool TwoLevelNamespace
Definition RecordsSlice.h:160
llvm::MachO::PackedVersion CompatVersion
Definition RecordsSlice.h:158
llvm::MachO::PackedVersion CurrentVersion
Definition RecordsSlice.h:157
StringRef ParentUmbrella
Definition RecordsSlice.h:152
bool OSLibNotForSharedCache
Definition RecordsSlice.h:162
bool AppExtensionSafe
Definition RecordsSlice.h:161
StringRef Path
Definition RecordsSlice.h:155