diff options
| author | KyleMiles <krm504@nyu.edu> | 2023-08-03 12:29:35 -0400 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2023-08-22 09:59:46 -0400 |
| commit | b7a03b4d5e24485691ece768c1ea219312e9b9f8 (patch) | |
| tree | a4a6a65acac017011094634599dae16d87a9a710 /rust/examples/dwarf/dwarf_import/src/functions.rs | |
| parent | f6879fc771f24778f67c84cc45b33e4921614206 (diff) | |
Recover parameter names even when type parsing fails (this could be a bad idea)
Diffstat (limited to 'rust/examples/dwarf/dwarf_import/src/functions.rs')
| -rw-r--r-- | rust/examples/dwarf/dwarf_import/src/functions.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/rust/examples/dwarf/dwarf_import/src/functions.rs b/rust/examples/dwarf/dwarf_import/src/functions.rs index 20858917..069f4ba3 100644 --- a/rust/examples/dwarf/dwarf_import/src/functions.rs +++ b/rust/examples/dwarf/dwarf_import/src/functions.rs @@ -41,8 +41,12 @@ fn get_parameters<R: Reader<Offset = usize>>( constants::DW_TAG_formal_parameter => { let name = get_name(dwarf, unit, child.entry()); let type_ = get_type(dwarf, unit, child.entry(), debug_info_builder); - if let (Some(parameter_name), Some(parameter_type)) = (name, type_) { - result.push(Some((parameter_name, parameter_type))); + if let Some(parameter_name) = name { + if let Some(parameter_type) = type_ { + result.push(Some((parameter_name, parameter_type))); + } else { + result.push(Some((parameter_name, 0))) + } } else { result.push(None) } |
