ROSE 0.11.145.147
Public Member Functions | List of all members
Rose::BinaryAnalysis::Partitioner2::GraphViz::CgInlinedEmitter Class Reference

Description

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>

Inheritance diagram for Rose::BinaryAnalysis::Partitioner2::GraphViz::CgInlinedEmitter:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::Partitioner2::GraphViz::CgInlinedEmitter:
Collaboration graph
[legend]

Public Member Functions

 CgInlinedEmitter (const PartitionerConstPtr &partitioner, const boost::regex &nameMatcher)
 
 CgInlinedEmitter (const PartitionerConstPtr &partitioner, const FunctionCallGraph &cg, const boost::regex &nameMatcher)
 
virtual const FunctionCallGraphcallGraph () const override
 
virtual void callGraph (const FunctionCallGraph &) override
 
virtual std::string functionLabel (const FunctionPtr &) const override
 
virtual bool shouldInline (const FunctionPtr &) const
 
- Public Member Functions inherited from Rose::BinaryAnalysis::Partitioner2::GraphViz::CgEmitter
 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 &)
 
- Public Member Functions inherited from Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< FunctionCallGraph::Graph >
 BaseEmitter ()
 Default constructor.
 
 BaseEmitter (const Graph &g)
 Constructor.
 
void graph (const Graph &g)
 Reset the graph.
 
void selectAll (bool b=true)
 Causes all vertices and edges to be selected.
 
void selectNone ()
 Deselects all vertices and edges.
 
void selectAllVertices (bool b=true)
 Causes all vertices to be selected.
 
void selectAllEdges (bool b=true)
 Causes all edges to be selected.
 
void deselectParallelEdges ()
 Deselect all but one parallel edge.
 
virtual void emit (std::ostream &) const
 Dump selected vertices, edges, and subgraphs.
 
AttributesdefaultGraphAttributes ()
 Property: default graph attributes.
 
const AttributesdefaultGraphAttributes () const
 Property: default graph attributes.
 
AttributesdefaultNodeAttributes ()
 Property: default graph node attributes.
 
const AttributesdefaultNodeAttributes () const
 Property: default graph node attributes.
 
AttributesdefaultEdgeAttributes ()
 Property: default graph edge attributes.
 
const AttributesdefaultEdgeAttributes () const
 Property: default graph edge attributes.
 
const Color::HSVsubgraphColor () const
 Property: color to use for function subgraph background.
 
void subgraphColor (const Color::HSV &bg)
 Property: color to use for function subgraph background.
 
const VertexOrganizationvertexOrganization () const
 Property: Controls which vertices are to appear in the output, and how.
 
VertexOrganizationvertexOrganization ()
 Property: Controls which vertices are to appear in the output, and how.
 
const OrganizationvertexOrganization (size_t vertexId) const
 Property: Controls which vertices are to appear in the output, and how.
 
OrganizationvertexOrganization (size_t vertexId)
 Property: Controls which vertices are to appear in the output, and how.
 
const OrganizationvertexOrganization (const typename G::ConstVertexIterator &vertex) const
 Property: Controls which vertices are to appear in the output, and how.
 
const OrganizationvertexOrganization (const typename G::Vertex &vertex) const
 Property: Controls which vertices are to appear in the output, and how.
 
OrganizationvertexOrganization (const typename G::ConstVertexIterator &vertex)
 Property: Controls which vertices are to appear in the output, and how.
 
OrganizationvertexOrganization (const typename G::Vertex &vertex)
 Property: Controls which vertices are to appear in the output, and how.
 
const EdgeOrganizationedgeOrganization () const
 Property: Controls which edges are to appear in the output, and how.
 
EdgeOrganizationedgeOrganization ()
 Property: Controls which edges are to appear in the output, and how.
 
const OrganizationedgeOrganization (size_t edgeId) const
 Property: Controls which edges are to appear in the output, and how.
 
OrganizationedgeOrganization (size_t edgeId)
 Property: Controls which edges are to appear in the output, and how.
 
const OrganizationedgeOrganization (const typename G::ConstEdgeIterator &edge) const
 Property: Controls which edges are to appear in the output, and how.
 
const OrganizationedgeOrganization (const typename G::Edge &edge) const
 Property: Controls which edges are to appear in the output, and how.
 
OrganizationedgeOrganization (const typename G::ConstEdgeIterator &edge)
 Property: Controls which edges are to appear in the output, and how.
 
OrganizationedgeOrganization (const typename G::Edge &edge)
 Property: Controls which edges are to appear in the output, and how.
 
const SubgraphOrganizationsubgraphOrganization () const
 Property: Controls which subgraphs appear in the output, and how.
 
SubgraphOrganizationsubgraphOrganization ()
 Property: Controls which subgraphs appear in the output, and how.
 
const OrganizationsubgraphOrganization (const std::string &name) const
 Property: Controls which subgraphs appear in the output, and how.
 
OrganizationsubgraphOrganization (const std::string &name)
 Property: Controls which subgraphs appear in the output, and how.
 

Additional Inherited Members

- Public Types inherited from Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< FunctionCallGraph::Graph >
typedef FunctionCallGraph::Graph Graph
 
typedef std::vector< OrganizationVertexOrganization
 Organizational information for vertices.
 
typedef std::vector< OrganizationEdgeOrganization
 Organizational information for edges.
 
typedef Sawyer::Container::Map< std::string, OrganizationSubgraphOrganization
 Organizational information for subgraphs.
 
- Protected Types inherited from Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< FunctionCallGraph::Graph >
typedef Sawyer::Container::Map< size_t, size_t > VMap
 
- Protected Member Functions inherited from Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< FunctionCallGraph::Graph >
size_t emitVertex (std::ostream &, const typename G::ConstVertexIterator &, const Organization &, const VMap &) const
 Emit a single vertex if it hasn't been emitted already.
 
void emitEdge (std::ostream &, const typename G::ConstEdgeIterator &, const Organization &, const VMap &) const
 Emit a single edge.
 
- Protected Attributes inherited from Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< FunctionCallGraph::Graph >
Graph graph_
 
VertexOrganization vertexOrganization_
 
EdgeOrganization edgeOrganization_
 
SubgraphOrganization subgraphOrganization_
 
Attributes defaultGraphAttributes_
 
Attributes defaultNodeAttributes_
 
Attributes defaultEdgeAttributes_
 
std::list< PseudoEdge > pseudoEdges_
 
Color::HSV subgraphColor_
 

Member Function Documentation

◆ callGraph() [1/2]

virtual const FunctionCallGraph & Rose::BinaryAnalysis::Partitioner2::GraphViz::CgInlinedEmitter::callGraph ( ) const
inlineoverridevirtual

Reimplemented from Rose::BinaryAnalysis::Partitioner2::GraphViz::CgEmitter.

Definition at line 837 of file GraphViz.h.

◆ callGraph() [2/2]

virtual void Rose::BinaryAnalysis::Partitioner2::GraphViz::CgInlinedEmitter::callGraph ( const FunctionCallGraph )
overridevirtual

◆ functionLabel()

virtual std::string Rose::BinaryAnalysis::Partitioner2::GraphViz::CgInlinedEmitter::functionLabel ( const FunctionPtr ) const
overridevirtual

The documentation for this class was generated from the following file: