pub fn parse_inlined_subroutines(
    dwarf: &Dwarf<EndianSlice<RunTimeEndian>>,
    unit: &Unit<EndianSlice<RunTimeEndian>>,
    header: &UnitHeader<EndianSlice<RunTimeEndian>>,
) -> Result<Vec<Subroutine>> {
    let mut entries = unit.entries();
    let mut subroutines: Vec<Subroutine> = Vec::new();

    while let Some((_, entry)) = entries.next_dfs()? {
        if entry.tag() == gimli::DW_TAG_inlined_subroutine {
            match parse_inlined_subroutine(dwarf, unit, header, entry).with_context(|| {
                format!(
                    "Failed to parse the inlined subroutine of entry: {:?}",
                    &entry
                )
            })? {
                Some(subroutine) => subroutines.push(subroutine),
                None => (),
            }
        }
    }
    Ok(subroutines)
}
/// Parses all inlined subroutines in the current unit of the DWARF object. Tries to keep all
/// relevant subroutines and discards some only.
///
/// * `dwarf` - The DWARF object
/// * `unit`- The current unit
///
Parses all inlined subroutines in the current unit of the DWARF object. Tries to keep all
relevant subroutines and discards some only.

`dwarf` - The DWARF object
`unit`- The current unit
Parses all inlined subroutines in the current unit of the DWARF object . Tries to keep all relevant subroutines and discards some only . ` dwarf ` - The DWARF object ` unit ` - The current unit
pub fn parse_inlined_subroutines(
    dwarf: &Dwarf<EndianSlice<RunTimeEndian>>,
    unit: &Unit<EndianSlice<RunTimeEndian>>,
    header: &UnitHeader<EndianSlice<RunTimeEndian>>,
) -> Result<Vec<Subroutine>> {
    let mut entries = unit.entries();
    let mut subroutines: Vec<Subroutine> = Vec::new();
    while let Some((_, entry)) = entries.next_dfs()? {
        if entry.tag() == gimli::DW_TAG_inlined_subroutine {
            match parse_inlined_subroutine(dwarf, unit, header, entry).with_context(|| {
                format!(
                    "Failed to parse the inlined subroutine of entry: {:?}",
                    &entry
                )
            })? {
                Some(subroutine) => subroutines.push(subroutine),
                None => (),
            }
        }
    }
    Ok(subroutines)
}
pub fn parse_inlined_subroutines ( dwarf : & Dwarf < EndianSlice < RunTimeEndian > > , unit : & Unit < EndianSlice < RunTimeEndian > > , header : & UnitHeader < EndianSlice < RunTimeEndian > > , ) -> Result < Vec < Subroutine > > { let mut entries = unit . entries ( ) ; let mut subroutines : Vec < Subroutine > = Vec :: new ( ) ; while let Some ( ( _ , entry ) ) = entries . next_dfs ( ) ? { if entry . tag ( ) == gimli :: DW_TAG_inlined_subroutine { match parse_inlined_subroutine ( dwarf , unit , header , entry ) . with_context ( | | { format ! ( " " entry ) } ) ? { Some ( subroutine ) => subroutines . push ( subroutine ) , None => ( ) , } } } Ok ( subroutines ) }
Parses all inlined subroutines in the current unit of the DWARF object.
Parses all inlined subroutines in the current unit of the DWARF object .
dwarf
&Dwarf<EndianSlice<RunTimeEndian>>
unit
&Unit<EndianSlice<RunTimeEndian>>
header
&UnitHeader<EndianSlice<RunTimeEndian>>
dwarf
&Dwarf<EndianSlice<RunTimeEndian>>
unit
&Unit<EndianSlice<RunTimeEndian>>
header
&UnitHeader<EndianSlice<RunTimeEndian>>