ROSE 0.11.145.147
|
Basic block callback to detect "switch" statements.
Examines the instructions of a basic block to determine if they are from a C "switch"-like statement and attempts to find the "case" labels, adding them as successors to this basic block.
Definition at line 107 of file ModulesX86.h.
#include <Rose/BinaryAnalysis/Partitioner2/ModulesX86.h>
Public Types | |
enum | EntryType { ABSOLUTE , RELATIVE } |
Public Types inherited from Rose::BinaryAnalysis::Partitioner2::BasicBlockCallback | |
enum | Termination { CONTINUE_DISCOVERY , TERMINATE_NOW , TERMINATE_PRIOR } |
Whether to terminate a basic block. More... | |
using | Ptr = BasicBlockCallbackPtr |
Shared-ownership pointer to a BasicBlockCallback. | |
Public Member Functions | |
virtual bool | operator() (bool chain, const Args &) override |
Callback method. | |
Public Member Functions inherited from Sawyer::SharedObject | |
SharedObject () | |
Default constructor. | |
SharedObject (const SharedObject &) | |
Copy constructor. | |
virtual | ~SharedObject () |
Virtual destructor. | |
SharedObject & | operator= (const SharedObject &) |
Assignment. | |
Static Public Member Functions | |
static Ptr | instance () |
Allocating constructor. | |
enum Rose::BinaryAnalysis::Partitioner2::ModulesX86::SwitchSuccessors::EntryType |
Definition at line 109 of file ModulesX86.h.
|
inline |
Definition at line 117 of file ModulesX86.h.
|
inlinestatic |
Allocating constructor.
Definition at line 119 of file ModulesX86.h.
|
overridevirtual |
Callback method.
This is the method invoked for the callback. The chain
argument is the return value from the previous callback in the list (true for the first callback). The successor callbacks use chain
to indicate whether subsequent callbacks should do anything.
Implements Rose::BinaryAnalysis::Partitioner2::BasicBlockCallback.