24using namespace object;
52 FileKind(Interface.getFileType()) {
53 for (
const auto *
Symbol : Interface.symbols()) {
58 case EncodeKind::GlobalSymbol:
62 case EncodeKind::ObjectiveCClass:
63 if (Interface.getPlatforms().count(PLATFORM_MACOS) && Arch == AK_i386) {
73 case EncodeKind::ObjectiveCClassEHType:
77 case EncodeKind::ObjectiveCInstanceVariable:
90 assert(DRI.
d.
a < Symbols.size() &&
"Attempt to access symbol out of bounds");
97 assert(DRI.
d.
a < Symbols.size() &&
"Attempt to access symbol out of bounds");
98 return Symbols[DRI.
d.
a].Type;
102 assert(DRI.
d.
a < Symbols.size() &&
"Attempt to access symbol out of bounds");
103 return Symbols[DRI.
d.
a].Flags;
114 DRI.
d.
a = Symbols.size();
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
static uint32_t getFlags(const Symbol *Sym)
static SymbolRef::Type getType(const Symbol *Sym)
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
Tagged union holding either a T or a Error.
bool has(Architecture Arch) const
Defines the interface file.
bool isWeakDefined() const
ArchitectureSet getArchitectures() const
StringRef getName() const
EncodeKind getKind() const
bool isWeakReferenced() const
StringRef - Represent a constant reference to a string, i.e.
The instances of the Type class are immutable: once they are created, they are never changed.
This is a value type class that represents a single symbol in the list of symbols in the object file.
unsigned int getType() const
Expected< SymbolRef::Type > getSymbolType(DataRefImpl DRI) const
void moveSymbolNext(DataRefImpl &DRI) const override
Expected< uint32_t > getSymbolFlags(DataRefImpl DRI) const override
basic_symbol_iterator symbol_end() const override
TapiFile(MemoryBufferRef Source, const MachO::InterfaceFile &Interface, MachO::Architecture Arch)
Error printSymbolName(raw_ostream &OS, DataRefImpl DRI) const override
basic_symbol_iterator symbol_begin() const override
This class implements an extremely fast bulk output stream that can only output to a stream.
constexpr StringLiteral ObjC2IVarPrefix
constexpr StringLiteral ObjC1ClassNamePrefix
constexpr StringLiteral ObjC2ClassNamePrefix
Architecture
Defines the architecture slices that are supported by Text-based Stub files.
constexpr StringLiteral ObjC2MetaClassNamePrefix
constexpr StringLiteral ObjC2EHTypePrefix
This is an optimization pass for GlobalISel generic memory operations.
struct llvm::object::DataRefImpl::@371 d