ROSE
0.11.145.0
|
Emits a modified function call graph.
The function call graph is modified by removing all vertices whose function names match a user-specified pattern and compensating by listing the names of removed functions in the vertices of the callers. This is a little bit like inlining, thus the name of the class.
Definition at line 829 of file GraphViz.h.
#include <Rose/BinaryAnalysis/Partitioner2/GraphViz.h>
Public Member Functions | |
CgInlinedEmitter (const PartitionerConstPtr &partitioner, const boost::regex &nameMatcher) | |
CgInlinedEmitter (const PartitionerConstPtr &partitioner, const FunctionCallGraph &cg, const boost::regex &nameMatcher) | |
virtual const FunctionCallGraph & | callGraph () const override |
virtual void | callGraph (const FunctionCallGraph &) override |
virtual std::string | functionLabel (const FunctionPtr &) const override |
virtual bool | shouldInline (const FunctionPtr &) const |
![]() | |
CgEmitter (const PartitionerConstPtr &partitioner) | |
CgEmitter (const PartitionerConstPtr &partitioner, const FunctionCallGraph &cg) | |
virtual Attributes | functionAttributes (const FunctionPtr &) const |
virtual void | emitCallGraph (std::ostream &out) const |
virtual void | highlight (const boost::regex &) |
![]() | |
BaseEmitter () | |
Default constructor. More... | |
BaseEmitter (const Graph &g) | |
Constructor. More... | |
void | graph (const Graph &g) |
Reset the graph. More... | |
void | selectAll (bool b=true) |
Causes all vertices and edges to be selected. More... | |
void | selectNone () |
Deselects all vertices and edges. More... | |
void | selectAllVertices (bool b=true) |
Causes all vertices to be selected. More... | |
void | selectAllEdges (bool b=true) |
Causes all edges to be selected. More... | |
void | deselectParallelEdges () |
Deselect all but one parallel edge. More... | |
virtual void | emit (std::ostream &) const |
Dump selected vertices, edges, and subgraphs. More... | |
Attributes & | defaultGraphAttributes () |
Property: default graph attributes. More... | |
const Attributes & | defaultGraphAttributes () const |
Property: default graph attributes. More... | |
Attributes & | defaultNodeAttributes () |
Property: default graph node attributes. More... | |
const Attributes & | defaultNodeAttributes () const |
Property: default graph node attributes. More... | |
Attributes & | defaultEdgeAttributes () |
Property: default graph edge attributes. More... | |
const Attributes & | defaultEdgeAttributes () const |
Property: default graph edge attributes. More... | |
const Color::HSV & | subgraphColor () const |
Property: color to use for function subgraph background. | |
void | subgraphColor (const Color::HSV &bg) |
Property: color to use for function subgraph background. | |
const VertexOrganization & | vertexOrganization () const |
Property: Controls which vertices are to appear in the output, and how. More... | |
VertexOrganization & | vertexOrganization () |
Property: Controls which vertices are to appear in the output, and how. More... | |
const Organization & | vertexOrganization (size_t vertexId) const |
Property: Controls which vertices are to appear in the output, and how. More... | |
Organization & | vertexOrganization (size_t vertexId) |
Property: Controls which vertices are to appear in the output, and how. More... | |
const Organization & | vertexOrganization (const typename FunctionCallGraph::Graph::ConstVertexIterator &vertex) const |
Property: Controls which vertices are to appear in the output, and how. More... | |
const Organization & | vertexOrganization (const typename FunctionCallGraph::Graph::Vertex &vertex) const |
Property: Controls which vertices are to appear in the output, and how. More... | |
Organization & | vertexOrganization (const typename FunctionCallGraph::Graph::ConstVertexIterator &vertex) |
Property: Controls which vertices are to appear in the output, and how. More... | |
Organization & | vertexOrganization (const typename FunctionCallGraph::Graph::Vertex &vertex) |
Property: Controls which vertices are to appear in the output, and how. More... | |
const EdgeOrganization & | edgeOrganization () const |
Property: Controls which edges are to appear in the output, and how. More... | |
EdgeOrganization & | edgeOrganization () |
Property: Controls which edges are to appear in the output, and how. More... | |
const Organization & | edgeOrganization (size_t edgeId) const |
Property: Controls which edges are to appear in the output, and how. More... | |
Organization & | edgeOrganization (size_t edgeId) |
Property: Controls which edges are to appear in the output, and how. More... | |
const Organization & | edgeOrganization (const typename FunctionCallGraph::Graph::ConstEdgeIterator &edge) const |
Property: Controls which edges are to appear in the output, and how. More... | |
const Organization & | edgeOrganization (const typename FunctionCallGraph::Graph::Edge &edge) const |
Property: Controls which edges are to appear in the output, and how. More... | |
Organization & | edgeOrganization (const typename FunctionCallGraph::Graph::ConstEdgeIterator &edge) |
Property: Controls which edges are to appear in the output, and how. More... | |
Organization & | edgeOrganization (const typename FunctionCallGraph::Graph::Edge &edge) |
Property: Controls which edges are to appear in the output, and how. More... | |
const SubgraphOrganization & | subgraphOrganization () const |
Property: Controls which subgraphs appear in the output, and how. More... | |
SubgraphOrganization & | subgraphOrganization () |
Property: Controls which subgraphs appear in the output, and how. More... | |
const Organization & | subgraphOrganization (const std::string &name) const |
Property: Controls which subgraphs appear in the output, and how. More... | |
Organization & | subgraphOrganization (const std::string &name) |
Property: Controls which subgraphs appear in the output, and how. More... | |
Additional Inherited Members | |
![]() | |
typedef FunctionCallGraph::Graph | Graph |
typedef std::vector< Organization > | VertexOrganization |
Organizational information for vertices. More... | |
typedef std::vector< Organization > | EdgeOrganization |
Organizational information for edges. More... | |
typedef Sawyer::Container::Map< std::string, Organization > | SubgraphOrganization |
Organizational information for subgraphs. More... | |
![]() | |
typedef Sawyer::Container::Map< size_t, size_t > | VMap |
![]() | |
size_t | emitVertex (std::ostream &, const typename FunctionCallGraph::Graph::ConstVertexIterator &, const Organization &, const VMap &) const |
Emit a single vertex if it hasn't been emitted already. More... | |
void | emitEdge (std::ostream &, const typename FunctionCallGraph::Graph::ConstEdgeIterator &, const Organization &, const VMap &) const |
Emit a single edge. More... | |
![]() | |
Graph | graph_ |
VertexOrganization | vertexOrganization_ |
EdgeOrganization | edgeOrganization_ |
SubgraphOrganization | subgraphOrganization_ |
Attributes | defaultGraphAttributes_ |
Attributes | defaultNodeAttributes_ |
Attributes | defaultEdgeAttributes_ |
std::list< PseudoEdge > | pseudoEdges_ |
Color::HSV | subgraphColor_ |