GCC Middle and Back End API Reference
diagnostics::digraphs::to_dot::converter_from_cfg Class Reference
Inheritance diagram for diagnostics::digraphs::to_dot::converter_from_cfg:
Collaboration diagram for diagnostics::digraphs::to_dot::converter_from_cfg:

Public Member Functions

std::unique_ptr< dot::graphmake_dot_graph_from_diagnostic_graph (const digraphdigraph &dg) final override
void add_any_subgraph_attrs (const digraph_node &input_node, dot::subgraph &output_subgraph) final override
void add_any_node_attrs (const digraph_node &input_node, dot::node_stmt &output_node) final override
virtual void add_any_edge_attrs (const digraph_edge &input_edge, dot::edge_stmt &output_edge) final override
std::unique_ptr< dot::stmtmake_dot_node_from_digraph_node (const digraph_node &)
std::unique_ptr< dot::edge_stmtmake_dot_edge_from_digraph_edge (const digraph_edge &)
dot::id get_dot_id_for_node (const digraph_node &)
dot::node_id get_node_id_for_node (const digraph_node &, const char *compass_point=nullptr)
bool has_edges_p (const digraph_node &)

Static Public Member Functions

static std::unique_ptr< convertermake (const digraphdigraph &dg)

Private Member Functions

bool edge_has_flag (const digraph_edge &input_edge, const char *flag_name) const
void print_rows_for_strings (json::array &arr, xml::printer &xp)
const nodeget_bb_node_by_kind (const digraphdigraph &dg, const char *kind) const
const nodeget_entry_node (const digraphdigraph &dg) const
const nodeget_exit_node (const digraphdigraph &dg) const

Private Attributes

std::set< const digraph_node * > m_nodes_with_edges
std::map< const digraph_node *, dot::stmt * > m_node_map

Member Function Documentation

◆ add_any_edge_attrs()

virtual void diagnostics::digraphs::to_dot::converter_from_cfg::add_any_edge_attrs ( const digraph_edge & input_edge,
dot::edge_stmt & output_edge )
inlinefinaloverridevirtual

◆ add_any_node_attrs()

void diagnostics::digraphs::to_dot::converter_from_cfg::add_any_node_attrs ( const digraph_node & input_node,
dot::node_stmt & output_node )
inlinefinaloverridevirtual

◆ add_any_subgraph_attrs()

void diagnostics::digraphs::to_dot::converter_from_cfg::add_any_subgraph_attrs ( const digraph_node & input_node,
dot::subgraph & output_subgraph )
inlinefinaloverridevirtual

◆ edge_has_flag()

bool diagnostics::digraphs::to_dot::converter_from_cfg::edge_has_flag ( const digraph_edge & input_edge,
const char * flag_name ) const
inlineprivate

References input_edge().

Referenced by add_any_edge_attrs().

◆ get_bb_node_by_kind()

const node * diagnostics::digraphs::to_dot::converter_from_cfg::get_bb_node_by_kind ( const digraphdigraph & dg,
const char * kind ) const
inlineprivate

◆ get_dot_id_for_node()

dot::id diagnostics::digraphs::to_dot::converter::get_dot_id_for_node ( const digraph_node & input_node)
inherited

◆ get_entry_node()

const node * diagnostics::digraphs::to_dot::converter_from_cfg::get_entry_node ( const digraphdigraph & dg) const
inlineprivate

◆ get_exit_node()

const node * diagnostics::digraphs::to_dot::converter_from_cfg::get_exit_node ( const digraphdigraph & dg) const
inlineprivate

◆ get_node_id_for_node()

dot::node_id diagnostics::digraphs::to_dot::converter::get_node_id_for_node ( const digraph_node & input_node,
const char * compass_point = nullptr )
inherited

◆ has_edges_p()

bool diagnostics::digraphs::to_dot::converter::has_edges_p ( const digraph_node & input_node)
inherited

◆ make()

std::unique_ptr< converter > diagnostics::digraphs::to_dot::converter::make ( const digraphdigraph & dg)
staticinherited

◆ make_dot_edge_from_digraph_edge()

std::unique_ptr< dot::edge_stmt > diagnostics::digraphs::to_dot::converter::make_dot_edge_from_digraph_edge ( const digraph_edge & input_edge)
inherited

◆ make_dot_graph_from_diagnostic_graph()

std::unique_ptr< dot::graph > diagnostics::digraphs::to_dot::converter_from_cfg::make_dot_graph_from_diagnostic_graph ( const digraphdigraph & dg)
inlinefinaloverridevirtual

◆ make_dot_node_from_digraph_node()

std::unique_ptr< dot::stmt > diagnostics::digraphs::to_dot::converter::make_dot_node_from_digraph_node ( const digraph_node & input_node)
inherited

◆ print_rows_for_strings()

void diagnostics::digraphs::to_dot::converter_from_cfg::print_rows_for_strings ( json::array & arr,
xml::printer & xp )
inlineprivate

Field Documentation

◆ m_node_map

std::map<const digraph_node *, dot::stmt *> diagnostics::digraphs::to_dot::converter::m_node_map
privateinherited

◆ m_nodes_with_edges

std::set<const digraph_node *> diagnostics::digraphs::to_dot::converter::m_nodes_with_edges
privateinherited

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