(
&mut self,
full_name: Option<String>,
raw_name: Option<String>,
return_type: Option<TypeUID>,
address: Option<u64>,
parameters: &Vec<Option<(String, T
| 57 | |
| 58 | impl 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 | ////////////////////// |
no test coverage detected