ROSE 0.11.145.277
|
Entries in a jump table.
Entries are transformed to target addresses in a couple different ways:
Definition at line 37 of file JumpTable.h.
#include <Rose/BinaryAnalysis/Partitioner2/JumpTable.h>
Public Types | |
using | Ptr = std::shared_ptr< Entries > |
![]() | |
using | Ptr = std::shared_ptr< Entries > |
Shared-ownership pointer. | |
Public Member Functions | |
const std::vector< Address > & | targets () const |
Return the targets. | |
size_t | size () const override |
Number of entries stored. | |
bool | maybeAppend (const MemoryTable *, Address entryAddr, const std::vector< uint8_t > &bytes) override |
Parse a table entry and append to this list if the entry is valid. | |
bool | maybePrepend (const MemoryTable *, Address entryAddr, const std::vector< uint8_t > &bytes) override |
Parse a table entry and prepend to this list if the entry is valid. | |
![]() | |
bool | empty () const |
True if there are no entries. | |
Static Public Member Functions | |
static Ptr | instance () |
using Rose::BinaryAnalysis::Partitioner2::JumpTable::Entries::Ptr = std::shared_ptr<Entries> |
Definition at line 39 of file JumpTable.h.
|
overridevirtual |
Number of entries stored.
Implements Rose::BinaryAnalysis::Partitioner2::MemoryTable::Entries.
|
overridevirtual |
Parse a table entry and append to this list if the entry is valid.
Given the table entry address and bytes obtained from memory, parse the entry and append it to this object. Returns true if the entry is valid, false if invalid.
Implements Rose::BinaryAnalysis::Partitioner2::MemoryTable::Entries.
|
overridevirtual |
Parse a table entry and prepend to this list if the entry is valid.
Given the table entry address and bytes obtained from memory, parse the entry and prepend it to this object. Returns true if the entry is valid, false if invalid.
Implements Rose::BinaryAnalysis::Partitioner2::MemoryTable::Entries.