fn ensure_order()

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
                }
            })
        }
    }