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

The default, initial, reporter of the libabigail comparison engine. More...

#include <abg-reporter.h>

Inheritance diagram for default_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 void report (const array_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const base_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 enum_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
 Emit a textual report about the changes carried by a ptr_to_mbr_diff 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 type_decl_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_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...
 
- Public Member Functions inherited from reporter_base
virtual bool diff_to_be_reported (const diff *d) const
 Tests if the diff node is to be reported. More...
 

Detailed Description

The default, initial, reporter of the libabigail comparison engine.

Definition at line 158 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.

Implements reporter_base.

Reimplemented in leaf_reporter.

Definition at line 32 of file abg-default-reporter.cc.

◆ report() [1/2]

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

Emit a textual report about the changes carried by a ptr_to_mbr_diff diff node.

Parameters
outthe output stream to emit the report to.
indentthe indentation string to use for the report.

Implements reporter_base.

Reimplemented in leaf_reporter.

Definition at line 574 of file abg-default-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.

Implements reporter_base.

Reimplemented in leaf_reporter.

Definition at line 785 of file abg-default-reporter.cc.

◆ report_local_function_type_changes()

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.

Parameters
dthe function_type_diff node to consider.
outthe output stream to report to.
indentthe white space indentation string to use.

Definition at line 672 of file abg-default-reporter.cc.

◆ report_local_ptr_to_mbr_type_changes()

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.

This is a subroutine of the method default_reporter::report() that emits change report for ptr_to_mbr_diff node.

Parameters
dthe diff node to consider
outthe output stream to emit the report to.
indentthe indentation string (spaces) to use in the report.
Returns
truf iff a report was emitted to the output stream.

Definition at line 540 of file abg-default-reporter.cc.

◆ report_local_qualified_type_changes()

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.

Parameters
dthe qualified_type_diff node to consider.
outthe output stream to emit the report to.
indentthe white string to use for indentation.
Returns
true iff a local change has been emitted. In this case, the local change is a name change.

Definition at line 339 of file abg-default-reporter.cc.

◆ report_local_reference_type_changes()

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.

Parameters
dthe @reference_diff node to consider.
outthe output stream to report to.
indentthe white space indentation to use in the report.

Definition at line 455 of file abg-default-reporter.cc.

◆ report_non_type_typedef_changes()

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.

Note that changes to the underlying type are also considered local.

Parameters
dthe typedef_diff node to consider.
outthe output stream to report to.
indentthe white space string to use for indentation.

Definition at line 237 of file abg-default-reporter.cc.

◆ report_underlying_changes_of_qualified_type()

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.

Parameters
dthe qualified_type_diff node to consider.
outthe output stream to emit the report to.
indentthe white string to use for indentation.
Returns
true iff a local change has been emitted. In this case, the local change is a name change.

Definition at line 369 of file abg-default-reporter.cc.


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