GCC Middle and Back End API Reference
diagnostics::metadata Class Reference

#include <metadata.h>

Collaboration diagram for diagnostics::metadata:

Data Structures

class  precanned_rule
class  rule

Public Types

using lazy_digraphs = lazily_created<std::vector<std::unique_ptr<digraphs::digraph>>>

Public Member Functions

 metadata ()
virtual ~metadata ()
virtual void maybe_add_sarif_properties (sarif_object &) const
void add_cwe (int cwe)
int get_cwe () const
void add_rule (const rule &r)
unsigned get_num_rules () const
const ruleget_rule (unsigned idx) const
void set_lazy_digraphs (const lazy_digraphs *lazy_digraphs_)
const lazy_digraphsget_lazy_digraphs () const

Private Attributes

int m_cwe
auto_vec< const rule * > m_rules
const lazy_digraphsm_lazy_digraphs

Detailed Description

A bundle of additional metadata that can be associated with a
diagnostic.

This supports an optional CWE identifier, and zero or more
"rules".

Additionally, this provides a place to associate a diagnostic
with zero or more directed graphs.   

Member Typedef Documentation

◆ lazy_digraphs

Constructor & Destructor Documentation

◆ metadata()

diagnostics::metadata::metadata ( )
inline

◆ ~metadata()

virtual diagnostics::metadata::~metadata ( )
inlinevirtual

References m_cwe, and m_lazy_digraphs.

Member Function Documentation

◆ add_cwe()

void diagnostics::metadata::add_cwe ( int cwe)
inline

◆ add_rule()

void diagnostics::metadata::add_rule ( const rule & r)
inline

References m_rules, and r.

◆ get_cwe()

◆ get_lazy_digraphs()

const lazy_digraphs * diagnostics::metadata::get_lazy_digraphs ( ) const
inline

◆ get_num_rules()

unsigned diagnostics::metadata::get_num_rules ( ) const
inline

◆ get_rule()

const rule & diagnostics::metadata::get_rule ( unsigned idx) const
inline

◆ maybe_add_sarif_properties()

virtual void diagnostics::metadata::maybe_add_sarif_properties ( sarif_object & ) const
inlinevirtual

◆ set_lazy_digraphs()

void diagnostics::metadata::set_lazy_digraphs ( const lazy_digraphs * lazy_digraphs_)
inline

References m_lazy_digraphs.

Field Documentation

◆ m_cwe

int diagnostics::metadata::m_cwe
private

Referenced by get_cwe(), and ~metadata().

◆ m_lazy_digraphs

const lazy_digraphs* diagnostics::metadata::m_lazy_digraphs
private

◆ m_rules

auto_vec<const rule *> diagnostics::metadata::m_rules
private

Referenced by add_rule(), and get_rule().


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