Make.Range
The type of ranges. Each range is a list of subranges, so a possibly-discontiguous region of code.
val info : t -> S.Range_info.t
The caller's information about the range.
val estimate_lowest_address : t -> (Linear.label * int) option
Estimate the pair of (start_pos
, start_pos_offset
) (c.f. Subrange
, above) found amongst the given ranges that yields the lowest machine address. The assumption is made that no start_pos_offset
or end_pos_offset
will cause the corresponding extremity of a range to cross an extremity of any other range. (This should be satisfied in typical uses because the offsets are typically zero or one.) If there are no ranges supplied then None
is returned.
val fold : t -> init:'a -> f:('a -> Subrange.t -> 'a) -> 'a
Fold over all subranges within the given range.