Module Environment

module Environment: sig .. end

module Table: Datatype.String.Hashtbl
type env = {
   globals : Cil_types.varinfo Table.t;
   functions : Cil_types.varinfo Table.t;
   typedefs : Cil_types.typeinfo Table.t;
   structs : Cil_types.compinfo Table.t;
   unions : Cil_types.compinfo Table.t;
   enums : Cil_types.enuminfo Table.t;
}
val empty : unit -> env
val add_global : env -> Cil_types.varinfo -> unit
val add_function : env -> Cil_types.varinfo -> unit
val add_typeinfo : env -> Cil_types.typeinfo -> unit
val add_compinfo : env -> Cil_types.compinfo -> unit
val add_enuminfo : env -> Cil_types.enuminfo -> unit
val find_global : env -> string -> Cil_types.varinfo
val find_function : env -> string -> Cil_types.varinfo
val find_typedef : env -> string -> Cil_types.typeinfo
val find_struct : env -> string -> Cil_types.compinfo
val find_union : env -> string -> Cil_types.compinfo
val find_enum : env -> string -> Cil_types.enuminfo
val find_type : env -> Logic_typing.type_namespace -> string -> Cil_types.typ
val from_file : Cil_types.file -> env