ROSE 0.11.145.147
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 310 of file FeasiblePath.h.

#include <Rose/BinaryAnalysis/FeasiblePath.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< FunctionSummarizerPtr
 Reference counting pointer.
 

Public Member Functions

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

Member Typedef Documentation

◆ Ptr

Reference counting pointer.

Definition at line 313 of file FeasiblePath.h.

Constructor & Destructor Documentation

◆ FunctionSummarizer()

Rose::BinaryAnalysis::FeasiblePath::FunctionSummarizer::FunctionSummarizer ( )
inlineprotected

Definition at line 315 of file FeasiblePath.h.

Member Function Documentation

◆ process()

virtual bool Rose::BinaryAnalysis::FeasiblePath::FunctionSummarizer::process ( const FeasiblePath analysis,
const FunctionSummary summary,
const InstructionSemantics::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.

◆ returnValue()

virtual InstructionSemantics::SymbolicSemantics::SValuePtr Rose::BinaryAnalysis::FeasiblePath::FunctionSummarizer::returnValue ( const FeasiblePath analysis,
const FunctionSummary summary,
const InstructionSemantics::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: