Lines Matching defs:Archive
1 //===- Archive.cpp - ar File Format implementation ------------------------===//
13 #include "llvm/Object/Archive.h"
42 void Archive::anchor() {}
95 ArchiveMemberHeader::ArchiveMemberHeader(const Archive *Parent,
130 BigArchiveMemberHeader::BigArchiveMemberHeader(const Archive *Parent,
158 if (Kind == Archive::K_BSD || Kind == Archive::K_DARWIN64) {
182 const Archive *Parent,
200 const Archive *Parent,
305 if (Parent->kind() == Archive::K_GNU ||
306 Parent->kind() == Archive::K_GNU64) {
462 Archive::Child::Child(const Archive *Parent, StringRef Data,
468 Archive::Child::Child(const Archive *Parent, const char *Start, Error *Err)
523 if (Parent->kind() == Archive::K_AIXBIG) {
543 Expected<uint64_t> Archive::Child::getSize() const {
549 Expected<uint64_t> Archive::Child::getRawSize() const {
553 Expected<bool> Archive::Child::isThinMember() const { return Header->isThin(); }
555 Expected<std::string> Archive::Child::getFullName() const {
573 Expected<StringRef> Archive::Child::getBuffer() const {
595 Expected<Archive::Child> Archive::Child::getNext() const {
626 uint64_t Archive::Child::getChildOffset() const {
633 Expected<StringRef> Archive::Child::getName() const {
646 Expected<MemoryBufferRef> Archive::Child::getMemoryBufferRef() const {
658 Archive::Child::getAsBinary(LLVMContext *Context) const {
669 Expected<std::unique_ptr<Archive>> Archive::create(MemoryBufferRef Source) {
671 std::unique_ptr<Archive> Ret;
677 Ret = std::make_unique<Archive>(Source, Err);
685 Archive::createArchiveMemberHeader(const char *RawHeaderPtr, uint64_t Size,
694 uint64_t Archive::getArchiveMagicLen() const {
704 void Archive::setFirstRegular(const Child &C) {
709 Archive::Archive(MemoryBufferRef Source, Error &Err)
972 object::Archive::Kind Archive::getDefaultKindForTriple(Triple &T) {
974 return object::Archive::K_DARWIN;
976 return object::Archive::K_AIXBIG;
978 return object::Archive::K_COFF;
979 return object::Archive::K_GNU;
982 object::Archive::Kind Archive::getDefaultKind() {
987 Archive::child_iterator Archive::child_begin(Error &Err,
1003 Archive::child_iterator Archive::child_end() const {
1007 bool Archive::Symbol::isECSymbol() const {
1015 StringRef Archive::Symbol::getName() const {
1021 Expected<Archive::Child> Archive::Symbol::getMember() const {
1091 Archive::Symbol Archive::Symbol::getNext() const {
1133 Archive::symbol_iterator Archive::symbol_begin() const {
1191 Archive::symbol_iterator Archive::symbol_end() const {
1195 Expected<iterator_range<Archive::symbol_iterator>> Archive::ec_symbols() const {
1240 uint32_t Archive::getNumberOfSymbols() const {
1258 uint32_t Archive::getNumberOfECSymbols() const {
1264 Expected<std::optional<Archive::Child>> Archive::findSym(StringRef name) const {
1265 Archive::symbol_iterator bs = symbol_begin();
1266 Archive::symbol_iterator es = symbol_end();
1281 bool Archive::isEmpty() const {
1285 bool Archive::hasSymbolTable() const { return !SymbolTable.empty(); }
1347 : Archive(Source, Err) {
1427 // In order to let the Archive::Symbol::getNext() work for both 32-bit and