An iterator over all relocations of the data object.
(
&'a self,
pointer_reloc: Reloc,
)
| 160 | |
| 161 | /// An iterator over all relocations of the data object. |
| 162 | pub fn all_relocs<'a>( |
| 163 | &'a self, |
| 164 | pointer_reloc: Reloc, |
| 165 | ) -> impl Iterator<Item = ModuleReloc> + 'a { |
| 166 | let func_relocs = self |
| 167 | .function_relocs |
| 168 | .iter() |
| 169 | .map(move |&(offset, id)| ModuleReloc { |
| 170 | kind: pointer_reloc, |
| 171 | offset, |
| 172 | name: self.function_decls[id].clone(), |
| 173 | addend: 0, |
| 174 | }); |
| 175 | let data_relocs = self |
| 176 | .data_relocs |
| 177 | .iter() |
| 178 | .map(move |&(offset, id, addend)| ModuleReloc { |
| 179 | kind: pointer_reloc, |
| 180 | offset, |
| 181 | name: self.data_decls[id].clone(), |
| 182 | addend, |
| 183 | }); |
| 184 | func_relocs.chain(data_relocs) |
| 185 | } |
| 186 | } |
| 187 | |
| 188 | #[cfg(test)] |
no test coverage detected