source/analysis/managedCache.mli (33 lines of code) (raw):

(* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) open Core module type SexpableKeyType = sig type t [@@deriving sexp, compare] val to_string : t -> string type out val from_string : string -> out end module type In = sig module PreviousEnvironment : Environment.PreviousEnvironment module Key : SexpableKeyType module Value : Memory.ComparableValueType module KeySet : Set.S with type Elt.t = Key.t module HashableKey : Hashable with type t := Key.t val lazy_incremental : bool val produce_value : PreviousEnvironment.ReadOnly.t -> Key.t -> dependency:SharedMemoryKeys.DependencyKey.registered option -> Value.t val filter_upstream_dependency : SharedMemoryKeys.dependency -> Key.t option val trigger_to_dependency : Key.t -> SharedMemoryKeys.dependency end module Make (In : In) : Environment.EnvironmentTable.S with type In.Key.t = In.Key.t and module In.PreviousEnvironment = In.PreviousEnvironment and module In.Value = In.Value