ROSE  0.9.10.47
Public Types | Public Member Functions | List of all members
Rose::BinaryAnalysis::FeasiblePath::FunctionSummarizer Class Referenceabstract

Description

Base class for callbacks for function summaries.

See the functionSummarizer property. These objects are reference counted and allocated on the heap.

Definition at line 147 of file BinaryFeasiblePath.h.

#include <BinaryFeasiblePath.h>

Inheritance diagram for Rose::BinaryAnalysis::FeasiblePath::FunctionSummarizer:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::FeasiblePath::FunctionSummarizer:
Collaboration graph
[legend]

Public Types

typedef Sawyer::SharedPointer
< FunctionSummarizer
Ptr
 Reference counting pointer. More...
 

Public Member Functions

virtual void init (const FeasiblePath &analysis, FunctionSummary &summary, const Partitioner2::Function::Ptr &function, Partitioner2::ControlFlowGraph::ConstVertexIterator cfgCallTarget)=0
 Invoked when a new summary is created. More...
 
virtual bool process (const FeasiblePath &analysis, const FunctionSummary &summary, const InstructionSemantics2::SymbolicSemantics::RiscOperatorsPtr &ops)=0
 Invoked when the analysis traverses the summary. More...
 
virtual
InstructionSemantics2::SymbolicSemantics::SValuePtr 
returnValue (const FeasiblePath &analysis, const FunctionSummary &summary, const InstructionSemantics2::SymbolicSemantics::RiscOperatorsPtr &ops)=0
 Return value for function. More...
 
- Public Member Functions inherited from Sawyer::SharedObject
 SharedObject ()
 Default constructor. More...
 
 SharedObject (const SharedObject &)
 Copy constructor. More...
 
virtual ~SharedObject ()
 Virtual destructor. More...
 
SharedObjectoperator= (const SharedObject &)
 Assignment. More...
 

Member Typedef Documentation

Reference counting pointer.

Definition at line 150 of file BinaryFeasiblePath.h.

Member Function Documentation

virtual void Rose::BinaryAnalysis::FeasiblePath::FunctionSummarizer::init ( const FeasiblePath analysis,
FunctionSummary summary,
const Partitioner2::Function::Ptr function,
Partitioner2::ControlFlowGraph::ConstVertexIterator  cfgCallTarget 
)
pure virtual

Invoked when a new summary is created.

virtual bool Rose::BinaryAnalysis::FeasiblePath::FunctionSummarizer::process ( const FeasiblePath analysis,
const FunctionSummary summary,
const InstructionSemantics2::SymbolicSemantics::RiscOperatorsPtr ops 
)
pure virtual

Invoked when the analysis traverses the summary.

Returns true if the function was processed, false if we decline to process the function. If returning false, then the caller will do some basic processing based on the calling convention.

virtual InstructionSemantics2::SymbolicSemantics::SValuePtr Rose::BinaryAnalysis::FeasiblePath::FunctionSummarizer::returnValue ( const FeasiblePath analysis,
const FunctionSummary summary,
const InstructionSemantics2::SymbolicSemantics::RiscOperatorsPtr ops 
)
pure virtual

Return value for function.

This is called after process in order to obtain the primary return value for the function. If the function doesn't return anything, then this method returns a null pointer.


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