14#ifndef LLVM_TEXTAPI_RECORDSLICE_H
15#define LLVM_TEXTAPI_RECORDSLICE_H
64 bool Inlined =
false);
186 R->Linkage = std::max(R->Linkage, L);
195 RecordMap<GlobalRecord> Globals;
196 RecordMap<ObjCInterfaceRecord> Classes;
197 RecordMap<ObjCCategoryRecord, std::pair<StringRef, StringRef>> Categories;
199 std::unique_ptr<BinaryAttrs> BA{
nullptr};
204LLVM_ABI std::unique_ptr<InterfaceFile>
This file defines the BumpPtrAllocator interface.
Implements the TAPI Record Types.
Allocate memory in an ever growing pool, as if by bump-pointer.
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)
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.
const llvm::Triple & getTriple() const
Get target triple.
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
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)
ObjCIFSymbolKind
ObjC Interface symbol mappings.
This is an optimization pass for GlobalISel generic memory operations.
std::vector< StringRef > RPaths
std::vector< StringRef > RexportedLibraries
std::vector< StringRef > AllowableClients
llvm::MachO::PackedVersion CompatVersion
llvm::MachO::PackedVersion CurrentVersion
bool OSLibNotForSharedCache