| GCC Middle and Back End API Reference
    | 
#include <digraphs.h>


| Public Member Functions | |
| virtual | ~node () | 
| node (digraph &g, std::string id) | |
| node (const node &)=delete | |
| std::string | get_id () const | 
| const char * | get_label () const | 
| void | set_label (const char *label) | 
| void | set_label (std::string label) | 
| size_t | get_num_children () const | 
| node & | get_child (size_t idx) const | 
| void | add_child (std::unique_ptr< node > child) | 
| location_t | get_physical_loc () const | 
| void | set_physical_loc (location_t physical_loc) | 
| logical_locations::key | get_logical_loc () const | 
| void | set_logical_loc (logical_locations::key logical_loc) | 
| void | print (graphviz_out &gv) const | 
| void | dump () const | 
| std::unique_ptr< json::object > | to_json_sarif_node () const | 
| std::unique_ptr< node > | clone (digraph &new_graph, std::map< node *, node * > &node_mapping) const | 
| const char * | get_property (const json::string_property &property) const | 
| json::array * | get_property (const json::array_of_string_property &property) const | 
| template<typename EnumType> | |
| EnumType | get_property (const json::enum_property< EnumType > &property) const | 
| const json::value * | get_property (const json::json_property &property) const | 
| void | set_property (const json::string_property &property, const char *utf8_value) | 
| void | set_property (const json::integer_property &property, long value) | 
| void | set_property (const json::bool_property &property, bool value) | 
| template<typename EnumType> | |
| void | set_property (const json::enum_property< EnumType > &property, EnumType value) | 
| void | set_property (const json::json_property &property, std::unique_ptr< json::value > value) | 
| bool | maybe_get_property (const json::integer_property &property, long &out) const | 
| tristate | get_property_as_tristate (const json::bool_property &property) const | 
| json::object * | get_property_bag () const | 
| json::object & | ensure_property_bag () | 
| void | set_property_bag (std::unique_ptr< json::object > property_bag) | 
| Private Attributes | |
| std::string | m_id | 
| std::unique_ptr< std::string > | m_label | 
| std::vector< std::unique_ptr< node > > | m_children | 
| location_t | m_physical_loc | 
| logical_locations::key | m_logical_loc | 
| std::unique_ptr< json::object > | m_property_bag | 
| 
 | inlinevirtual | 
| 
 | inline | 
References g, m_id, m_physical_loc, and UNKNOWN_LOCATION.
| 
 | delete | 
| 
 | inline | 
References gcc_assert, and m_children.
Referenced by diagnostic_graph::add_node_with_id().
| std::unique_ptr< digraph_node > digraph_node::clone | ( | digraph & | new_graph, | 
| std::map< node *, node * > & | node_mapping ) const | 
References get_id(), diagnostics::digraphs::object::get_property_bag(), m_children, m_logical_loc, and new_graph().
| DEBUG_FUNCTION void digraph_node::dump | ( | ) | const | 
References to_json_sarif_node().
| 
 | inherited | 
References m_property_bag.
Referenced by set_property(), set_property(), set_property(), set_property(), and set_property().
| 
 | inline | 
References m_children.
Referenced by state_diagram::on_input_state_node(), and state_diagram::on_node_in_table().
| 
 | inline | 
References m_id.
Referenced by clone(), and state_diagram::make_id().
| 
 | inline | 
References m_label.
| 
 | inline | 
References m_logical_loc.
Referenced by state_diagram::on_node_in_table().
| 
 | inline | 
References m_children.
Referenced by state_diagram::on_input_state_node(), and state_diagram::on_node_in_table().
| 
 | inline | 
References m_physical_loc.
| 
 | inherited | 
Array-of-string properties.
References json::array::dyn_cast_array(), and m_property_bag.
| 
 | inlineinherited | 
References json::enum_traits< EnumType >::get_unknown_value(), and m_property_bag.
| 
 | inherited | 
json::value properties.
References m_property_bag.
| 
 | inherited | 
String properties.
References json::string::dyn_cast_string(), and m_property_bag.
Referenced by diagnostics::digraphs::digraph::get_graph_kind(), state_diagram::get_label_for_node(), state_diagram::on_node_in_table(), and state_diagram::starts_node_p().
| 
 | inherited | 
References json::JSON_FALSE, json::JSON_TRUE, m_property_bag, and tristate::unknown().
| 
 | inlineinherited | 
References m_property_bag.
Referenced by diagnostics::digraphs::digraph::clone(), diagnostics::digraphs::node::clone(), and diagnostics::copy_any_property_bag().
| 
 | inherited | 
Integer properties.
References json::integer_number::dyn_cast_integer_number(), and m_property_bag.
| void diagnostics::digraphs::node::print | ( | graphviz_out & | gv | ) | const | 
References new_graph().
| 
 | inline | 
References m_label.
| 
 | inline | 
References m_label.
| 
 | inline | 
References m_logical_loc.
| 
 | inline | 
References m_physical_loc.
| 
 | inherited | 
Bool properties.
References ensure_property_bag().
| 
 | inlineinherited | 
References ensure_property_bag().
| 
 | inherited | 
References ensure_property_bag().
| 
 | inherited | 
References ensure_property_bag().
| 
 | inherited | 
References ensure_property_bag().
Referenced by diagnostics::digraphs::digraph::set_graph_kind().
| 
 | inlineinherited | 
References m_property_bag.
| std::unique_ptr< json::object > digraph_node::to_json_sarif_node | ( | ) | const | 
References diagnostics::make_sarif_node().
Referenced by dump().
| 
 | private | 
Referenced by add_child(), clone(), get_child(), and get_num_children().
| 
 | private | 
Referenced by get_label(), set_label(), and set_label().
| 
 | private | 
Referenced by clone(), get_logical_loc(), and set_logical_loc().
| 
 | private | 
Referenced by get_physical_loc(), node(), and set_physical_loc().
| 
 | privateinherited |