ROSE 0.11.145.192
|
Base class for CFG-adjustment callbacks.
Users may create subclass objects from this class and pass their shared-ownership pointers to the partitioner, in which case the partitioner will invoke one of the callback's virtual function operators every time the control flow graph changes (the call occurs after the CFG has been adjusted). Multiple callbacks are allowed; the list is obtained with the Partitioner::cfgAdjustmentCallbacks method.
Definition at line 238 of file ControlFlowGraph.h.
#include <Rose/BinaryAnalysis/Partitioner2/ControlFlowGraph.h>
Classes | |
struct | AttachedBasicBlock |
Arguments for attaching a basic block. More... | |
struct | DetachedBasicBlock |
Arguments for detaching a basic block. More... | |
Public Types | |
typedef Sawyer::SharedPointer< CfgAdjustmentCallback > | Ptr |
Shared ownership pointer. | |
Public Member Functions | |
virtual bool | operator() (bool chain, const AttachedBasicBlock &)=0 |
Called when basic block is attached or placeholder inserted. | |
virtual bool | operator() (bool chain, const DetachedBasicBlock &)=0 |
Called when basic block is detached or placeholder erased. | |
Public Member Functions inherited from Sawyer::SharedObject | |
SharedObject () | |
Default constructor. | |
SharedObject (const SharedObject &) | |
Copy constructor. | |
virtual | ~SharedObject () |
Virtual destructor. | |
SharedObject & | operator= (const SharedObject &) |
Assignment. | |
typedef Sawyer::SharedPointer<CfgAdjustmentCallback> Rose::BinaryAnalysis::Partitioner2::CfgAdjustmentCallback::Ptr |
Shared ownership pointer.
Definition at line 241 of file ControlFlowGraph.h.
|
pure virtual |
Called when basic block is attached or placeholder inserted.
Implemented in Rose::BinaryAnalysis::Partitioner2::Modules::InstructionLister, Rose::BinaryAnalysis::Partitioner2::Modules::CfgGraphVizDumper, Rose::BinaryAnalysis::Partitioner2::Modules::HexDumper, Rose::BinaryAnalysis::Partitioner2::Modules::Debugger, and Rose::BinaryAnalysis::Partitioner2::Engine::CodeConstants.
|
pure virtual |
Called when basic block is detached or placeholder erased.
Implemented in Rose::BinaryAnalysis::Partitioner2::Modules::InstructionLister, Rose::BinaryAnalysis::Partitioner2::Modules::CfgGraphVizDumper, Rose::BinaryAnalysis::Partitioner2::Modules::HexDumper, Rose::BinaryAnalysis::Partitioner2::Modules::Debugger, and Rose::BinaryAnalysis::Partitioner2::Engine::CodeConstants.