Module Incremental_kernel__.Types.Node

type 'a t = {
id : Incremental_kernel__.Node_id.t;
mutable recomputed_at : Incremental_kernel__.Stabilization_num.t;
mutable value_opt : 'a Incremental_kernel__.Uopt.t;
mutable kind : 'a Kind.t;
mutable cutoff : 'a Incremental_kernel__.Cutoff.t;
mutable changed_at : Incremental_kernel__.Stabilization_num.t;
mutable num_on_update_handlers : int;
mutable num_parents : int;
mutable parent1_and_beyond : Packed_node.t Incremental_kernel__.Uopt.t array;
mutable parent0 : Packed_node.t Incremental_kernel__.Uopt.t;
mutable created_in : Scope.t;
mutable next_node_in_same_scope : Packed_node.t Incremental_kernel__.Uopt.t;
mutable height : int;
mutable height_in_recompute_heap : int;
mutable prev_in_recompute_heap : Packed_node.t Incremental_kernel__.Uopt.t;
mutable next_in_recompute_heap : Packed_node.t Incremental_kernel__.Uopt.t;
mutable height_in_adjust_heights_heap : int;
mutable next_in_adjust_heights_heap : Packed_node.t Incremental_kernel__.Uopt.t;
mutable old_value_opt : 'a Incremental_kernel__.Uopt.t;
mutable observers : 'a Internal_observer.t Incremental_kernel__.Uopt.t;
mutable is_in_handle_after_stabilization : bool;
mutable on_update_handlers : 'a Incremental_kernel__.On_update_handler.t list;
mutable my_parent_index_in_child_at_index : int array;
mutable my_child_index_in_parent_at_index : int array;
mutable force_necessary : bool;
mutable user_info : Core_kernel.Info.t option;
creation_backtrace : Core_kernel.Backtrace.t option;
}
include sig ... end
val sexp_of_t : ('a ‑> Sexplib.Sexp.t) ‑> 'a t ‑> Sexplib.Sexp.t
val pack : _ t ‑> Packed_node.t
val is_valid : _ t ‑> bool
val is_necessary : _ t ‑> bool