ROSE
0.9.6a
|
#include <callingcontext.h>
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... | |
procedureAnn * | procedure_annotations () const |
Get the library procedure annotations. More... | |
procedureInfo * | caller () const |
Get the caller info. More... | |
Annotations * | annotations () 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... | |
Definition at line 7 of file callingcontext.h.
callingContext::callingContext | ( | procLocation * | where, |
operandNode * | call, | ||
propertyAnalyzer * | property_analyzer, | ||
procedureAnn * | procedure_annotations, | ||
procedureInfo * | caller, | ||
Annotations * | annotations | ||
) |
Create a new calling context.
|
inline |
|
inline |
|
inline |
Get the dataflow analysis object.
Definition at line 56 of file callingcontext.h.
References _property_analyzer.
|
inline |
Get the library procedure annotations.
Definition at line 60 of file callingcontext.h.
References _procedure_annotations.
|
inline |
|
inline |
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.
|
private |
|
private |
The call in the application program.
Definition at line 17 of file callingcontext.h.
Referenced by call().
|
private |
Dataflow analysis object.
Definition at line 21 of file callingcontext.h.
Referenced by property_analyzer().
|
private |
Annotations for the library call.
Definition at line 25 of file callingcontext.h.
Referenced by procedure_annotations().
|
private |
|
private |