13#ifndef LLVM_OBJECT_TAPIUNIVERSAL_H
14#define LLVM_OBJECT_TAPIUNIVERSAL_H
36 : Parent(Parent), Index(Index) {}
41 return (Parent ==
Other.Parent) && (Index ==
Other.Index);
61 return std::string(Parent->Libraries[Index].InstallName);
80 return Obj ==
Other.Obj;
83 return !(*
this ==
Other);
118 std::unique_ptr<MachO::InterfaceFile> ParsedFile;
119 std::vector<Library> Libraries;
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
Defines the interface file.
StringRef - Represent a constant reference to a string, i.e.
A range adaptor for a pair of iterators.
ObjectForArch(const TapiUniversal *Parent, int Index)
bool isTopLevelLib() const
uint32_t getCPUSubType() const
Expected< std::unique_ptr< TapiFile > > getAsObjectFile() const
StringRef getArchFlagName() const
bool operator==(const ObjectForArch &Other) const
ObjectForArch getNext() const
uint32_t getCPUType() const
std::string getInstallName() const
object_iterator(const ObjectForArch &Obj)
const ObjectForArch & operator*() const
bool operator==(const object_iterator &Other) const
object_iterator & operator++()
bool operator!=(const object_iterator &Other) const
const ObjectForArch * operator->() const
iterator_range< object_iterator > objects() const
~TapiUniversal() override
uint32_t getNumberOfObjects() const
object_iterator end_objects() const
static bool classof(const Binary *v)
const MachO::InterfaceFile & getInterfaceFile()
object_iterator begin_objects() const
static Expected< std::unique_ptr< TapiUniversal > > create(MemoryBufferRef Source)
StringRef getArchitectureName(Architecture Arch)
Convert an architecture slice to a string.
std::pair< uint32_t, uint32_t > getCPUTypeFromArchitecture(Architecture Arch)
Convert an architecture slice to a CPU Type and Subtype pair.
Architecture
Defines the architecture slices that are supported by Text-based Stub files.
This is an optimization pass for GlobalISel generic memory operations.
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.