libabigail
Public Member Functions | List of all members
leaf_reporter Class Reference

A reporter that only reports leaf changes. More...

#include <abg-reporter.h>

Inheritance diagram for leaf_reporter:
[legend]

Public Member Functions

virtual bool diff_has_net_changes (const corpus_diff *d) const
 Test if a given instance of corpus_diff carries changes whose reports are not suppressed by any suppression specification. In effect, these are deemed incompatible ABI changes. More...
 
virtual bool diff_to_be_reported (const diff *d) const
 Test if a diff node is to be reported by the current instance of leaf_reporter. More...
 
virtual void report (const array_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const class_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const class_or_union_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const corpus_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const distinct_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const fn_parm_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const function_decl_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const function_type_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const pointer_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const ptr_to_mbr_diff &d, std::ostream &out, const std::string &indent="") const
 Report the changes carried by a ptr_to_mbr_diff node. More...
 
virtual void report (const qualified_type_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const reference_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const scope_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const subrange_diff &d, std::ostream &out, const std::string &indent="") const
 Report about the change carried by a subrange_diff diff node in a serialized form. More...
 
virtual void report (const translation_unit_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const typedef_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const union_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const var_diff &d, std::ostream &out, const std::string &indent="") const
 
void report_changes_from_diff_maps (const diff_maps &, std::ostream &out, const std::string &indent) const
 Report the changes carried by an instance of diff_maps. More...
 
- Public Member Functions inherited from default_reporter
virtual void report (const base_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const enum_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const type_decl_diff &d, std::ostream &out, const std::string &indent="") const
 
void report_local_function_type_changes (const function_type_diff &d, std::ostream &out, const std::string &indent) const
 For a function_type_diff node, report the local changes carried by the diff node. More...
 
bool report_local_ptr_to_mbr_type_changes (const ptr_to_mbr_diff &d, std::ostream &out, const std::string &indent="") const
 Report the local changes carried by a ptr_to_mbr_diff diff node. More...
 
bool report_local_qualified_type_changes (const qualified_type_diff &d, std::ostream &out, const std::string &indent) const
 For a qualified_type_diff node, report the changes that are local. More...
 
void report_local_reference_type_changes (const reference_diff &d, std::ostream &out, const std::string &indent) const
 For a @reference_diff node, report the local changes carried by the diff node. More...
 
void report_non_type_typedef_changes (const typedef_diff &d, std::ostream &out, const std::string &indent) const
 For a typedef_diff node, report the local changes to the typedef rather the changes to its underlying type. More...
 
void report_underlying_changes_of_qualified_type (const qualified_type_diff &d, ostream &out, const string &indent) const
 For a qualified_type_diff node, report the changes of its underlying type. More...
 

Detailed Description

A reporter that only reports leaf changes.

Definition at line 280 of file abg-reporter.h.

Member Function Documentation

◆ diff_has_net_changes()

bool diff_has_net_changes ( const corpus_diff d) const
virtual

Test if a given instance of corpus_diff carries changes whose reports are not suppressed by any suppression specification. In effect, these are deemed incompatible ABI changes.

Parameters
dthe corpus_diff to consider
Returns
true iff d carries subtype changes that are deemed incompatible ABI changes.

Reimplemented from default_reporter.

Definition at line 42 of file abg-leaf-reporter.cc.

◆ diff_to_be_reported()

bool diff_to_be_reported ( const diff d) const
virtual

Test if a diff node is to be reported by the current instance of leaf_reporter.

A node is said to be reported by the current instance of leaf_reporter if the node carries local changes and if the node's reporting hasn't been suppressed.

Reimplemented from reporter_base.

Definition at line 30 of file abg-leaf-reporter.cc.

◆ report() [1/2]

void report ( const ptr_to_mbr_diff d,
std::ostream &  out,
const std::string &  indent = "" 
) const
virtual

Report the changes carried by a ptr_to_mbr_diff node.

Parameters
outthe output stream to report to.
indentthe white space string to use for indentation.

Reimplemented from default_reporter.

Definition at line 265 of file abg-leaf-reporter.cc.

◆ report() [2/2]

void report ( const subrange_diff d,
std::ostream &  out,
const std::string &  indent = "" 
) const
virtual

Report about the change carried by a subrange_diff diff node in a serialized form.

Parameters
dthe diff node to consider.
outthe output stream to report to.
indentthe indentation string to use in the report.

Reimplemented from default_reporter.

Definition at line 466 of file abg-leaf-reporter.cc.

◆ report_changes_from_diff_maps()

void report_changes_from_diff_maps ( const diff_maps ,
std::ostream &  out,
const std::string &  indent 
) const

Report the changes carried by an instance of diff_maps.

Parameters
mapsthe set of diffs to report.
outthe output stream to report the diffs to.
indentthe string to use for indentation.

Definition at line 167 of file abg-leaf-reporter.cc.


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