retdec
Public Member Functions | Private Attributes | List of all members
retdec::common::VtableItem Class Reference

#include <vtable.h>

Collaboration diagram for retdec::common::VtableItem:
Collaboration graph
[legend]

Public Member Functions

 VtableItem (const retdec::common::Address &a=retdec::common::Address::Undefined, const retdec::common::Address &target=retdec::common::Address::Undefined, bool isThumb=false)
 
bool operator< (const VtableItem &o) const
 
bool operator== (const VtableItem &o) const
 
VtableItem set methods.
void setAddress (const retdec::common::Address &a)
 
void setTargetFunctionAddress (const retdec::common::Address &a)
 
void setTargetFunctionName (const std::string &n)
 
void setIsThumb (bool isThumb)
 
VtableItem get methods.
retdec::common::Address getId () const
 
retdec::common::Address getAddress () const
 
retdec::common::Address getTargetFunctionAddress () const
 
std::string getTargetFunctionName () const
 
bool isThumb () const
 

Private Attributes

retdec::common::Address _address
 Virtual table item's address in binary file. More...
 
retdec::common::Address _targetAddress
 Virtual function address for this item. More...
 
std::string _targetFunctionName
 Name (unique ID) of function on target address. More...
 
bool _isThumb = false
 

Detailed Description

Represents C++ virtual table. Table address is its unique ID.

Constructor & Destructor Documentation

◆ VtableItem()

retdec::common::VtableItem::VtableItem ( const retdec::common::Address a = retdec::common::Address::Undefined,
const retdec::common::Address target = retdec::common::Address::Undefined,
bool  isThumb = false 
)

Member Function Documentation

◆ getAddress()

retdec::common::Address retdec::common::VtableItem::getAddress ( ) const
Returns
Virtual table item's address in binary file.

◆ getId()

retdec::common::Address retdec::common::VtableItem::getId ( ) const

◆ getTargetFunctionAddress()

retdec::common::Address retdec::common::VtableItem::getTargetFunctionAddress ( ) const
Returns
Virtual function address for this item.

◆ getTargetFunctionName()

std::string retdec::common::VtableItem::getTargetFunctionName ( ) const
Returns
Name (unique ID) of function on target address.

◆ isThumb()

bool retdec::common::VtableItem::isThumb ( ) const

◆ operator<()

bool retdec::common::VtableItem::operator< ( const VtableItem o) const

Virtual table items are ordered by their addresses in binary file.

◆ operator==()

bool retdec::common::VtableItem::operator== ( const VtableItem o) const

Two virtual table items are equal if their addresses in binary file are equal.

◆ setAddress()

void retdec::common::VtableItem::setAddress ( const retdec::common::Address a)

◆ setIsThumb()

void retdec::common::VtableItem::setIsThumb ( bool  isThumb)

◆ setTargetFunctionAddress()

void retdec::common::VtableItem::setTargetFunctionAddress ( const retdec::common::Address a)

◆ setTargetFunctionName()

void retdec::common::VtableItem::setTargetFunctionName ( const std::string &  n)

Member Data Documentation

◆ _address

retdec::common::Address retdec::common::VtableItem::_address
private

Virtual table item's address in binary file.

◆ _isThumb

bool retdec::common::VtableItem::_isThumb = false
private

Is the target function a THUMB function? This typically means that its address in the table was odd.

◆ _targetAddress

retdec::common::Address retdec::common::VtableItem::_targetAddress
private

Virtual function address for this item.

◆ _targetFunctionName

std::string retdec::common::VtableItem::_targetFunctionName
private

Name (unique ID) of function on target address.


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