LLVM  3.7.0
Public Types | Public Member Functions | Friends | List of all members
llvm::object::SymbolRef Class Reference

This is a value type class that represents a single symbol in the list of symbols in the object file. More...

#include <ObjectFile.h>

Inheritance diagram for llvm::object::SymbolRef:
[legend]
Collaboration diagram for llvm::object::SymbolRef:
[legend]

Public Types

enum  Type {
  ST_Unknown, ST_Data, ST_Debug, ST_File,
  ST_Function, ST_Other
}
 
- Public Types inherited from llvm::object::BasicSymbolRef
enum  Flags : unsigned {
  SF_None = 0, SF_Undefined = 1U << 0, SF_Global = 1U << 1, SF_Weak = 1U << 2,
  SF_Absolute = 1U << 3, SF_Common = 1U << 4, SF_Indirect = 1U << 5, SF_Exported = 1U << 6,
  SF_FormatSpecific = 1U << 7, SF_Thumb = 1U << 8, SF_Hidden = 1U << 9
}
 

Public Member Functions

 SymbolRef ()
 
 SymbolRef (DataRefImpl SymbolP, const ObjectFile *Owner)
 
 SymbolRef (const BasicSymbolRef &B)
 
ErrorOr< StringRefgetName () const
 
ErrorOr< uint64_t > getAddress () const
 Returns the symbol virtual address (i.e. More...
 
uint64_t getValue () const
 Return the value of the symbol depending on the object this can be an offset or a virtual address. More...
 
uint32_t getAlignment () const
 Get the alignment of this symbol as the actual value (not log 2). More...
 
uint64_t getCommonSize () const
 
SymbolRef::Type getType () const
 
std::error_code getSection (section_iterator &Result) const
 Get section this symbol is defined in reference to. More...
 
const ObjectFilegetObject () const
 
- Public Member Functions inherited from llvm::object::BasicSymbolRef
 BasicSymbolRef ()
 
 BasicSymbolRef (DataRefImpl SymbolP, const SymbolicFile *Owner)
 
bool operator== (const BasicSymbolRef &Other) const
 
bool operator< (const BasicSymbolRef &Other) const
 
void moveNext ()
 
std::error_code printName (raw_ostream &OS) const
 
uint32_t getFlags () const
 Get symbol flags (bitwise OR of SymbolRef::Flags) More...
 
DataRefImpl getRawDataRefImpl () const
 
const SymbolicFilegetObject () const
 

Friends

class SectionRef
 

Detailed Description

This is a value type class that represents a single symbol in the list of symbols in the object file.

Definition at line 114 of file ObjectFile.h.

Member Enumeration Documentation

Enumerator
ST_Unknown 
ST_Data 
ST_Debug 
ST_File 
ST_Function 
ST_Other 

Definition at line 120 of file ObjectFile.h.

Constructor & Destructor Documentation

llvm::object::SymbolRef::SymbolRef ( )
inline

Definition at line 118 of file ObjectFile.h.

llvm::object::SymbolRef::SymbolRef ( DataRefImpl  SymbolP,
const ObjectFile Owner 
)
inline

Definition at line 303 of file ObjectFile.h.

llvm::object::SymbolRef::SymbolRef ( const BasicSymbolRef B)
inline

Definition at line 130 of file ObjectFile.h.

References llvm::object::BasicSymbolRef::getObject().

Member Function Documentation

ErrorOr< uint64_t > llvm::object::SymbolRef::getAddress ( ) const
inline

Returns the symbol virtual address (i.e.

address at which it will be mapped).

Definition at line 310 of file ObjectFile.h.

References getObject(), llvm::object::BasicSymbolRef::getRawDataRefImpl(), and llvm::object::ObjectFile::getSymbolAddress().

Referenced by llvm::DWARFContextInMemory::DWARFContextInMemory(), and llvm::getOffset().

uint32_t llvm::object::SymbolRef::getAlignment ( ) const
inline

Get the alignment of this symbol as the actual value (not log 2).

Definition at line 318 of file ObjectFile.h.

References getObject(), llvm::object::BasicSymbolRef::getRawDataRefImpl(), and llvm::object::ObjectFile::getSymbolAlignment().

uint64_t llvm::object::SymbolRef::getCommonSize ( ) const
inline
ErrorOr< StringRef > llvm::object::SymbolRef::getName ( ) const
inline
const ObjectFile * llvm::object::SymbolRef::getObject ( ) const
inline
std::error_code llvm::object::SymbolRef::getSection ( section_iterator Result) const
inline
SymbolRef::Type llvm::object::SymbolRef::getType ( ) const
inline
uint64_t llvm::object::SymbolRef::getValue ( ) const
inline

Return the value of the symbol depending on the object this can be an offset or a virtual address.

Definition at line 314 of file ObjectFile.h.

References getObject(), llvm::object::BasicSymbolRef::getRawDataRefImpl(), and llvm::object::ObjectFile::getSymbolValue().

Referenced by llvm::object::computeSymbolSizes(), and llvm::RuntimeDyldCOFF::getSymbolOffset().

Friends And Related Function Documentation

friend class SectionRef
friend

Definition at line 115 of file ObjectFile.h.


The documentation for this class was generated from the following file: