Module type ExplicitTrace.TraceElem
type elem_t
type t
= private
{
elem : elem_t;
loc : IBase.Location.t;
trace : CallSite.t list;
}
An
elem
which occured atloc
, after the chain of steps (usually calls) intrace
.
Both pp
and describe
simply call the same function on the trace element.
include Element with type Element.t := t
include IStdlib.PrettyPrintable.PrintableOrderedType
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit
Pretty printer used for trace construction;
pp
is used for debug output.
val make : elem_t -> IBase.Location.t -> t
val map : f:(elem_t -> elem_t) -> t -> t
val get_loc : t -> IBase.Location.t
Starting location of the trace: this is either
loc
iftrace==[]
, or the head oftrace
.
val make_loc_trace : ?nesting:int -> t -> Errlog.loc_trace
val with_callsite : t -> CallSite.t -> t
Push given callsite onto trace, extending the call chain by one.