ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CallGraph.h File Reference
#include <AstInterface.h>
#include <GraphDotOutput.h>
#include <VirtualGraphCreate.h>
#include "AstDiagnostics.h"
#include <sstream>
#include <iostream>
#include <string>
#include <functional>
#include <queue>
#include <boost/foreach.hpp>
#include <boost/unordered_map.hpp>
#include "ClassHierarchyGraph.h"
Include dependency graph for CallGraph.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  FunctionData
 
struct  dummyFilter
 A function object to be used as a predicate to filter out functions in a call graph: it does not filter out anything. More...
 
struct  builtinFilter
 A function object to filter out builtin functions in a call graph (only non-builtin functions will be considered) More...
 
class  CallGraphBuilder
 
class  GetOneFuncDeclarationPerFunction
 

Namespaces

 CallTargetSet
 

Constant Groups

 CallTargetSet
 

Typedefs

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

Functions

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. More...
 
ROSE_DLL_API 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. More...
 
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. More...
 
void CallTargetSet::getExpressionsForDefinition (SgFunctionDefinition *targetDef, ClassHierarchyWrapper *classHierarchy, Rose_STL_Container< SgExpression * > &exps)
 
SgFunctionDeclarationCallTargetSet::getFirstVirtualFunctionDefinitionFromAncestors (SgClassType *crtClass, SgMemberFunctionDeclaration *memberFunctionDeclaration, ClassHierarchyWrapper *classHierarchy)
 
void GenerateDotGraph (SgIncidenceDirectedGraph *graph, std::string fileName)
 Generate a dot graph named 'fileName' from a call graph. More...
 

Typedef Documentation

Function Documentation

void GenerateDotGraph ( SgIncidenceDirectedGraph graph,
std::string  fileName 
)

Generate a dot graph named 'fileName' from a call graph.