retdec
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
retdec::bin2llvmir::RangesToDecode Class Reference

#include <decoder_ranges.h>

Public Member Functions

void addPrimary (common::Address s, common::Address e)
 
void addPrimary (const common::AddressRange &r)
 
void addAlternative (common::Address s, common::Address e)
 
void addAlternative (const common::AddressRange &r)
 
void promoteAlternativeToPrimary ()
 
void remove (common::Address s, common::Address e)
 
void remove (const common::AddressRange &r)
 
void removeZeroSequences (FileImage *image)
 
bool isStrict () const
 
bool primaryEmpty () const
 
bool alternativeEmpty () const
 
const common::AddressRangeprimaryFront () const
 
const common::AddressRangealternativeFront () const
 
const common::AddressRangegetPrimary (common::Address a) const
 
const common::AddressRangegetAlternative (common::Address a) const
 
const common::AddressRangeget (common::Address a) const
 
void setArchitectureInstructionAlignment (unsigned a)
 

Private Member Functions

void removeZeroSequences (FileImage *image, common::AddressRangeContainer &rs)
 

Private Attributes

common::AddressRangeContainer _primaryRanges
 
common::AddressRangeContainer _alternativeRanges
 
unsigned archInsnAlign = 0
 
bool _strict = false
 

Friends

std::ostream & operator<< (std::ostream &os, const RangesToDecode &rs)
 

Member Function Documentation

◆ addAlternative() [1/2]

void retdec::bin2llvmir::RangesToDecode::addAlternative ( common::Address  s,
common::Address  e 
)

◆ addAlternative() [2/2]

void retdec::bin2llvmir::RangesToDecode::addAlternative ( const common::AddressRange r)

◆ addPrimary() [1/2]

void retdec::bin2llvmir::RangesToDecode::addPrimary ( common::Address  s,
common::Address  e 
)

◆ addPrimary() [2/2]

void retdec::bin2llvmir::RangesToDecode::addPrimary ( const common::AddressRange r)

◆ alternativeEmpty()

bool retdec::bin2llvmir::RangesToDecode::alternativeEmpty ( ) const

◆ alternativeFront()

const common::AddressRange & retdec::bin2llvmir::RangesToDecode::alternativeFront ( ) const

◆ get()

const common::AddressRange * retdec::bin2llvmir::RangesToDecode::get ( common::Address  a) const

◆ getAlternative()

const common::AddressRange * retdec::bin2llvmir::RangesToDecode::getAlternative ( common::Address  a) const

◆ getPrimary()

const common::AddressRange * retdec::bin2llvmir::RangesToDecode::getPrimary ( common::Address  a) const

◆ isStrict()

bool retdec::bin2llvmir::RangesToDecode::isStrict ( ) const

◆ primaryEmpty()

bool retdec::bin2llvmir::RangesToDecode::primaryEmpty ( ) const

◆ primaryFront()

const common::AddressRange & retdec::bin2llvmir::RangesToDecode::primaryFront ( ) const

◆ promoteAlternativeToPrimary()

void retdec::bin2llvmir::RangesToDecode::promoteAlternativeToPrimary ( )

◆ remove() [1/2]

void retdec::bin2llvmir::RangesToDecode::remove ( common::Address  s,
common::Address  e 
)

◆ remove() [2/2]

void retdec::bin2llvmir::RangesToDecode::remove ( const common::AddressRange r)

◆ removeZeroSequences() [1/2]

void retdec::bin2llvmir::RangesToDecode::removeZeroSequences ( FileImage image)

◆ removeZeroSequences() [2/2]

void retdec::bin2llvmir::RangesToDecode::removeZeroSequences ( FileImage image,
common::AddressRangeContainer rs 
)
private

◆ setArchitectureInstructionAlignment()

void retdec::bin2llvmir::RangesToDecode::setArchitectureInstructionAlignment ( unsigned  a)

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const RangesToDecode rs 
)
friend

Member Data Documentation

◆ _alternativeRanges

common::AddressRangeContainer retdec::bin2llvmir::RangesToDecode::_alternativeRanges
private

◆ _primaryRanges

common::AddressRangeContainer retdec::bin2llvmir::RangesToDecode::_primaryRanges
private

◆ _strict

bool retdec::bin2llvmir::RangesToDecode::_strict = false
private

◆ archInsnAlign

unsigned retdec::bin2llvmir::RangesToDecode::archInsnAlign = 0
private

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