Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

AddressIterator Class Reference

#include <Iterator.h>

List of all members.

Public Member Functions

virtual ~AddressIterator ()
bool hasMore ()
bool hasPrev ()
void reset ()
uint8_t unitSize ()
uint64_t operator * ()
uint64_t getOffset ()
uint64_t operator++ ()
uint64_t operator-- ()
uint64_t operator++ (int n)
uint64_t operator-- (int n)
void skip (uint64_t s)
void skipTo (uint64_t s)
bool isInvalid ()
uint64_t readBytes (char *ptr)
void print ()
uint8_t unit ()
bool isWord ()
bool isDouble ()

Static Public Member Functions

AddressIterator newAddressIteratorWord (uint64_t base, uint64_t size)
AddressIterator newAddressIteratorDouble (uint64_t base, uint64_t size)
AddressIterator invalidIterator ()

Protected Member Functions

 AddressIterator (uint64_t base, uint64_t size, uint8_t unit)

Protected Attributes

uint64_t baseAddress
uint64_t sizeInBytes
uint64_t currAddress
uint8_t unitInBytes


Constructor & Destructor Documentation

AddressIterator::AddressIterator uint64_t  base,
uint64_t  size,
uint8_t  unit
[inline, protected]
 

Definition at line 13 of file Iterator.h.

References baseAddress, currAddress, sizeInBytes, unit(), and unitInBytes.

Referenced by invalidIterator(), newAddressIteratorDouble(), and newAddressIteratorWord().

virtual AddressIterator::~AddressIterator  )  [inline, virtual]
 

Definition at line 18 of file Iterator.h.


Member Function Documentation

uint64_t AddressIterator::getOffset  )  [inline]
 

Definition at line 28 of file Iterator.h.

References baseAddress, and currAddress.

Referenced by Function::updateInstructionSize().

bool AddressIterator::hasMore  )  [inline]
 

Definition at line 19 of file Iterator.h.

References baseAddress, currAddress, and sizeInBytes.

Referenced by RawSection::displaySymbols(), BasicBlock::findFirstInstPoint(), BasicBlock::findMemoryFloatOps(), Function::generateCFG(), Function::getJumpTableInformation(), BasicBlock::print(), and Function::updateInstructionSize().

bool AddressIterator::hasPrev  )  [inline]
 

Definition at line 22 of file Iterator.h.

References baseAddress, currAddress, and sizeInBytes.

Referenced by Function::getJumpTableInformation().

AddressIterator AddressIterator::invalidIterator  )  [inline, static]
 

Definition at line 46 of file Iterator.h.

References AddressIterator().

Referenced by RawSection::getAddressIterator().

bool AddressIterator::isDouble  )  [inline]
 

Definition at line 58 of file Iterator.h.

References unitInBytes.

bool AddressIterator::isInvalid  )  [inline]
 

Definition at line 50 of file Iterator.h.

References unitInBytes.

Referenced by RawSection::displaySymbols().

bool AddressIterator::isWord  )  [inline]
 

Definition at line 57 of file Iterator.h.

References unitInBytes.

AddressIterator AddressIterator::newAddressIteratorDouble uint64_t  base,
uint64_t  size
[inline, static]
 

Definition at line 42 of file Iterator.h.

References AddressIterator().

Referenced by DataSection::getAddressIterator().

AddressIterator AddressIterator::newAddressIteratorWord uint64_t  base,
uint64_t  size
[inline, static]
 

Definition at line 38 of file Iterator.h.

References AddressIterator().

Referenced by DataSection::getAddressIterator(), TextSection::getAddressIterator(), Function::getAddressIterator(), Function::getInstructionIterator(), and BasicBlock::getInstructionIterator().

uint64_t AddressIterator::operator *  )  [inline]
 

Definition at line 27 of file Iterator.h.

References currAddress.

uint64_t AddressIterator::operator++ int  n  ) 
 

Definition at line 12 of file Iterator.C.

References currAddress, and operator++().

uint64_t AddressIterator::operator++  ) 
 

Definition at line 4 of file Iterator.C.

References currAddress, and unitSize().

Referenced by operator++().

uint64_t AddressIterator::operator-- int  n  ) 
 

Definition at line 17 of file Iterator.C.

References currAddress, and operator--().

uint64_t AddressIterator::operator--  ) 
 

Definition at line 8 of file Iterator.C.

References currAddress, and unitSize().

Referenced by operator--().

void AddressIterator::print  )  [inline]
 

Definition at line 53 of file Iterator.h.

References baseAddress, currAddress, PRINT_INFOR, and sizeInBytes.

uint64_t AddressIterator::readBytes char *  ptr  ) 
 

Definition at line 22 of file Iterator.C.

References unitSize().

void AddressIterator::reset  )  [inline]
 

Definition at line 25 of file Iterator.h.

References baseAddress, and currAddress.

Referenced by Function::generateCFG().

void AddressIterator::skip uint64_t  s  )  [inline]
 

Definition at line 35 of file Iterator.h.

References currAddress.

void AddressIterator::skipTo uint64_t  s  )  [inline]
 

Definition at line 36 of file Iterator.h.

References currAddress.

Referenced by CountAllBlocks::generateCodeForInst(), BasicBlockTracer::generateCodeForInst(), BasicBlockCounter::generateCodeForInst(), Function::parseJumpTable(), and XCoffFile::readTOC().

uint8_t AddressIterator::unit  )  [inline]
 

Definition at line 55 of file Iterator.h.

References unitInBytes.

Referenced by AddressIterator(), and Function::parseJumpTable().

uint8_t AddressIterator::unitSize  )  [inline]
 

Definition at line 26 of file Iterator.h.

References unitInBytes.

Referenced by operator++(), operator--(), and readBytes().


Member Data Documentation

uint64_t AddressIterator::baseAddress [protected]
 

Definition at line 8 of file Iterator.h.

Referenced by AddressIterator(), getOffset(), hasMore(), hasPrev(), print(), and reset().

uint64_t AddressIterator::currAddress [protected]
 

Definition at line 10 of file Iterator.h.

Referenced by AddressIterator(), getOffset(), hasMore(), hasPrev(), operator *(), operator++(), operator--(), print(), reset(), skip(), and skipTo().

uint64_t AddressIterator::sizeInBytes [protected]
 

Definition at line 9 of file Iterator.h.

Referenced by AddressIterator(), hasMore(), hasPrev(), and print().

uint8_t AddressIterator::unitInBytes [protected]
 

Definition at line 11 of file Iterator.h.

Referenced by AddressIterator(), isDouble(), isInvalid(), isWord(), unit(), and unitSize().


The documentation for this class was generated from the following files:
Generated on Mon Jan 28 11:08:36 2008 for PMaCInstrumentor by doxygen 1.3.5