14#ifndef LLVM_TEXTAPI_RECORDSLICE_H
15#define LLVM_TEXTAPI_RECORDSLICE_H
62 bool Inlined =
false);
181 R->Linkage = std::max(R->Linkage, L);
190 RecordMap<GlobalRecord> Globals;
191 RecordMap<ObjCInterfaceRecord> Classes;
192 RecordMap<ObjCCategoryRecord, std::pair<StringRef, StringRef>> Categories;
194 std::unique_ptr<BinaryAttrs> BA{
nullptr};
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.
StringRef copyString(StringRef String)
Store any strings owned by RecordSlice into allocator and return back reference to that.
ObjCIVarRecord * findObjCIVar(bool IsScopedName, StringRef Name) const
Find ObjC instance variable.
ObjCCategoryRecord * addObjCCategory(StringRef ClassToExtend, StringRef Category)
Add ObjC Category record.
ObjCInterfaceRecord * addObjCInterface(StringRef Name, RecordLinkage Linkage, ObjCIFSymbolKind SymType)
Add ObjC Class record.
RecordsSlice(const llvm::Triple &T)
ObjCContainerRecord * findContainer(bool IsIVar, StringRef Name) const
Find ObjC Container.
ObjCIVarRecord * addObjCIVar(ObjCContainerRecord *Container, StringRef Name, RecordLinkage Linkage)
Add ObjC IVar record.
GlobalRecord * addGlobal(StringRef Name, RecordLinkage Linkage, GlobalRecord::Kind GV, SymbolFlags Flags=SymbolFlags::None, bool Inlined=false)
Add non-ObjC global record.
GlobalRecord * findGlobal(StringRef Name, GlobalRecord::Kind GV=GlobalRecord::Kind::Unknown) const
Find non-objc global.
ObjCCategoryRecord * findObjCCategory(StringRef ClassToExtend, StringRef Category) const
Find ObjC Category.
BinaryAttrs & getBinaryAttrs()
Return reference to BinaryAttrs.
const Target & getTarget() const
Get TAPI converted target.
const llvm::Triple & getTriple() const
Get target triple.
ObjCInterfaceRecord * findObjCInterface(StringRef Name) const
Find ObjC Class.
Record * addRecord(StringRef Name, SymbolFlags Flags, GlobalRecord::Kind GV=GlobalRecord::Kind::Unknown, RecordLinkage Linkage=RecordLinkage::Unknown)
Add unspecified record to slice.
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.
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