module Vars:sig
..end
Globals variables.
The AST should be computed before using this module
(cf. Ast.compute
).
val find : Cil_types.varinfo -> Cil_types.initinfo
val find_from_astinfo : string -> Cil_types.localisation -> Cil_types.varinfo
Finds a variable from its vname
according to its localisation (which
might be a local). If you wish to search for a symbol according to its
original name in the source code and the syntactic scope in which
it should appear, use Globals.Syntactic_search
instead.
Not_found
if no such variable exists.val get_astinfo : Cil_types.varinfo -> string * Cil_types.localisation
Linear in the number of locals and formals of the program.
val iter : (Cil_types.varinfo -> Cil_types.initinfo -> unit) -> unit
val fold : (Cil_types.varinfo -> Cil_types.initinfo -> 'a -> 'a) -> 'a -> 'a
val iter_in_file_order : (Cil_types.varinfo -> Cil_types.initinfo -> unit) -> unit
The next four iterators iter on all global variables present in the AST, following the order in which they are declared/defined. The only exception is for variables that are both declared and defined. In this case, the declarations are skipped altogether.
val fold_in_file_order : (Cil_types.varinfo -> Cil_types.initinfo -> 'a -> 'a) -> 'a -> 'a
val iter_in_file_rev_order : (Cil_types.varinfo -> Cil_types.initinfo -> unit) -> unit
val fold_in_file_rev_order : (Cil_types.varinfo -> Cil_types.initinfo -> 'a -> 'a) -> 'a -> 'a
Functions of this section should not be called by casual users.
exception AlreadyExists of Cil_types.varinfo * Cil_types.initinfo
val add : Cil_types.varinfo -> Cil_types.initinfo -> unit
AlreadyExists
if the given varinfo is already registered.val add_decl : Cil_types.varinfo -> unit
AlreadyExists
if the given varinfo is already registered.val self : State.t