summaryrefslogtreecommitdiff
path: root/rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs
diff options
context:
space:
mode:
authorKyleMiles <krm504@nyu.edu>2023-08-03 12:29:35 -0400
committerKyleMiles <krm504@nyu.edu>2023-08-22 09:59:46 -0400
commitb7a03b4d5e24485691ece768c1ea219312e9b9f8 (patch)
treea4a6a65acac017011094634599dae16d87a9a710 /rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs
parentf6879fc771f24778f67c84cc45b33e4921614206 (diff)
Recover parameter names even when type parsing fails (this could be a bad idea)
Diffstat (limited to 'rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs')
-rw-r--r--rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs18
1 files changed, 9 insertions, 9 deletions
diff --git a/rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs b/rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs
index aa359232..fad45f98 100644
--- a/rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs
+++ b/rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs
@@ -252,16 +252,16 @@ impl DebugInfoBuilder {
let parameters: Vec<FunctionParameter<CString>> = function
.parameters
.iter()
- .filter_map(|parameter| {
- if let Some((name, uid)) = parameter {
- Some(FunctionParameter::new(
- self.get_type(*uid).unwrap().1,
- name.clone(),
- None,
- ))
- } else {
- None
+ .filter_map(|parameter| match parameter {
+ Some((name, 0)) => {
+ Some(FunctionParameter::new(Type::void(), name.clone(), None))
}
+ Some((name, uid)) => Some(FunctionParameter::new(
+ self.get_type(*uid).unwrap().1,
+ name.clone(),
+ None,
+ )),
+ _ => None,
})
.collect();