GraphTool
1.0
Tool for analyzing and graphically visualizing code dependencies for Ericsson.
|
#include <module_graph_builder.h>
Classes | |
class | AddDependencies |
class | AddDependents |
class | AddModule |
class | GraphAdder |
Public Types | |
typedef Grapher< Module *, Dependency< Module, Module > *, CompareModuleByName, CompareModuleDependency > | GraphType |
Public Member Functions | |
ModuleGraphBuilder (Linkler *l) | |
GraphType & | grapher () |
void | graph_all () |
void | graph_all_dependencies () |
void | graph_all_dependents () |
void | graph_single (std::string module) |
void | graph_recursively (std::string module) |
void | graph_dependencies (std::string module) |
void | graph_dependents (std::string module) |
Linkler * | linkler () |
Module * | get (std::string module_name) |
ModuleGraphBuilder builds a Module-grapher object given a linkler. The grapher object is basically a directed graph with vertices and edges, representing modules and dependencies in the linkler.
typedef Grapher<Module*,Dependency<Module,Module>*, CompareModuleByName, CompareModuleDependency> ModuleGraphBuilder::GraphType |
The type of grapher this builder creates
ModuleGraphBuilder::ModuleGraphBuilder | ( | Linkler * | l | ) |
The constructor takes a linkler to base grapher building on. If no linkler is provided a new empty linkler is used.
l | the linkler to use |
Module * ModuleGraphBuilder::get | ( | std::string | module_name | ) |
Returns a pointer to an module in the linkler based on its name.
module_name | name of the module to access |
|
virtual |
Add all Modules found in the linkler to the grapher.
Implements GraphBuilder.
|
virtual |
Add edges for all dependencies of all Modules found in the linkler to the grapher.
Implements GraphBuilder.
|
virtual |
Add edges for all dependents of all modules found in the linkler to the grapher. Note, if you run this together with graph_all_dependencies, you will get two edges for each dependent in the directed graph
Implements GraphBuilder.
|
virtual |
Starting from a given module graph all dependencies for that module. If any of the dependent on modules aren't already in the grapher object, they will be added.
module | name of the module to start from |
Implements GraphBuilder.
|
virtual |
Starting from a given module graph all dependents for that module. If any of the modules which depend on the given one aren't already in the grapher object they will be added.
module | name of the module to start from |
Implements GraphBuilder.
|
virtual |
Starting from a given module graph all dependencies and dependents for that module, and every module reachable through dependencies. Recursively do the same for all modules reachable through dependencies.
module | name of the module to start from |
Implements GraphBuilder.
|
virtual |
Add a specific module (in the linkler) to the grapher object.
module | name of the module to be added |
Implements GraphBuilder.
ModuleGraphBuilder::GraphType & ModuleGraphBuilder::grapher | ( | ) |
Access the grapher object as it has been built so far.
Linkler * ModuleGraphBuilder::linkler | ( | ) |
Returns the linkler used for generating the grapher.