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

Public Member Functions

 diagnostic (diagnostic_manager &diag_mgr, enum diagnostic_level level)
 
diagnostic_managerget_manager () const
 
enum diagnostic_level get_level () const
 
rich_location * get_rich_location ()
 
const diagnostic_metadataget_metadata ()
 
void set_cwe (unsigned cwe_id)
 
void add_rule (const char *title, const char *url)
 
void set_location (const diagnostic_physical_location *loc)
 
void add_location (const diagnostic_physical_location *loc)
 
void add_location_with_label (const diagnostic_physical_location *loc, const char *text)
 
void set_logical_location (const diagnostic_logical_location *logical_loc)
 
const diagnostic_logical_locationget_logical_location () const
 
diagnostic_execution_pathadd_execution_path ()
 
void take_execution_path (diagnostic_execution_path *path)
 

Private Attributes

diagnostic_managerm_diag_mgr
 
enum diagnostic_level m_level
 
impl_rich_location m_rich_loc
 
const diagnostic_logical_locationm_logical_loc
 
diagnostic_metadata m_metadata
 
std::vector< std::unique_ptr< range_label > > m_labels
 
std::vector< std::unique_ptr< impl_rule > > m_rules
 
std::unique_ptr< diagnostic_execution_pathm_path
 

Detailed Description

This has to be a "struct" as it is exposed in the C API.   

Constructor & Destructor Documentation

◆ diagnostic()

diagnostic::diagnostic ( diagnostic_manager & diag_mgr,
enum diagnostic_level level )
inline

Member Function Documentation

◆ add_execution_path()

diagnostic_execution_path * diagnostic::add_execution_path ( )
inline

References make_unique().

Referenced by diagnostic_add_execution_path().

◆ add_location()

void diagnostic::add_location ( const diagnostic_physical_location * loc)
inline

References as_location_t().

Referenced by diagnostic_add_location().

◆ add_location_with_label()

void diagnostic::add_location_with_label ( const diagnostic_physical_location * loc,
const char * text )
inline

◆ add_rule()

void diagnostic::add_rule ( const char * title,
const char * url )
inline

References make_unique().

Referenced by diagnostic_add_rule().

◆ get_level()

enum diagnostic_level diagnostic::get_level ( ) const
inline

◆ get_logical_location()

◆ get_manager()

◆ get_metadata()

const diagnostic_metadata * diagnostic::get_metadata ( )
inline

◆ get_rich_location()

◆ set_cwe()

void diagnostic::set_cwe ( unsigned cwe_id)
inline

Referenced by diagnostic_set_cwe().

◆ set_location()

void diagnostic::set_location ( const diagnostic_physical_location * loc)
inline

References as_location_t().

Referenced by diagnostic_set_location().

◆ set_logical_location()

void diagnostic::set_logical_location ( const diagnostic_logical_location * logical_loc)
inline

◆ take_execution_path()

void diagnostic::take_execution_path ( diagnostic_execution_path * path)
inline

Field Documentation

◆ m_diag_mgr

diagnostic_manager& diagnostic::m_diag_mgr
private

◆ m_labels

std::vector<std::unique_ptr<range_label> > diagnostic::m_labels
private

◆ m_level

enum diagnostic_level diagnostic::m_level
private

◆ m_logical_loc

const diagnostic_logical_location* diagnostic::m_logical_loc
private

◆ m_metadata

diagnostic_metadata diagnostic::m_metadata
private

◆ m_path

std::unique_ptr<diagnostic_execution_path> diagnostic::m_path
private

◆ m_rich_loc

impl_rich_location diagnostic::m_rich_loc
private

◆ m_rules

std::vector<std::unique_ptr<impl_rule> > diagnostic::m_rules
private

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