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