Module IR__Instrs
type reversed
type not_reversed
type _ t
type not_reversed_t
= not_reversed t
defined for convenience: we can write
Instrs.not_reversed_t
in other modules instead ofInstrs.not_reversed Instrs.t
val empty : _ t
val singleton : IR.Sil.instr -> _ t
val append_list : not_reversed t -> IR.Sil.instr list -> not_reversed t
val of_list : IR.Sil.instr list -> not_reversed t
val filter_map : not_reversed t -> f:(IR.Sil.instr -> IR.Sil.instr option) -> not_reversed t
val map : not_reversed t -> f:(IR.Sil.instr -> IR.Sil.instr) -> not_reversed t
replace every instruction
instr
withf instr
. Preserve physical equality. *
val map_and_fold : not_reversed t -> f:('a -> IR.Sil.instr -> 'a * IR.Sil.instr) -> init:'a -> not_reversed t
replace every instruction
instr
withsnd (f context instr)
. The context is computed by foldingf
oninit
and previous instructions (beforeinstr
) in the collection. Preserve physical equality. *
val concat_map_and_fold : not_reversed t -> f:('a -> IR.Sil.instr -> 'a * IR.Sil.instr array) -> init:'a -> not_reversed t
Like
map_and_fold
but replace every instructioninstr
with the listsnd (f context instr)
by threading an accumulator. Preserve physical equality. *
val concat_map : not_reversed t -> f:(IR.Sil.instr -> IR.Sil.instr array) -> not_reversed t
replace every instruction
instr
with the listf instr
. Preserve physical equality. *
val reverse_order : not_reversed t -> reversed t
val is_empty : _ t -> bool
val count : _ t -> int
val exists : _ t -> f:(IR.Sil.instr -> bool) -> bool
val for_all : _ t -> f:(IR.Sil.instr -> bool) -> bool
val nth_exists : _ t -> int -> bool
val nth_exn : _ t -> int -> IR.Sil.instr
val last : _ t -> IR.Sil.instr option
val find_map : _ t -> f:(IR.Sil.instr -> 'a option) -> 'a option
val pp : IStdlib.Pp.env -> Stdlib.Format.formatter -> _ t -> unit
val fold : (_ t, IR.Sil.instr, 'a) IStdlib.IStd.Container.fold
val foldi : _ t -> init:'a -> f:(int -> 'a -> IR.Sil.instr -> 'a) -> 'a
val iter : (_ t, IR.Sil.instr) IStdlib.IStd.Container.iter
val get_underlying_not_reversed : not_reversed t -> IR.Sil.instr array
val instrs_get_normal_vars : not_reversed t -> IR.Ident.t list