LLVM 20.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::objcopy::coff::Object Struct Reference

#include "ObjCopy/COFF/COFFObject.h"

Public Member Functions

ArrayRef< SymbolgetSymbols () const
 
iterator_range< std::vector< Symbol >::iterator > getMutableSymbols ()
 
const SymbolfindSymbol (size_t UniqueId) const
 
void addSymbols (ArrayRef< Symbol > NewSymbols)
 
Error removeSymbols (function_ref< Expected< bool >(const Symbol &)> ToRemove)
 
Error markSymbols ()
 
ArrayRef< SectiongetSections () const
 
iterator_range< std::vector< Section >::iterator > getMutableSections ()
 
const SectionfindSection (ssize_t UniqueId) const
 
void addSections (ArrayRef< Section > NewSections)
 
void removeSections (function_ref< bool(const Section &)> ToRemove)
 
void truncateSections (function_ref< bool(const Section &)> ToTruncate)
 

Public Attributes

bool IsPE = false
 
object::dos_header DosHeader
 
ArrayRef< uint8_t > DosStub
 
object::coff_file_header CoffFileHeader
 
bool Is64 = false
 
object::pe32plus_header PeHeader
 
uint32_t BaseOfData = 0
 
std::vector< object::data_directoryDataDirectories
 

Detailed Description

Definition at line 95 of file COFFObject.h.

Member Function Documentation

◆ addSections()

void llvm::objcopy::coff::Object::addSections ( ArrayRef< Section NewSections)

Definition at line 68 of file COFFObject.cpp.

Referenced by llvm::objcopy::coff::addSection().

◆ addSymbols()

void llvm::objcopy::coff::Object::addSymbols ( ArrayRef< Symbol NewSymbols)

Definition at line 19 of file COFFObject.cpp.

◆ findSection()

const Section * llvm::objcopy::coff::Object::findSection ( ssize_t  UniqueId) const

Definition at line 85 of file COFFObject.cpp.

◆ findSymbol()

const Symbol * llvm::objcopy::coff::Object::findSymbol ( size_t  UniqueId) const

Definition at line 33 of file COFFObject.cpp.

◆ getMutableSections()

iterator_range< std::vector< Section >::iterator > llvm::objcopy::coff::Object::getMutableSections ( )
inline

Definition at line 128 of file COFFObject.h.

References llvm::make_range().

Referenced by llvm::objcopy::coff::handleArgs().

◆ getMutableSymbols()

iterator_range< std::vector< Symbol >::iterator > llvm::objcopy::coff::Object::getMutableSymbols ( )
inline

Definition at line 112 of file COFFObject.h.

References llvm::make_range().

Referenced by llvm::objcopy::coff::handleArgs().

◆ getSections()

ArrayRef< Section > llvm::objcopy::coff::Object::getSections ( ) const
inline

◆ getSymbols()

ArrayRef< Symbol > llvm::objcopy::coff::Object::getSymbols ( ) const
inline

Definition at line 109 of file COFFObject.h.

◆ markSymbols()

Error llvm::objcopy::coff::Object::markSymbols ( )

Definition at line 53 of file COFFObject.cpp.

References llvm::createStringError(), llvm::Error::success(), and Sym.

Referenced by llvm::objcopy::coff::handleArgs().

◆ removeSections()

void llvm::objcopy::coff::Object::removeSections ( function_ref< bool(const Section &)>  ToRemove)

◆ removeSymbols()

Error llvm::objcopy::coff::Object::removeSymbols ( function_ref< Expected< bool >(const Symbol &)>  ToRemove)

◆ truncateSections()

void llvm::objcopy::coff::Object::truncateSections ( function_ref< bool(const Section &)>  ToTruncate)

Definition at line 120 of file COFFObject.cpp.

Referenced by llvm::objcopy::coff::handleArgs().

Member Data Documentation

◆ BaseOfData

uint32_t llvm::objcopy::coff::Object::BaseOfData = 0

Definition at line 105 of file COFFObject.h.

◆ CoffFileHeader

object::coff_file_header llvm::objcopy::coff::Object::CoffFileHeader

Definition at line 101 of file COFFObject.h.

◆ DataDirectories

std::vector<object::data_directory> llvm::objcopy::coff::Object::DataDirectories

Definition at line 107 of file COFFObject.h.

◆ DosHeader

object::dos_header llvm::objcopy::coff::Object::DosHeader

Definition at line 98 of file COFFObject.h.

◆ DosStub

ArrayRef<uint8_t> llvm::objcopy::coff::Object::DosStub

Definition at line 99 of file COFFObject.h.

◆ Is64

bool llvm::objcopy::coff::Object::Is64 = false

Definition at line 103 of file COFFObject.h.

◆ IsPE

bool llvm::objcopy::coff::Object::IsPE = false

◆ PeHeader

object::pe32plus_header llvm::objcopy::coff::Object::PeHeader

The documentation for this struct was generated from the following files: