module Ast:sig..end
exception Bad_Initialization of string
Ast.get below.exception NoUntypedAst
module UntypedFiles:sig..end
val get : unit -> Cil_types.fileFile has to be called
before using this function.Bad_Initialization if neither File.init_from_c_files
nor File.init_project_from_cil_file nor File.init_from_cmdline was
called before.val compute : unit -> unitBad_Initialization if neither File.init_from_c_files
nor File.init_project_from_cil_file nor File.init_from_cmdline was
called before.val is_computed : unit -> boolval mark_as_changed : unit -> unitval mark_as_grown : unit -> unitval add_monotonic_state : State.t -> unitAst.mark_as_grown will
not erase such states, while Ast.mark_as_changed and clearing Ast.self
itself will.val self : State.tval apply_after_computed : (Cil_types.file -> unit) -> unit
Functions below should not be called by casual users.
val is_def_or_last_decl : Cil_types.global -> booltrue if the global is the last one in the AST to introduce a given
variable. Used by visitor and printer to relate funspec with appropriate
global, and the GUI to remove redundant declarations of globals.
Complexity: O(nb of globals) for the first call, then O(1).
Since Oxygen-20120901
val def_or_last_decl : Cil_types.varinfo -> Cil_types.globaldef_or_last_decl v returns the global g declaring or defining
g such that is_def_or_last_decl g is true.
v must be a global variable declared in the AST.
Since Aluminium-20160501
val clear_last_decl : unit -> unitval set_file : Cil_types.file -> unit
val set_default_initialization : (unit -> unit) -> unit
val mark_as_computed : unit -> unitval add_hook_on_update : (unit -> unit) -> unit