(obj: &Object, symbol_index: usize)
| 394 | } |
| 395 | |
| 396 | pub fn symbol_context(obj: &Object, symbol_index: usize) -> Vec<ContextItem> { |
| 397 | let Some(symbol) = obj.symbols.get(symbol_index) else { |
| 398 | return Vec::new(); |
| 399 | }; |
| 400 | let mut out = Vec::new(); |
| 401 | out.push(ContextItem::Copy { value: symbol.name.clone(), label: None, copy_string: None }); |
| 402 | if let Some(name) = &symbol.demangled_name { |
| 403 | out.push(ContextItem::Copy { value: name.clone(), label: None, copy_string: None }); |
| 404 | } |
| 405 | if symbol.section.is_some() |
| 406 | && let Some(address) = symbol.virtual_address |
| 407 | { |
| 408 | out.push(ContextItem::Copy { |
| 409 | value: format!("{address:x}"), |
| 410 | label: Some("virtual address".to_string()), |
| 411 | copy_string: None, |
| 412 | }); |
| 413 | } |
| 414 | out.append(&mut obj.arch.symbol_context(obj, symbol_index)); |
| 415 | out |
| 416 | } |
| 417 | |
| 418 | pub fn symbol_hover( |
| 419 | obj: &Object, |
no test coverage detected