module Make: functor (
X
:
sig
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