jon.recoil.org

Module Dwarf_high.Proto_die

module Int = Numbers.Int
type reference = Asm_targets.Asm_label.t
val create_reference : unit -> Asm_targets.Asm_label.t
type t = {
  1. parent : t option;
  2. mutable children_by_sort_priority : t list Int.Map.t;
  3. tag : Dwarf_low.Dwarf_tag.t;
  4. mutable attribute_values : AV.t ASS.Map.t;
  5. label : Asm_targets.Asm_label.t;
  6. mutable name : Asm_targets.Asm_symbol.t option;
  7. location_list_in_debug_loc_table : Dwarf_low.Dwarf_4_location_list.t option;
}
val equal : 'a -> 'a -> bool
val attribute_values_map : AV.t list -> AV.t ASS.Map.t
val create : ?reference:Asm_targets.Asm_label.t -> ?sort_priority:Int.Map.key -> ?location_list_in_debug_loc_table:Dwarf_low.Dwarf_4_location_list.t -> parent:t option -> tag:Dwarf_low.Dwarf_tag.t -> attribute_values:AV.t list -> unit -> t
val create_ignore : ?reference:Asm_targets.Asm_label.t -> ?sort_priority:Int.Map.key -> ?location_list_in_debug_loc_table:Dwarf_low.Dwarf_4_location_list.t -> parent:t option -> tag:Dwarf_low.Dwarf_tag.t -> attribute_values:AV.t list -> unit -> unit
val add_or_replace_attribute_value : t -> AV.t -> unit
val replace_all_attribute_values : t -> AV.t list -> t
val set_name : t -> Asm_targets.Asm_symbol.t -> unit
type fold_arg =
  1. | DIE of {
    1. tag : Dwarf_low.Dwarf_tag.t;
    2. has_children : Dwarf_low.Child_determination.t;
    3. attribute_values : AV.t ASS.Map.t;
    4. label : Asm_targets.Asm_label.t;
    5. name : Asm_targets.Asm_symbol.t option;
    6. location_list_in_debug_loc_table : Dwarf_low.Dwarf_4_location_list.t option;
    }
  2. | End_of_siblings
val depth_first_fold : t -> init:'a -> f:('a -> fold_arg -> 'a) -> 'a
val reference : t -> Asm_targets.Asm_label.t
val location_list_in_debug_loc_table : t -> Dwarf_low.Dwarf_4_location_list.t option