jon.recoil.org

Module Debuginfo

module ZA = Zero_alloc_utils
module Scoped_location : sig ... end
type item = private {
  1. dinfo_file : string;
  2. dinfo_line : int;
  3. dinfo_char_start : int;
  4. dinfo_char_end : int;
  5. dinfo_start_bol : int;
  6. dinfo_end_bol : int;
  7. dinfo_end_line : int;
  8. dinfo_scopes : Debuginfo.Scoped_location.scopes;
    (*

    See the Inlined_debuginfo module in Flambda 2 for an explanation of the uid and function symbol fields. (They are used for generation of DWARF inlined frame information.) These fields should only be set to Some by Flambda 2.

    *)
  9. dinfo_uid : string option;
  10. dinfo_function_symbol : string option;
  11. dinfo_dir : string option;
}
val item_with_uid_and_function_symbol : Debuginfo.item -> dinfo_uid:string option -> dinfo_function_symbol:string option -> Debuginfo.item
type t
val none : Debuginfo.t
val is_none : Debuginfo.t -> bool
val of_items : Debuginfo.item list -> Debuginfo.t
val mapi_items : Debuginfo.t -> f:(int -> Debuginfo.item -> Debuginfo.item) -> Debuginfo.t
val to_items : Debuginfo.t -> Debuginfo.item list
val to_string : Debuginfo.t -> string
val to_location : Debuginfo.t -> Location.t
val inline : Debuginfo.t -> from_inlined_body:Debuginfo.t -> Debuginfo.t
val compare : Debuginfo.t -> Debuginfo.t -> int
val print_compact : Stdlib.Format.formatter -> Debuginfo.t -> unit
val print_compact_extended : Stdlib.Format.formatter -> Debuginfo.t -> unit

Like print_compact but also prints uid and function symbol info.

val merge : into:Debuginfo.t -> Debuginfo.t -> Debuginfo.t
val assume_zero_alloc : Debuginfo.t -> ZA.Assume_info.t
module Dbg : sig ... end
val get_dbg : Debuginfo.t -> Debuginfo.Dbg.t