MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / update

Method update

plugins/dwarf/dwarf_import/src/dwarfdebuginfo.rs:59–94  ·  view source on GitHub ↗
(
        &mut self,
        full_name: Option<String>,
        raw_name: Option<String>,
        return_type: Option<TypeUID>,
        address: Option<u64>,
        parameters: &Vec<Option<(String, T

Source from the content-addressed store, hash-verified

57
58impl FunctionInfoBuilder {
59 pub(crate) fn update(
60 &mut self,
61 full_name: Option<String>,
62 raw_name: Option<String>,
63 return_type: Option<TypeUID>,
64 address: Option<u64>,
65 parameters: &Vec<Option<(String, TypeUID)>>,
66 ) {
67 if full_name.is_some() {
68 self.full_name = full_name;
69 }
70
71 if raw_name.is_some() {
72 self.raw_name = raw_name;
73 }
74
75 if return_type.is_some() {
76 self.return_type = return_type;
77 }
78
79 if address.is_some() {
80 self.address = address;
81 }
82
83 for (i, new_parameter) in parameters.iter().enumerate() {
84 match self.parameters.get(i) {
85 Some(None) => self.parameters[i] = new_parameter.clone(),
86 Some(Some(_)) => (),
87 // Some(Some((name, _))) if name.as_bytes().is_empty() => {
88 // self.parameters[i] = new_parameter
89 // }
90 // Some(Some((_, uid))) if *uid == 0 => self.parameters[i] = new_parameter, // TODO : This is a placebo....void types aren't actually UID 0
91 _ => self.parameters.push(new_parameter.clone()),
92 }
93 }
94 }
95}
96
97//////////////////////

Callers 2

parse_typesMethod · 0.45
insert_functionMethod · 0.45

Calls 4

iterMethod · 0.45
getMethod · 0.45
cloneMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected