in src/line.rs [228:247]
fn ensure_order(&mut self) {
if !self.are_lines_sorted {
// Sort the lines.
self.lines.sort_by_key(|x| x.rva);
self.are_lines_sorted = true;
}
// Sort the address ranges of each inline site and merge adjacent ranges.
for ranges in self.inlines.values_mut() {
ranges.sort_by_key(|range| range.rva);
ranges.dedup_by(|next, current| {
if current.rva.checked_add(current.len) == Some(next.rva) {
current.len += next.len;
true
} else {
false
}
})
}
}