Add a new binding.
To add a sensitive/insensitive menu item to a factory.
factory
Print how many assertions could be removed based on the previous analysis (get_prop_scope_at_stmt) and return the annotations that can be removed.
get_prop_scope_at_stmt
Clear the table.
Comparison: same spec than Pervasives.compare.
Pervasives.compare
This function is similar to , except that it receives a zone as argument, instead of an l-value
Deep copy: no possible sharing between x and copy x.
x
copy x
Datatype descriptor.
Equality: same spec than Pervasives.(=).
Pervasives.(=)
Return the current binding of the given key.
Return the list of all data associated with the given key.
Must be used for equal in order to implement it by compare x y = 0 (with your own compare function).
equal
compare x y = 0
compare
Must be used for pretty in order to implement it by pretty_code provided by the datatype from your own internal_pretty_code function.
pretty
pretty_code
internal_pretty_code
kf_opt is used if we want to ask the lval to the user in a popup
kf_opt
compute the set of statements where the given annotation has the same value as before the given stmt.
Hash function: same spec than Hashtbl.hash.
Hashtbl.hash
Must be used if you want to implement a required function by fun x -> x.
fun x -> x
Same spec than pretty_code, but must take care of the precedence of the context in order to put parenthesis if required.
Length of the table.
mem_project f x must return true iff there is a value p of type Project.t in x such that f p returns true.
mem_project f x
true
p
Project.t
f p
Memoization.
Must be a valid OCaml module name corresponding to the module name you are defining by applying the functor.
Unique name for this datatype.
Unique name of the datatype.
Must be used for mem_project if values of your type does never contain any project.
mem_project
optlabel_func lab dft ty1 ty2 is equivalent to func ~label:(lab, Some dft) ty1 ty2
optlabel_func lab dft ty1 ty2
func ~label:(lab, Some dft) ty1 ty2
Packed version of the descriptor.
Must be used for internal_pretty_code if this pretty-printer must fail only when called.
Pretty print each value in an user-friendly way.
Pretty print each value in an ML-like style: the result must be a valid OCaml expression.
How to rehashconsed values.
Must be non-empty.
List of representants of the descriptor.
Same analysis than check_asserts but mark the assertions as proven.
check_asserts
Must be used if you don't want to implement a required function.
A good prefix name to use for an OCaml variable of this type.