package frama-c

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

hook with a notion of priority.

  • since Neon-20140301
include S
type param

Type of the parameter of the functions registered in the hook.

type result

Type of the result of the functions. result can be unit (for iterative hooks) or param (for folding hooks)

val apply : param -> result

Apply all the functions of the hook on the given parameter. These functions are applied from the least recently entered to the most recently entered.

val is_empty : unit -> bool

Is no function already registered in the hook?

val clear : unit -> unit

Clear the hook.

val length : unit -> int

Number of registered functions.

type key
type id
val register_key : key -> id
val extend : id -> (param -> result) -> unit
val extend_once : id -> (param -> result) -> unit
val add_dependency : id -> id -> unit

add_dependency hook1 hook2 indicates that hook1 must be executed before hook2. In case of a cycle, all hooks will be executed, but an arbitrary order will be chosen among the elements of the cycle.