GCC Middle and Back End API Reference
diagnostic_edge Struct Reference
Inheritance diagram for diagnostic_edge:
Collaboration diagram for diagnostic_edge:

Public Member Functions

 diagnostic_edge (diagnostic_graph &g, const char *id, diagnostic_node &src_node, diagnostic_node &dst_node)
std::string get_id () const
const char * get_label () const
void set_label (const char *label)
node & get_src_node () const
node & get_dst_node () const
void dump () const
std::unique_ptr< json::objectto_json_sarif_edge () const
std::unique_ptr< edgeclone (digraph &new_graph, const std::map< diagnostics::digraphs::node *, diagnostics::digraphs::node * > &node_mapping) const
const char * get_property (const json::string_property &property) const
json::arrayget_property (const json::array_of_string_property &property) const
template<typename EnumType>
EnumType get_property (const json::enum_property< EnumType > &property) const
const json::valueget_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::objectget_property_bag () const
json::objectensure_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
node & m_src_node
node & m_dst_node
std::unique_ptr< json::objectm_property_bag

Constructor & Destructor Documentation

◆ diagnostic_edge()

diagnostic_edge::diagnostic_edge ( diagnostic_graph & g,
const char * id,
diagnostic_node & src_node,
diagnostic_node & dst_node )
inline

Member Function Documentation

◆ clone()

std::unique_ptr< edge > diagnostics::digraphs::edge::clone ( digraph & new_graph,
const std::map< diagnostics::digraphs::node *, diagnostics::digraphs::node * > & node_mapping ) const
inherited

References new_graph().

◆ dump()

DEBUG_FUNCTION void diagnostics::digraphs::edge::dump ( ) const
inherited

References dump(), and to_json_sarif_edge().

Referenced by dump().

◆ ensure_property_bag()

json::object & digraph_object::ensure_property_bag ( )
inherited

◆ get_dst_node()

node & diagnostics::digraphs::edge::get_dst_node ( ) const
inlineinherited

References m_dst_node.

◆ get_id()

std::string diagnostics::digraphs::edge::get_id ( ) const
inlineinherited

References m_id.

◆ get_label()

const char * diagnostics::digraphs::edge::get_label ( ) const
inlineinherited

References m_label.

◆ get_property() [1/4]

json::array * digraph_object::get_property ( const json::array_of_string_property & property) const
inherited
Array-of-string properties.

References json::array::dyn_cast_array(), and m_property_bag.

◆ get_property() [2/4]

template<typename EnumType>
EnumType diagnostics::digraphs::object::get_property ( const json::enum_property< EnumType > & property) const
inlineinherited

◆ get_property() [3/4]

const json::value * digraph_object::get_property ( const json::json_property & property) const
inherited
json::value properties.

References m_property_bag.

◆ get_property() [4/4]

const char * digraph_object::get_property ( const json::string_property & property) const
inherited

◆ get_property_as_tristate()

tristate digraph_object::get_property_as_tristate ( const json::bool_property & property) const
inherited

◆ get_property_bag()

json::object * diagnostics::digraphs::object::get_property_bag ( ) const
inlineinherited

◆ get_src_node()

node & diagnostics::digraphs::edge::get_src_node ( ) const
inlineinherited

References m_src_node.

◆ maybe_get_property()

bool digraph_object::maybe_get_property ( const json::integer_property & property,
long & out_value ) const
inherited

◆ set_label()

void diagnostics::digraphs::edge::set_label ( const char * label)
inlineinherited

◆ set_property() [1/5]

void digraph_object::set_property ( const json::bool_property & property,
bool value )
inherited
Bool properties.

References ensure_property_bag().

◆ set_property() [2/5]

template<typename EnumType>
void diagnostics::digraphs::object::set_property ( const json::enum_property< EnumType > & property,
EnumType value )
inlineinherited

References ensure_property_bag().

◆ set_property() [3/5]

void digraph_object::set_property ( const json::integer_property & property,
long value )
inherited

References ensure_property_bag().

◆ set_property() [4/5]

void digraph_object::set_property ( const json::json_property & property,
std::unique_ptr< json::value > value )
inherited

References ensure_property_bag().

◆ set_property() [5/5]

void digraph_object::set_property ( const json::string_property & property,
const char * utf8_value )
inherited

◆ set_property_bag()

void diagnostics::digraphs::object::set_property_bag ( std::unique_ptr< json::object > property_bag)
inlineinherited

References m_property_bag.

◆ to_json_sarif_edge()

std::unique_ptr< json::object > diagnostics::digraphs::edge::to_json_sarif_edge ( ) const
inherited

Field Documentation

◆ m_dst_node

node& diagnostics::digraphs::edge::m_dst_node
privateinherited

Referenced by edge(), and get_dst_node().

◆ m_id

std::string diagnostics::digraphs::edge::m_id
privateinherited

Referenced by edge(), and get_id().

◆ m_label

std::unique_ptr<std::string> diagnostics::digraphs::edge::m_label
privateinherited

Referenced by get_label(), and set_label().

◆ m_property_bag

std::unique_ptr<json::object> diagnostics::digraphs::object::m_property_bag
privateinherited

◆ m_src_node

node& diagnostics::digraphs::edge::m_src_node
privateinherited

Referenced by edge(), and get_src_node().


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