in ingester/lib/src/symbolicator/mod.rs [399:429]
fn try_from(value: &json::Module<'_>) -> Result<Self, Self::Error> {
Ok(Module {
base_address: parse_hex(
value
.base_address
.as_ref()
.context("missing base_address")?,
)?,
filename: value.filename.as_ref().map(|s| s.to_string()),
// Fix the debug file entries of modules to only be the file basenames. This is fixed
// by bug 1931237 but it will take a while to get into release.
// `unwrap` will never fail because `rsplit` is guaranteed to return at least one
// value.
debug_file: value
.debug_file
.as_ref()
.and_then(|s| (!s.is_empty()).then_some(s))
.context("missing debug_file")?
.rsplit("/")
.next()
.unwrap()
.into(),
debug_id: value
.debug_id
.as_ref()
.and_then(|s| (!s.is_empty()).then_some(s))
.context("missing debug_id")?
.parse()
.with_context(|| format!("'{}'", value.debug_id.as_ref().unwrap()))?,
})
}