aboutsummaryrefslogtreecommitdiff
path: root/gcc/libsarifreplay.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/libsarifreplay.cc')
-rw-r--r--gcc/libsarifreplay.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/libsarifreplay.cc b/gcc/libsarifreplay.cc
index 6c79762..2d6c394 100644
--- a/gcc/libsarifreplay.cc
+++ b/gcc/libsarifreplay.cc
@@ -966,6 +966,17 @@ sarif_replayer::handle_artifact_obj (const json::object &artifact_obj)
auto file = m_output_mgr.new_file (artifact_loc_uri->get_string (),
sarif_source_language);
+ // 3.24.6 "roles" property
+ const property_spec_ref prop_roles
+ ("artifact", "roles", "3.24.6");
+ if (auto roles_obj
+ = get_optional_property<json::array> (artifact_obj,
+ prop_roles))
+ for (auto iter : *roles_obj)
+ if (auto str = require_string (*iter, prop_roles))
+ if (!strcmp (str->get_string (), "analysisTarget"))
+ m_output_mgr.set_analysis_target (file);
+
// Set contents, if available
const property_spec_ref prop_contents
("artifact", "contents", "3.24.8");