Frama-C:
Plug-ins:
Libraries:

Frama-C API - Current_loc

A 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.Ref with type data = Filepath.position * Filepath.position
include State_builder.S
val self : State.t

The kind of the registered state.

val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit

Indicate that the registered state will not change again for the given project (default is current ()).

val is_computed : ?project:Project.t -> unit -> bool

Returns 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).

val add_hook_on_update : (Datatype.t -> unit) -> unit

Add an hook which is applied each time (just before) the project library changes the local value of the state.

  • since Nitrogen-20111001
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit

howto_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.

  • since Boron-20100401

Type of the referenced value.

val set : data -> unit

Change the referenced value.

val get : unit -> data

Get the referenced value.

val clear : unit -> unit

Reset the reference to its default value.

val add_hook_on_change : (data -> unit) -> unit

Add an hook which is applied each time (just after) the value of the state changes inside the current project.

  • since 28.0-Nickel
val with_loc : data -> ('a -> 'b) -> 'a -> 'b

with_loc loc f x set the current location to loc, which can be used with Current_loc.get () or via the option ~current in Log functions. The old location is saved and set back after exectution of f x. If f x raises an exception, it is caught and re-raised after setting the location to its old value.

val with_loc_opt : data option -> ('a -> 'b) -> 'a -> 'b

Same behavior than with_loc but takes an location option. The location is set to loc for Some loc and unchanged otherwise.

module Operators : sig ... end