diff --git a/src/symbolize/symbolizer.rs b/src/symbolize/symbolizer.rs index 0eb383f96..8edbd4f79 100644 --- a/src/symbolize/symbolizer.rs +++ b/src/symbolize/symbolizer.rs @@ -103,6 +103,17 @@ impl CodeInfo { } } + +/// A type representing an inlined function. +#[derive(Clone, Debug, PartialEq)] +pub struct InlinedFn { + /// The symbol name of the function. + pub name: String, + /// Source code location information for the call to the function. + pub code_info: Option, +} + + /// The result of address symbolization by [`Symbolizer`]. #[derive(Clone, Debug, PartialEq)] pub struct Sym { @@ -126,6 +137,8 @@ pub struct Sym { pub offset: usize, /// Source code location information for the symbol. pub code_info: Option, + /// Inlined function information for the symbolized address. + pub inlined: Vec, /// The struct is non-exhaustive and open to extension. pub(crate) _non_exhaustive: (), } @@ -269,6 +282,7 @@ impl Symbolizer { addr: sym_addr, offset: addr - sym_addr, code_info, + inlined: Vec::new(), _non_exhaustive: (), }; let () = results.push(sym);