sig
val pretty_vname : Format.formatter -> Cil_types.varinfo -> unit
val before_after_content : 'a Db_types.before_after -> 'a
val lift_annot_func :
(Cil_types.code_annotation -> 'a) ->
Db_types.rooted_code_annotation Db_types.before_after -> 'a
val lift_annot_list_func :
(Cil_types.code_annotation list -> 'a) ->
Db_types.rooted_code_annotation Db_types.before_after list -> 'a
module Datatype_Annotation :
sig
type t = Db_types.rooted_code_annotation Db_types.before_after
val descr : Unmarshal.t
val copy : t -> t
val name : string
val register_comparable :
?compare:(t -> t -> int) ->
?equal:(t -> t -> bool) -> ?hash:(t -> int) -> unit -> unit
val is_comparable_set : unit -> bool
val hash : t -> int
val equal : t -> t -> bool
val compare : t -> t -> int
val mem_project : ((Project.project -> bool) -> t -> bool) option ref
end
val is_integral_const : Cil_types.constant -> bool
val possible_value_of_integral_const : Cil_types.constant -> int64 option
val possible_value_of_integral_expr : Cil_types.exp -> int64 option
val value_of_integral_const : Cil_types.constant -> int64
val value_of_integral_expr : Cil_types.exp -> int64
val constant_expr : int64 -> Cil_types.exp
val is_null_expr : Cil_types.exp -> bool
val is_non_null_expr : Cil_types.exp -> bool
val possible_value_of_integral_term : Cil_types.term -> int64 option
val term_lvals_of_term : Cil_types.term -> Cil_types.term_lval list
val is_trivial_predicate : Cil_types.predicate -> bool
val is_trivial_rooted_assertion : Db_types.rooted_code_annotation -> bool
val is_trivial_named_predicate :
Cil_types.predicate Cil_types.named -> bool
val behavior_postcondition :
Cil_types.funbehavior ->
Cil_types.termination_kind -> Cil_types.predicate Cil_types.named
val merge_assigns :
Cil_types.funbehavior list ->
Cil_types.identified_term Cil_types.assigns list
val variable_term :
Cil_types.location -> Cil_types.logic_var -> Cil_types.term
val constant_term : Cil_types.location -> int64 -> Cil_types.term
val is_null_term : Cil_types.term -> bool
val predicate :
Cil_types.location ->
Cil_types.predicate -> Cil_types.predicate Cil_types.named
val is_loop_statement : Cil_types.stmt -> bool
val get_sid : Cil_types.kinstr -> int
val loc_stmt : Cil_types.stmt -> Cil_types.location
val mkassign :
Cil_types.lval -> Cil_types.exp -> Cil_types.location -> Cil_types.instr
val mkassign_statement :
Cil_types.lval -> Cil_types.exp -> Cil_types.location -> Cil_types.stmt
val is_block_local : Cil_types.varinfo -> Cil_types.block -> bool
val array_type :
?length:Cil_types.exp ->
?attr:Cil_types.attributes -> Cil_types.typ -> Cil_types.typ
val direct_array_size : Cil_types.typ -> int64
val array_size : Cil_types.typ -> int64
val direct_element_type : Cil_types.typ -> Cil_types.typ
val element_type : Cil_types.typ -> Cil_types.typ
val direct_pointed_type : Cil_types.typ -> Cil_types.typ
val pointed_type : Cil_types.typ -> Cil_types.typ
val is_function_type : Cil_types.varinfo -> bool
module Function :
sig
val formal_args :
Cil_types.varinfo ->
(string * Cil_types.typ * Cil_types.attributes) list
val is_formal : Cil_types.varinfo -> Cil_types.fundec -> bool
val is_local : Cil_types.varinfo -> Cil_types.fundec -> bool
val is_formal_or_local : Cil_types.varinfo -> Cil_types.fundec -> bool
val is_formal_of_prototype :
Cil_types.varinfo -> Cil_types.varinfo -> bool
val is_definition : Db_types.cil_function -> bool
val get_vi : Db_types.cil_function -> Cil_types.varinfo
val get_name : Db_types.cil_function -> string
val get_id : Db_types.cil_function -> int
end
val is_cea_function : string -> bool
val is_cea_dump_function : string -> bool
val is_cea_alloc : string -> bool
val is_cea_alloc_with_validity : string -> bool
val is_frama_c_builtin : string -> bool
end