(extab: &ExceptionInfo)
| 6 | use crate::views::{appearance::Appearance, function_diff::FunctionDiffContext}; |
| 7 | |
| 8 | fn decode_extab(extab: &ExceptionInfo) -> String { |
| 9 | let mut text = String::from(""); |
| 10 | |
| 11 | let mut dtor_names: Vec<String> = vec![]; |
| 12 | for dtor in &extab.dtors { |
| 13 | //For each function name, use the demangled name by default, |
| 14 | //and if not available fallback to the original name |
| 15 | let name: String = match &dtor.demangled_name { |
| 16 | Some(demangled_name) => demangled_name.to_string(), |
| 17 | None => dtor.name.clone(), |
| 18 | }; |
| 19 | dtor_names.push(name); |
| 20 | } |
| 21 | if let Some(decoded) = extab.data.to_string(dtor_names) { |
| 22 | text += decoded.as_str(); |
| 23 | } |
| 24 | |
| 25 | text |
| 26 | } |
| 27 | |
| 28 | fn find_extab_entry(obj: &Object, symbol_index: usize) -> Option<&ExceptionInfo> { |
| 29 | (obj.arch.as_ref() as &dyn Any) |
no test coverage detected