ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
callingContext Class Reference

#include <callingcontext.h>

Collaboration diagram for callingContext:

Public Member Functions

 callingContext (procLocation *where, operandNode *call, propertyAnalyzer *property_analyzer, procedureAnn *procedure_annotations, procedureInfo *caller, Annotations *annotations)
 Create a new calling context. More...
 
procLocation * where () const
 Get the call site location. More...
 
operandNode * call () const
 Get the callNode. More...
 
propertyAnalyzer * property_analyzer () const
 Get the dataflow analysis object. More...
 
procedureAnnprocedure_annotations () const
 Get the library procedure annotations. More...
 
procedureInfo * caller () const
 Get the caller info. More...
 
Annotationsannotations () const
 Get all annotations. More...
 
stmtLocation * def_use_location ()
 Get the special def/use location. More...
 
stmtLocation * dealloc_location ()
 Get the special deallocation location. More...
 
void set_current_def_and_use (pointerValue &ptr)
 Set current defs and uses. More...
 

Private Attributes

procLocation * _where
 Call site location. More...
 
operandNode * _call
 The call in the application program. More...
 
propertyAnalyzer * _property_analyzer
 Dataflow analysis object. More...
 
procedureAnn_procedure_annotations
 Annotations for the library call. More...
 
procedureInfo * _caller
 Caller info. More...
 
Annotations_annotations
 All annotations. More...
 

Detailed Description

Definition at line 7 of file callingcontext.h.

Constructor & Destructor Documentation

callingContext::callingContext ( procLocation *  where,
operandNode *  call,
propertyAnalyzer *  property_analyzer,
procedureAnn procedure_annotations,
procedureInfo *  caller,
Annotations annotations 
)

Create a new calling context.

Member Function Documentation

procLocation* callingContext::where ( ) const
inline

Get the call site location.

Definition at line 48 of file callingcontext.h.

References _where.

operandNode* callingContext::call ( ) const
inline

Get the callNode.

Definition at line 52 of file callingcontext.h.

References _call.

propertyAnalyzer* callingContext::property_analyzer ( ) const
inline

Get the dataflow analysis object.

Definition at line 56 of file callingcontext.h.

References _property_analyzer.

procedureAnn* callingContext::procedure_annotations ( ) const
inline

Get the library procedure annotations.

Definition at line 60 of file callingcontext.h.

References _procedure_annotations.

procedureInfo* callingContext::caller ( ) const
inline

Get the caller info.

Definition at line 65 of file callingcontext.h.

References _caller.

Annotations* callingContext::annotations ( ) const
inline

Get all annotations.

Definition at line 69 of file callingcontext.h.

References _annotations.

stmtLocation* callingContext::def_use_location ( )

Get the special def/use location.

This is the stmtLocation used to attach all defs and uses that occur within an annotation.

stmtLocation* callingContext::dealloc_location ( )

Get the special deallocation location.

This is the stmtLocation used to attach all deallocations. It is chosen to dominate the def/use location so that deallocation/allocation pairs work properly with the multiplicity analysis.

void callingContext::set_current_def_and_use ( pointerValue &  ptr)

Set current defs and uses.

For the given pointerValue (set of memoryBlocks), set the current_def and current_use for this context.

Member Data Documentation

procLocation* callingContext::_where
private

Call site location.

Definition at line 13 of file callingcontext.h.

Referenced by where().

operandNode* callingContext::_call
private

The call in the application program.

Definition at line 17 of file callingcontext.h.

Referenced by call().

propertyAnalyzer* callingContext::_property_analyzer
private

Dataflow analysis object.

Definition at line 21 of file callingcontext.h.

Referenced by property_analyzer().

procedureAnn* callingContext::_procedure_annotations
private

Annotations for the library call.

Definition at line 25 of file callingcontext.h.

Referenced by procedure_annotations().

procedureInfo* callingContext::_caller
private

Caller info.

Definition at line 29 of file callingcontext.h.

Referenced by caller().

Annotations* callingContext::_annotations
private

All annotations.

Definition at line 33 of file callingcontext.h.

Referenced by annotations().


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