Frama-C API - Fold
Fold operations on table of a given type of AST elements.
Fold.ast_element vis f, folds f over each pair of ast_element registered in vis. The ast_element in the old AST is presented to f first (that is, f looks like: let f old_e new_e acc = .... For example for Cil_types.varinfo: Fold.varinfo vis (fun old_vi new_vi acc -> ... ).
val varinfo : t -> (Cil_types.varinfo -> Cil_types.varinfo -> 'a -> 'a) -> 'a -> 'aval compinfo : t -> (Cil_types.compinfo -> Cil_types.compinfo -> 'a -> 'a) -> 'a -> 'aval enuminfo : t -> (Cil_types.enuminfo -> Cil_types.enuminfo -> 'a -> 'a) -> 'a -> 'aval enumitem : t -> (Cil_types.enumitem -> Cil_types.enumitem -> 'a -> 'a) -> 'a -> 'aval typeinfo : t -> (Cil_types.typeinfo -> Cil_types.typeinfo -> 'a -> 'a) -> 'a -> 'aval stmt : t -> (Cil_types.stmt -> Cil_types.stmt -> 'a -> 'a) -> 'a -> 'aval logic_info : t -> (Cil_types.logic_info -> Cil_types.logic_info -> 'a -> 'a) -> 'a -> 'aval logic_type_info : t -> (Cil_types.logic_type_info -> Cil_types.logic_type_info -> 'a -> 'a) -> 'a -> 'aval fieldinfo : t -> (Cil_types.fieldinfo -> Cil_types.fieldinfo -> 'a -> 'a) -> 'a -> 'aval model_info : t -> (Cil_types.model_info -> Cil_types.model_info -> 'a -> 'a) -> 'a -> 'aval logic_var : t -> (Cil_types.logic_var -> Cil_types.logic_var -> 'a -> 'a) -> 'a -> 'aval kernel_function : t -> (Cil_types.kernel_function -> Cil_types.kernel_function -> 'a -> 'a) -> 'a -> 'aval fundec : t -> (Cil_types.fundec -> Cil_types.fundec -> 'a -> 'a) -> 'a -> 'a