OA::SideEffect::InterSideEffectIRInterface Class Reference

#include <InterSideEffectIRInterface.hpp>

Inheritance diagram for OA::SideEffect::InterSideEffectIRInterface:
Inheritance graph
[legend]
Collaboration diagram for OA::SideEffect::InterSideEffectIRInterface:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 InterSideEffectIRInterface ()
virtual ~InterSideEffectIRInterface ()
virtual OA_ptr
< SideEffect::SideEffectStandard
getSideEffect (ProcHandle caller, SymHandle calleesym)=0
virtual std::string toString (const ProcHandle h)=0
virtual std::string toString (const StmtHandle h)=0
virtual std::string toString (const ExprHandle h)=0
virtual std::string toString (const OpHandle h)=0
virtual std::string toString (const MemRefHandle h)=0
virtual std::string toString (const SymHandle h)=0
virtual std::string toString (const ConstSymHandle h)=0
virtual std::string toString (const ConstValHandle h)=0

Detailed Description

The InterSideEffectIRInterface abstract base class gives a set of methods for querying the source IR for information relevant to interprocedural SideEffect Analysis. This is the primary interface for interprocedural SideEffect to the underlying intermediate representation.

Definition at line 32 of file InterSideEffectIRInterface.hpp.


Constructor & Destructor Documentation

OA::SideEffect::InterSideEffectIRInterface::InterSideEffectIRInterface (  )  [inline]

Definition at line 36 of file InterSideEffectIRInterface.hpp.

virtual OA::SideEffect::InterSideEffectIRInterface::~InterSideEffectIRInterface (  )  [inline, virtual]

Definition at line 37 of file InterSideEffectIRInterface.hpp.


Member Function Documentation

virtual OA_ptr<SideEffect::SideEffectStandard> OA::SideEffect::InterSideEffectIRInterface::getSideEffect ( ProcHandle  caller,
SymHandle  calleesym 
) [pure virtual]

For the given callee subprocedure symbol return side-effect results Can only indicate that the procedure has no side effects, has side effects on unknown locations, or on global locations. Can't indicate subprocedure has sideeffects on parameters because don't have a way to get mapping of formal parameters to actuals in caller. FIXME?: for now assuming that the intra-procedural results are SideEffectStandard because the ManagerInterSideEffectStandard will need to have access to the construction methods

Implemented in OA::SideEffect::InterSideEffectIRInterfaceDefault.

virtual std::string OA::SideEffect::InterSideEffectIRInterface::toString ( const ConstValHandle  h  )  [pure virtual]
virtual std::string OA::SideEffect::InterSideEffectIRInterface::toString ( const ConstSymHandle  h  )  [pure virtual]
virtual std::string OA::SideEffect::InterSideEffectIRInterface::toString ( const SymHandle  h  )  [pure virtual]
virtual std::string OA::SideEffect::InterSideEffectIRInterface::toString ( const MemRefHandle  h  )  [pure virtual]
virtual std::string OA::SideEffect::InterSideEffectIRInterface::toString ( const OpHandle  h  )  [pure virtual]
virtual std::string OA::SideEffect::InterSideEffectIRInterface::toString ( const ExprHandle  h  )  [pure virtual]
virtual std::string OA::SideEffect::InterSideEffectIRInterface::toString ( const StmtHandle  h  )  [pure virtual]
virtual std::string OA::SideEffect::InterSideEffectIRInterface::toString ( const ProcHandle  h  )  [pure virtual]

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

Generated on Sat Oct 31 05:32:57 2009 for OpenAnalysis by  doxygen 1.6.1