mirror of
git://sourceware.org/git/libabigail.git
synced 2025-03-07 07:07:36 +00:00
Having write_context carry corresponding flags for output sensitive command line options, is useful to ensure these options are not lost in chains for write_* calls. In particular, these options can have various meanings depending on the context (corpus, corpus_group, etc.) Hence add them to the write_context along with getters and setters and make the writers aware of their existence. We do not need to modify the corpus or corpus group's path or architecture any longer as they get ignored for a different reason now. Finally, drop the flag handling in abidw as it is already done via set_opts, which learned about these new flags. * include/abg-writer.h (set_write_architecture) (set_write_corpus_path): Declare new getter functions. (write_corpus): Take a new "member_of_group" argument. (set_common_options): Use set_write_{architecture, corpus_path} here. * src/abg-writer.cc (write_context::m_write_{architecture, corpus_path}}): Add new data members. (write_context::write_context): Initialize the new data members. (write_context::{s,g}et_write_{architecture, corpus}): Define new accessors. (set_write_{architecture, corpus}): Define new free-form getter functions. (write_corpus): Add flag to make aware if written as part of a group. * tools/abidw.cc (load_corpus_and_write_abixml) (load_kernel_corpus_group_and_write_abixml): Drop obsolete option handling as xml_writer::set_common_options now takes care of it. Signed-off-by: Matthias Maennich <maennich@google.com> Signed-off-by: Dodji Seketeli <dodji@redhat.com> ldiff --git a/include/abg-writer.h b/include/abg-writer.h index 200b5f7..729b455 100644 --- a/include/abg-writer.h +++ b/include/abg-writer.h @@ -53,6 +53,11 @@ set_show_locs(write_context& ctxt, bool flag); void set_annotate(write_context& ctxt, bool flag); +void +set_write_architecture(write_context& ctxt, bool flag); + +void +set_write_corpus_path(write_context& ctxt, bool flag); /// A convenience generic function to set common options (usually used /// by Libabigail tools) from a generic options carrying-object, into @@ -69,6 +74,8 @@ set_common_options(write_context& ctxt, const OPTS& opts) { set_annotate(ctxt, opts.annotate); set_show_locs(ctxt, opts.show_locs); + set_write_architecture(ctxt, opts.write_architecture); + set_write_corpus_path(ctxt, opts.write_corpus_path); } void @@ -105,7 +112,10 @@ write_corpus_to_archive(const corpus_sptr corp, const bool annotate = false); bool -write_corpus(write_context& ctxt, const corpus_sptr& corpus, unsigned indent); +write_corpus(write_context& ctxt, + const corpus_sptr& corpus, + unsigned indent, + bool member_of_group = false); bool ABG_DEPRECATED write_corpus(const corpus_sptr& corpus, unsigned indent, write_context& ctxt); Signed-off-by: Dodji Seketeli <dodji@redhat.com> |
||
---|---|---|
.. | ||
abg-comp-filter.h | ||
abg-comparison.h | ||
abg-config.h | ||
abg-corpus.h | ||
abg-diff-utils.h | ||
abg-dwarf-reader.h | ||
abg-fwd.h | ||
abg-hash.h | ||
abg-ini.h | ||
abg-interned-str.h | ||
abg-ir.h | ||
abg-libxml-utils.h | ||
abg-libzip-utils.h | ||
abg-reader.h | ||
abg-reporter.h | ||
abg-sptr-utils.h | ||
abg-suppression.h | ||
abg-tools-utils.h | ||
abg-traverse.h | ||
abg-version.h.in | ||
abg-viz-common.h | ||
abg-viz-dot.h | ||
abg-viz-svg.h | ||
abg-workers.h | ||
abg-writer.h | ||
Makefile.am |