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.

Namespaces

namespace  CallTargetSet

Classes

class  FunctionData
struct  dummyFilter
 A function object to be used as a predicate to filter out functions in a call graph. More...
class  CallGraphBuilder
class  GetOneFuncDeclarationPerFunction

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.
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.
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.
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.


Typedef Documentation

typedef Rose_STL_Container<SgFunctionDeclaration *> SgFunctionDeclarationPtrList

Definition at line 19 of file CallGraph.h.

typedef Rose_STL_Container<SgClassDefinition *> SgClassDefinitionPtrList

Definition at line 22 of file CallGraph.h.


Function Documentation

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

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


Generated on Wed May 16 06:18:31 2012 for ROSE by  doxygen 1.4.7