CallTargetSet Namespace Reference


Typedefs

typedef Rose_STL_Container<
SgFunctionDeclaration * > 
SgFunctionDeclarationPtrList
typedef Rose_STL_Container<
SgClassDefinition * > 
SgClassDefinitionPtrList

Functions

std::vector< SgFunctionDeclaration * > solveFunctionPointerCall (SgPointerDerefExp *, SgProject *)
std::vector< SgFunctionDeclaration * > solveMemberFunctionPointerCall (SgExpression *, ClassHierarchyWrapper *)
Rose_STL_Container< SgFunctionDeclaration * > solveFunctionPointerCallsFunctional (SgNode *node, SgFunctionType *functionType)
std::vector< SgFunctionDeclaration * > solveMemberFunctionCall (SgClassType *, ClassHierarchyWrapper *, SgMemberFunctionDeclaration *, bool, bool includePureVirtualFunc=false)
std::vector< SgFunctionDeclaration * > solveConstructorInitializer (SgConstructorInitializer *sgCtorInit)
 Returns the list of all constructors that may get called via an initialization.
void getPropertiesForExpression (SgExpression *exp, ClassHierarchyWrapper *classHierarchy, Rose_STL_Container< SgFunctionDeclaration * > &propList, bool includePureVirtualFunc=false)
void getDefinitionsForExpression (SgExpression *exp, ClassHierarchyWrapper *classHierarchy, Rose_STL_Container< SgFunctionDefinition * > &calleeList)
 Populates functionList with definitions of all functions that may get called.
void getDeclarationsForExpression (SgExpression *exp, ClassHierarchyWrapper *classHierarchy, Rose_STL_Container< SgFunctionDeclaration * > &calleeList, bool includePureVirtualFunc=false)
 Populates functionList with declarations of all functions that may get called.
void getExpressionsForDefinition (SgFunctionDefinition *targetDef, ClassHierarchyWrapper *classHierarchy, Rose_STL_Container< SgExpression * > &exps)
SgFunctionDeclarationgetFirstVirtualFunctionDefinitionFromAncestors (SgClassType *crtClass, SgMemberFunctionDeclaration *memberFunctionDeclaration, ClassHierarchyWrapper *classHierarchy)


Typedef Documentation

typedef Rose_STL_Container<SgFunctionDeclaration *> CallTargetSet::SgFunctionDeclarationPtrList

Definition at line 33 of file CallGraph.h.

typedef Rose_STL_Container<SgClassDefinition *> CallTargetSet::SgClassDefinitionPtrList

Definition at line 34 of file CallGraph.h.


Function Documentation

std::vector<SgFunctionDeclaration*> CallTargetSet::solveFunctionPointerCall ( SgPointerDerefExp ,
SgProject  
)

std::vector<SgFunctionDeclaration*> CallTargetSet::solveMemberFunctionPointerCall ( SgExpression ,
ClassHierarchyWrapper  
)

Rose_STL_Container<SgFunctionDeclaration*> CallTargetSet::solveFunctionPointerCallsFunctional ( SgNode node,
SgFunctionType functionType 
)

std::vector<SgFunctionDeclaration*> CallTargetSet::solveMemberFunctionCall ( SgClassType ,
ClassHierarchyWrapper ,
SgMemberFunctionDeclaration ,
bool  ,
bool  includePureVirtualFunc = false 
)

std::vector<SgFunctionDeclaration*> CallTargetSet::solveConstructorInitializer ( SgConstructorInitializer sgCtorInit  ) 

Returns the list of all constructors that may get called via an initialization.

FIXME: There is a bug in this function. Consider the inheritance hierarchy A -> B -> C (C inherits from B, B inherits from A). Let C have an explicit constructor, without explictly calling B's constructor. We will only return the constructor for C

void CallTargetSet::getPropertiesForExpression ( SgExpression exp,
ClassHierarchyWrapper classHierarchy,
Rose_STL_Container< SgFunctionDeclaration * > &  propList,
bool  includePureVirtualFunc = false 
)

void CallTargetSet::getDefinitionsForExpression ( SgExpression exp,
ClassHierarchyWrapper classHierarchy,
Rose_STL_Container< SgFunctionDefinition * > &  calleeList 
)

Populates functionList with definitions of all functions that may get called.

This is basically a wrapper around getPropertiesForExpression that extracts the SgFunctionDefinition from the Properties object. This returns only callees that have definitions - to get all possible callees, use getDeclarationsForExpression

void CallTargetSet::getDeclarationsForExpression ( SgExpression exp,
ClassHierarchyWrapper classHierarchy,
Rose_STL_Container< SgFunctionDeclaration * > &  calleeList,
bool  includePureVirtualFunc = false 
)

Populates functionList with declarations of all functions that may get called.

This is basically a wrapper around getPropertiesForExpression.

void CallTargetSet::getExpressionsForDefinition ( SgFunctionDefinition targetDef,
ClassHierarchyWrapper classHierarchy,
Rose_STL_Container< SgExpression * > &  exps 
)

SgFunctionDeclaration* CallTargetSet::getFirstVirtualFunctionDefinitionFromAncestors ( SgClassType crtClass,
SgMemberFunctionDeclaration memberFunctionDeclaration,
ClassHierarchyWrapper classHierarchy 
)


Generated on Sat May 19 01:09:00 2012 for ROSE by  doxygen 1.4.7