GCC Middle and Back End API Reference
diagnostics::output_spec::context Class Referenceabstract

#include <output-spec.h>

Inheritance diagram for diagnostics::output_spec::context:
Collaboration diagram for diagnostics::output_spec::context:

Public Member Functions

std::unique_ptr< sinkparse_and_make_sink (diagnostics::context &dc)
void report_error (const char *gmsgid,...) const ATTRIBUTE_GCC_DIAG(2
void void report_unknown_key (const std::string &key, const scheme_handler &scheme) const
void report_missing_key (const std::string &key, const std::string &scheme_name, const char *metavar) const
output_file open_output_file (label_text &&filename) const
const char * get_option_name () const
const char * get_unparsed_spec () const
line_maps * get_affected_location_mgr () const
virtual ~context ()
virtual void report_error_va (const char *gmsgid, va_list *ap) const =0
virtual const char * get_base_filename () const =0
bool handle_kv (const std::string &key, const std::string &value, scheme_handler &scheme) const

Protected Member Functions

 context (const char *option_name, const char *unparsed_spec, key_handler *client_keys, line_maps *affected_location_mgr)

Protected Attributes

const char * m_option_name
const char * m_unparsed_spec
key_handlerm_client_keys
line_maps * m_affected_location_mgr

Detailed Description

An abstract base class for handling the DSL of -fdiagnostics-add-output=
and -fdiagnostics-set-output=.   

Constructor & Destructor Documentation

◆ ~context()

virtual diagnostics::output_spec::context::~context ( )
inlinevirtual

◆ context()

diagnostics::output_spec::context::context ( const char * option_name,
const char * unparsed_spec,
key_handler * client_keys,
line_maps * affected_location_mgr )
inlineprotected

Member Function Documentation

◆ get_affected_location_mgr()

line_maps * diagnostics::output_spec::context::get_affected_location_mgr ( ) const
inline

◆ get_base_filename()

virtual const char * diagnostics::output_spec::context::get_base_filename ( ) const
pure virtual

◆ get_option_name()

◆ get_unparsed_spec()

◆ handle_kv()

◆ open_output_file()

output_file diagnostics::output_spec::context::open_output_file ( label_text && filename) const

◆ parse_and_make_sink()

std::unique_ptr< sink > diagnostics::output_spec::context::parse_and_make_sink ( diagnostics::context & dc)

◆ report_error()

◆ report_error_va()

virtual void diagnostics::output_spec::context::report_error_va ( const char * gmsgid,
va_list * ap ) const
pure virtual

Implemented in diagnostics::output_spec::dc_spec_context.

References ap.

Referenced by report_error().

◆ report_missing_key()

void diagnostics::output_spec::context::report_missing_key ( const std::string & key,
const std::string & scheme_name,
const char * metavar ) const

◆ report_unknown_key()

void diagnostics::output_spec::context::report_unknown_key ( const std::string & key,
const scheme_handler & scheme ) const

Field Documentation

◆ m_affected_location_mgr

line_maps* diagnostics::output_spec::context::m_affected_location_mgr
protected

◆ m_client_keys

key_handler* diagnostics::output_spec::context::m_client_keys
protected

◆ m_option_name

const char* diagnostics::output_spec::context::m_option_name
protected

Referenced by context(), and get_option_name().

◆ m_unparsed_spec

const char* diagnostics::output_spec::context::m_unparsed_spec
protected

Referenced by context(), and get_unparsed_spec().


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