Cil.CurrentLocA reference to the current location. If you are careful to set this to * the current location then you can use some built-in logging functions that * will print the location.
include State_builder.Sval self : State.tThe kind of the registered state.
val mark_as_computed : ?project:Project.t -> unit -> unitIndicate that the registered state will not change again for the given project (default is current ()).
val is_computed : ?project:Project.t -> unit -> boolReturns true iff the registered state will not change again for the given project (default is current ()).
Exportation of some inputs (easier use of State_builder.Register).
module Datatype : Datatype.Sval add_hook_on_update : (Datatype.t -> unit) -> unitAdd an hook which is applied each time (just before) the project library changes the local value of the state.
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unithowto_marshal marshal unmarshal registers a custom couple of functions (marshal, unmarshal) to be used for serialization. Default functions are identities. In particular, this function must be used if Datatype.t is not marshallable and do_not_save is not called.
type data = Cil_types.locationType of the referenced value.
val set : data -> unitChange the referenced value.
val get : unit -> dataGet the referenced value.
val add_hook_on_change : (data -> unit) -> unitAdd an hook which is applied each time (just after) the value of the state changes inside the current project.