Functor Cumulative_analysis.Make

module Make: 
functor (X : sig
val analysis_name : string
type t 
Type of the results
module T: Datatype.S  with type t = t
class virtual do_it : [t] Cumulative_analysis.cumulative_class
Class that implements the analysis.
end) -> sig .. end
Parameters:
X : sig val analysis_name: string (** Type of the results *) type t module T: Datatype.S with type t = t (** Class that implements the analysis. Must not deal with memoization, as this is automatically done by the functor *) class virtual do_it: [t] cumulative_class end

module Memo: sig .. end
Module that contains the memoized results
class do_it_cached : Kernel_function.t list -> object .. end
Class that implements a cached version of the above analysis.
val kernel_function : Cil_types.kernel_function -> X.t
Effects of the given kernel_function, using memoization
val statement : Cil_types.stmt -> X.t
Effects of a statement, using memoization if it contains a function call
val expr : Cil_types.stmt -> Cil_types.exp -> X.t
Effects of the given expression (which is supposed to be at the given statement