Module Logic_typing


module Logic_typing: sig .. end
Logic typing and logic environment.
Consult the Plugin Development Guide for additional details.

module Lenv: sig .. end
Local logic environment
module Make: 
functor (C : sig
val annonCompFieldName : string
val conditionalConversion : Cil_types.typ -> Cil_types.typ -> Cil_types.typ
val find_var : string -> Cil_types.logic_var
val find_enum_tag : string -> Cil_types.exp * Cil_types.typ
val find_comp_type : kind:string -> string -> Cil_types.typ
val find_type : string -> Cil_types.typ
val find_label : string -> Cil_types.stmt Pervasives.ref
val remove_logic_function : string -> unit
val remove_logic_type : string -> unit
val remove_logic_ctor : string -> unit
val add_logic_function : Cil_types.logic_info -> unit
val add_logic_type : string -> Cil_types.logic_type_info -> unit
val add_logic_ctor : string -> Cil_types.logic_ctor_info -> unit
val find_all_logic_functions : string -> Cil_types.logic_info list
val find_logic_type : string -> Cil_types.logic_type_info
val find_logic_ctor : string -> Cil_types.logic_ctor_info
end) -> sig .. end
val append_old_and_post_labels : Lenv.t -> Lenv.t
append the Old label in the environment
val append_here_label : Lenv.t -> Lenv.t
appends the Here label in the environment
val append_pre_label : pre_is_old:bool -> Lenv.t -> Lenv.t
appends the "Pre" label in the environment when pre_is_old is true, it adds it has a synonym for "Old". (the latter should be set when typing function contracts)