diff options
author | David Malcolm <dmalcolm@redhat.com> | 2025-08-13 17:29:22 -0400 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2025-08-13 17:29:22 -0400 |
commit | 1da90c533f944622f18609e568ed13b09073fd66 (patch) | |
tree | 9159f9903ff7c35a3e6e68f4613cce0b16347366 | |
parent | 0f665822a091061ef1a9268797736dff0ef82a87 (diff) | |
download | gcc-1da90c533f944622f18609e568ed13b09073fd66.zip gcc-1da90c533f944622f18609e568ed13b09073fd66.tar.gz gcc-1da90c533f944622f18609e568ed13b09073fd66.tar.bz2 |
diagnostics/output-spec.cc: simplify implementation
No functional change intended.
gcc/ChangeLog:
* diagnostics/output-spec.cc (sarif_scheme_handler::make_sink):
Populate sarif_generation_options instance directly, rather than
through local variables.
(sarif_scheme_handler::make_sarif_gen_opts): Drop.
(html_scheme_handler::make_sink): Populate html_generation_options
instance directly, rather than through local variables.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
-rw-r--r-- | gcc/diagnostics/output-spec.cc | 53 |
1 files changed, 13 insertions, 40 deletions
diff --git a/gcc/diagnostics/output-spec.cc b/gcc/diagnostics/output-spec.cc index 13565f9..e25d25a 100644 --- a/gcc/diagnostics/output-spec.cc +++ b/gcc/diagnostics/output-spec.cc @@ -182,10 +182,6 @@ public: const scheme_name_and_params &parsed_arg) const final override; private: - static sarif_generation_options - make_sarif_gen_opts (enum sarif_version version, - bool state_graph); - static std::unique_ptr<sarif_serialization_format> make_sarif_serialization_object (enum sarif_serialization_kind); }; @@ -431,8 +427,7 @@ sarif_scheme_handler::make_sink (const context &ctxt, label_text filename; enum sarif_serialization_kind serialization_kind = sarif_serialization_kind::json; - enum sarif_version version = sarif_version::v2_1_0; - bool state_graph = false; + sarif_generation_options sarif_gen_opts; for (auto& iter : parsed_arg.m_kvs) { const std::string &key = iter.first; @@ -463,17 +458,18 @@ sarif_scheme_handler::make_sink (const context &ctxt, {{{"2.1", sarif_version::v2_1_0}, {"2.2-prerelease", sarif_version::v2_2_prerelease_2024_08_08}}}; - if (!parse_enum_value<enum sarif_version> (ctxt, unparsed_arg, - key, value, - value_names, - version)) + if (!parse_enum_value<enum sarif_version> + (ctxt, unparsed_arg, + key, value, + value_names, + sarif_gen_opts.m_version)) return nullptr; continue; } if (key == "state-graphs") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - state_graph)) + sarif_gen_opts.m_state_graph)) return nullptr; continue; } @@ -513,8 +509,6 @@ sarif_scheme_handler::make_sink (const context &ctxt, if (!output_file_) return nullptr; - auto sarif_gen_opts = make_sarif_gen_opts (version, state_graph); - auto serialization_obj = make_sarif_serialization_object (serialization_kind); auto sink = make_sarif_sink (dc, @@ -525,16 +519,6 @@ sarif_scheme_handler::make_sink (const context &ctxt, return sink; } -sarif_generation_options -sarif_scheme_handler::make_sarif_gen_opts (enum sarif_version version, - bool state_graph) -{ - sarif_generation_options sarif_gen_opts; - sarif_gen_opts.m_version = version; - sarif_gen_opts.m_state_graph = state_graph; - return sarif_gen_opts; -} - std::unique_ptr<sarif_serialization_format> sarif_scheme_handler:: make_sarif_serialization_object (enum sarif_serialization_kind kind) @@ -557,12 +541,8 @@ html_scheme_handler::make_sink (const context &ctxt, const char *unparsed_arg, const scheme_name_and_params &parsed_arg) const { - bool css = true; label_text filename; - bool javascript = true; - bool show_state_diagrams = false; - bool show_state_diagrams_sarif = false; - bool show_state_diagrams_dot_src = false; + html_generation_options html_gen_opts; for (auto& iter : parsed_arg.m_kvs) { const std::string &key = iter.first; @@ -570,7 +550,7 @@ html_scheme_handler::make_sink (const context &ctxt, if (key == "css") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - css)) + html_gen_opts.m_css)) return nullptr; continue; } @@ -582,28 +562,28 @@ html_scheme_handler::make_sink (const context &ctxt, if (key == "javascript") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - javascript)) + html_gen_opts.m_javascript)) return nullptr; continue; } if (key == "show-state-diagrams") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - show_state_diagrams)) + html_gen_opts.m_show_state_diagrams)) return nullptr; continue; } if (key == "show-state-diagrams-dot-src") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - show_state_diagrams_dot_src)) + html_gen_opts.m_show_state_diagrams_dot_src)) return nullptr; continue; } if (key == "show-state-diagrams-sarif") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - show_state_diagrams_sarif)) + html_gen_opts.m_show_state_diagrams_sarif)) return nullptr; continue; } @@ -645,13 +625,6 @@ html_scheme_handler::make_sink (const context &ctxt, if (!output_file_) return nullptr; - html_generation_options html_gen_opts; - html_gen_opts.m_css = css; - html_gen_opts.m_javascript = javascript; - html_gen_opts.m_show_state_diagrams = show_state_diagrams; - html_gen_opts.m_show_state_diagrams_sarif = show_state_diagrams_sarif; - html_gen_opts.m_show_state_diagrams_dot_src = show_state_diagrams_dot_src; - auto sink = make_html_sink (dc, *ctxt.get_affected_location_mgr (), html_gen_opts, |