Skip to content

CallTargetSet

Functions

Name

Description

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

Populates functionList with declarations of all functions that may get called. This is basically a wrapper around getPropertiesForExpression.

getDefinitionsForExpression
void getDefinitionsForExpression(SgExpression* exp, ClassHierarchyWrapper* classHierarchy, std::vector<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

getExpressionsForDefinition
void getExpressionsForDefinition(SgFunctionDefinition* targetDef, ClassHierarchyWrapper* classHierarchy, std::vector<SgExpression*>& exps);

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

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

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

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

solveFunctionPointerCall
std::vector<SgFunctionDeclaration*> solveFunctionPointerCall(SgPointerDerefExp* pointerDerefExp);

Finds all functions that match the function type of pointerDerefExp

solveFunctionPointerCallsFunctional
std::vector<SgFunctionDeclaration*> solveFunctionPointerCallsFunctional(SgNode* node, SgFunctionType* functionType);

Checks if the functionDeclaration (node) matches functionType

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

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

Created with MrDocs