9#ifndef LLVM_TEXTAPI_SYMBOL_H
10#define LLVM_TEXTAPI_SYMBOL_H
90 if ((Iter != std::end(Container)) && !(Targ < *Iter))
93 return Container.insert(Iter, Targ);
99 : Name(Name), Targets(
std::
move(Targets)), Kind(Kind), Flags(Flags) {}
157#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
162 bool operator==(
const Symbol &O)
const;
167 return std::tie(Kind, Name) < std::tie(O.Kind, O.Name);
185 std::tie(O.Name, O.Kind, O.ObjCInterfaceType);
bool contains(ArchitectureSet Archs) const
void addTarget(Target InputTarget)
SymbolFlags getFlags() const
bool isWeakDefined() const
bool hasArchitecture(Architecture Arch) const
TargetList::const_iterator const_target_iterator
bool operator<(const Symbol &O) const
const_target_range targets() const
bool isThreadLocalValue() const
bool operator!=(const Symbol &O) const
ArchitectureSet getArchitectures() const
Symbol(EncodeKind Kind, StringRef Name, TargetList Targets, SymbolFlags Flags)
StringRef getName() const
bool hasTarget(const Target &Targ) const
EncodeKind getKind() const
bool isWeakReferenced() const
bool isReexported() const
A wrapper around a string literal that serves as a proxy for constructing global tables of StringRefs...
StringRef - Represent a constant reference to a string, i.e.
Specialization of filter_iterator_base for forward iteration only.
A range adaptor for a pair of iterators.
This class implements an extremely fast bulk output stream that can only output to a stream.
@ C
The default llvm calling convention, compatible with C.
@ LLVM_MARK_AS_BITMASK_ENUM
constexpr StringLiteral ObjC2IVarPrefix
constexpr StringLiteral ObjC1ClassNamePrefix
C::iterator addEntry(C &Container, StringRef InstallName)
constexpr StringLiteral ObjC2ClassNamePrefix
Architecture
Defines the architecture slices that are supported by Text-based Stub files.
ObjCIFSymbolKind
ObjC Interface symbol mappings.
@ EHType
Is OBJC_EHTYPE* symbol.
@ Class
Is OBJC_CLASS* symbol.
@ MetaClass
Is OBJC_METACLASS* symbol.
EncodeKind
Mapping of entry types in TextStubs.
@ ObjectiveCInstanceVariable
SimpleSymbol parseSymbol(StringRef SymName)
Get symbol classification by parsing the name of a symbol.
constexpr StringLiteral ObjC2MetaClassNamePrefix
@ ThreadLocalValue
Thread-local value symbol.
@ WeakReferenced
Weak referenced symbol.
@ WeakDefined
Weak defined symbol.
ArchitectureSet mapToArchitectureSet(ArrayRef< Target > Targets)
constexpr StringLiteral ObjC2EHTypePrefix
This is an optimization pass for GlobalISel generic memory operations.
raw_fd_ostream & errs()
This returns a reference to a raw_ostream for standard error.
auto lower_bound(R &&Range, T &&Value)
Provide wrappers to std::lower_bound which take ranges instead of having to pass begin/end explicitly...
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
bool is_contained(R &&Range, const E &Element)
Returns true if Element is found in Range.
Implement std::hash so that hash_code can be used in STL containers.
Lightweight struct for passing around symbol information.
bool operator<(const SimpleSymbol &O) const
ObjCIFSymbolKind ObjCInterfaceType