GCC Middle and Back End API Reference
state_diagram Class Reference
Inheritance diagram for state_diagram:
Collaboration diagram for state_diagram:

Data Structures

struct  pending_edge

Public Member Functions

 state_diagram (const diagnostics::digraphs::digraph &input_state_graph, const logical_locations::manager &logical_loc_mgr)
void print (writer &w) const final override
void add_stmt (std::unique_ptr< stmt > s)
void dump () const

Data Fields

std::unique_ptr< idm_id
stmt_list m_stmt_list

Private Types

enum class  style { h1 , h2 }

Private Member Functions

dot::id get_id_for_region (const char *region_id)
dot::id make_id (state_node_ref state_node, bool cluster)
bool starts_node_p (state_node_ref state_node)
const char * get_label_for_node (state_node_ref state_node)
void on_input_state_node (dot::subgraph &parent_subgraph, state_node_ref state_node)
void add_title_tr (const dot::id &id_of_dot_node, xml::printer &xp, int num_columns, state_node_ref state_node, std::string heading, enum style styl, enum node_dynalloc_state dynalloc_state)
void on_node_in_table (const dot::id &id_of_dot_node, xml::printer &xp, state_node_ref state_node, int max_depth, int depth, int num_columns)
void push_src_text (xml::printer &xp)
void pop_src_text (xml::printer &xp)
void maybe_add_src_port (const dot::id &id_of_dot_node, xml::printer &xp, state_node_ref state_node)
void maybe_add_dst_port (const dot::id &id_of_dot_node, xml::printer &xp, state_node_ref state_node)

Private Attributes

const logical_locations::managerm_logical_loc_mgr
std::set< digraphs::node * > m_src_nodes
std::set< digraphs::node * > m_dst_nodes
std::map< digraphs::node *, dot::node_idm_src_node_to_port_id
std::map< digraphs::node *, dot::node_idm_dst_node_to_port_id

Member Enumeration Documentation

◆ style

enum class state_diagram::style
strongprivate
Enumerator
h1 
h2 

Constructor & Destructor Documentation

◆ state_diagram()

Member Function Documentation

◆ add_stmt()

void dot::graph::add_stmt ( std::unique_ptr< stmt > s)
inlineinherited

References m_stmt_list, and dot::s.

Referenced by state_diagram::state_diagram().

◆ add_title_tr()

void state_diagram::add_title_tr ( const dot::id & id_of_dot_node,
xml::printer & xp,
int num_columns,
state_node_ref state_node,
std::string heading,
enum style styl,
enum node_dynalloc_state dynalloc_state )
inlineprivate

◆ dump()

void dot::ast_node::dump ( ) const
inherited

◆ get_id_for_region()

dot::id state_diagram::get_id_for_region ( const char * region_id)
inlineprivate

References gcc_assert.

◆ get_label_for_node()

◆ make_id()

◆ maybe_add_dst_port()

void state_diagram::maybe_add_dst_port ( const dot::id & id_of_dot_node,
xml::printer & xp,
state_node_ref state_node )
inlineprivate

◆ maybe_add_src_port()

void state_diagram::maybe_add_src_port ( const dot::id & id_of_dot_node,
xml::printer & xp,
state_node_ref state_node )
inlineprivate

◆ on_input_state_node()

◆ on_node_in_table()

void state_diagram::on_node_in_table ( const dot::id & id_of_dot_node,
xml::printer & xp,
state_node_ref state_node,
int max_depth,
int depth,
int num_columns )
inlineprivate

◆ pop_src_text()

void state_diagram::pop_src_text ( xml::printer & xp)
inlineprivate

References xml::printer::pop_tag().

Referenced by on_node_in_table().

◆ print()

void graph::print ( writer & w) const
finaloverridevirtualinherited

Implements dot::ast_node.

References m_id, m_stmt_list, and dot::w.

◆ push_src_text()

void state_diagram::push_src_text ( xml::printer & xp)
inlineprivate

◆ starts_node_p()

Field Documentation

◆ m_dst_node_to_port_id

std::map<digraphs::node *, dot::node_id> state_diagram::m_dst_node_to_port_id
private

◆ m_dst_nodes

std::set<digraphs::node *> state_diagram::m_dst_nodes
private

◆ m_id

std::unique_ptr<id> dot::graph::m_id
inherited

Referenced by graph(), graph(), and print().

◆ m_logical_loc_mgr

const logical_locations::manager& state_diagram::m_logical_loc_mgr
private

Referenced by on_node_in_table(), and state_diagram().

◆ m_src_node_to_port_id

std::map<digraphs::node *, dot::node_id> state_diagram::m_src_node_to_port_id
private

◆ m_src_nodes

std::set<digraphs::node *> state_diagram::m_src_nodes
private

◆ m_stmt_list

stmt_list dot::graph::m_stmt_list
inherited

Referenced by add_stmt(), and print().


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