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 type_decl_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 typedef_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const qualified_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 reference_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 fn_parm_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 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 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 scope_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 class_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 distinct_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 var_diff &d, std::ostream &out, const std::string &indent="") const
 
virtual void report (const translation_unit_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
 
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 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

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.

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.

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.

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.

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.

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.

void report_local_reference_type_changes ( const reference_diff d,
std::ostream &  out,
const std::string &  indent 
) const

For a node, report the local changes carried by the diff node.

Parameters
dthe 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.

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.

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 370 of file abg-default-reporter.cc.


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