module To_zone: sig
.. end
type
t_ctx = {
}
val mk_ctx_func_contrat : (Db_types.kernel_function ->
state_opt:bool option -> t_ctx)
Pervasives.ref
to build an interpretation context relative to function contracts.
val mk_ctx_stmt_contrat : (Db_types.kernel_function ->
Cil_types.stmt ->
state_opt:bool option -> t_ctx)
Pervasives.ref
to build an interpretation context relative to statement contracts.
val mk_ctx_stmt_annot : (Db_types.kernel_function ->
Cil_types.stmt -> before:bool -> t_ctx)
Pervasives.ref
to build an interpretation context relative to statement annotations.
type
t = {
}
type
t_decl = Cilutil.VarinfoSet.t
type
t_pragmas = {
|
ctrl : Cilutil.StmtSet.t ; |
|
stmt : Cilutil.StmtSet.t ; |
}
val from_term : (Cil_types.term ->
t_ctx ->
t list * t_decl)
Pervasives.ref
Entry point to get zones
needed to evaluate the term
relative to the ctx
of interpretation.
val from_terms : (Cil_types.term list ->
t_ctx ->
t list * t_decl)
Pervasives.ref
Entry point to get zones
needed to evaluate the list of terms
relative to the ctx
of interpretation.
val from_pred : (Cil_types.predicate Cil_types.named ->
t_ctx ->
t list * t_decl)
Pervasives.ref
Entry point to get zones
needed to evaluate the predicate
relative to the ctx
of interpretation.
val from_preds : (Cil_types.predicate Cil_types.named list ->
t_ctx ->
t list * t_decl)
Pervasives.ref
Entry point to get zones
needed to evaluate the list of predicates
relative to the ctx
of interpretation.
val from_zones : (Cil_types.identified_term Cil_types.zone list ->
t_ctx ->
t list * t_decl)
Pervasives.ref
Entry point to get zones
needed to evaluate the list of predicates
relative to the ctx
of interpretation.
val from_zone : (Cil_types.identified_term Cil_types.zone ->
t_ctx ->
t list * t_decl)
Pervasives.ref
Entry point to get zones
needed to evaluate the zone
relative to the ctx
of interpretation.
val from_stmt_annot : (Cil_types.code_annotation ->
before:bool ->
Cil_types.stmt * Db_types.kernel_function ->
(t list * t_decl) *
t_pragmas)
Pervasives.ref
Entry point to get zones
needed to evaluate annotations of this stmt
.
val from_stmt_annots : ((Db_types.rooted_code_annotation Db_types.before_after -> bool) option ->
Cil_types.stmt * Db_types.kernel_function ->
(t list * t_decl) *
t_pragmas)
Pervasives.ref
Entry point to get zones needed to evaluate annotations of this
stmt
.
val from_func_annots : (((Cil_types.stmt -> unit) -> Db_types.kernel_function -> unit) ->
(Db_types.rooted_code_annotation Db_types.before_after -> bool) option ->
Db_types.kernel_function ->
(t list * t_decl) *
t_pragmas)
Pervasives.ref
Entry point to get zones
needed to evaluate annotations of this kf
.
val code_annot_filter : (Db_types.rooted_code_annotation Db_types.before_after ->
ai:bool ->
user_assert:bool ->
slicing_pragma:bool -> loop_inv:bool -> loop_var:bool -> others:bool -> bool)
Pervasives.ref
To quickly build an annotation filter