type t
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 -> (Linearize.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 nostart_pos_offset
orend_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 thenNone
is returned.
val fold : t -> init:'a -> f:('a -> Subrange.t -> 'a) -> 'a
Fold over all subranges within the given range.