Get all program point records with iterators over corresponding frames for each.
(
self,
)
| 196 | /// Get all program point records with iterators over |
| 197 | /// corresponding frames for each. |
| 198 | pub fn into_program_points( |
| 199 | self, |
| 200 | ) -> impl Iterator< |
| 201 | Item = ( |
| 202 | u32, |
| 203 | FrameInstPos, |
| 204 | Vec<(ModulePC, FrameTableDescriptorIndex, FrameStackShape)>, |
| 205 | ), |
| 206 | > + 'a { |
| 207 | self.progpoint_pcs.iter().enumerate().map(move |(i, pc)| { |
| 208 | let pc_and_pos = pc.get(LittleEndian); |
| 209 | let (pc, pos) = FrameInstPos::decode(pc_and_pos); |
| 210 | ( |
| 211 | pc, |
| 212 | pos, |
| 213 | self.program_point_frame_iter(i).collect::<Vec<_>>(), |
| 214 | ) |
| 215 | }) |
| 216 | } |
| 217 | |
| 218 | fn program_point_frame_iter( |
| 219 | &self, |