sig
  val add :
    Cil_types.stmt ->
    Project.Computation.t list ->
    Db_types.rooted_code_annotation Db_types.before_after -> unit
  val add_assert :
    Cil_types.stmt ->
    Project.Computation.t list ->
    before:bool -> Cil_types.predicate Cil_types.named -> unit
  val add_alarm :
    Cil_types.stmt ->
    Project.Computation.t list ->
    before:bool -> Alarms.t -> Cil_types.predicate Cil_types.named -> unit
  val replace :
    reset:bool ->
    Cil_types.stmt ->
    Project.Computation.t list ->
    Db_types.rooted_code_annotation Db_types.before_after -> unit
  val reset_stmt : reset:bool -> Cil_types.stmt -> unit
  val get :
    ?who:Project.Computation.t list ->
    Cil_types.stmt ->
    Project.Computation.t ->
    (Db_types.rooted_code_annotation Db_types.before_after *
     Project.Computation.t)
    list
  val get_annotations :
    ?who:Project.Computation.t list ->
    Cil_types.stmt ->
    Project.Computation.t ->
    Db_types.rooted_code_annotation Db_types.before_after list
  val get_all :
    ?who:Project.Computation.t list ->
    Cil_types.stmt ->
    (Db_types.rooted_code_annotation Db_types.before_after *
     Project.Computation.t)
    list
  val get_all_annotations :
    ?who:Project.Computation.t list ->
    Cil_types.stmt ->
    Db_types.rooted_code_annotation Db_types.before_after list
  val get_by_state :
    Cil_types.stmt ->
    (Project.Computation.t *
     Db_types.rooted_code_annotation Db_types.before_after list)
    list
  val get_filter :
    (Cil_types.code_annotation -> bool) ->
    Cil_types.stmt ->
    Db_types.rooted_code_annotation Db_types.before_after list
  val iter_stmt :
    (Project.Computation.t ->
     Db_types.rooted_code_annotation Db_types.before_after -> unit) ->
    Cil_types.stmt -> unit
  val single_iter_stmt :
    (Db_types.rooted_code_annotation Db_types.before_after -> unit) ->
    Cil_types.stmt -> unit
  val fold_stmt :
    (Project.Computation.t ->
     Db_types.rooted_code_annotation Db_types.before_after -> '-> 'a) ->
    Cil_types.stmt -> '-> 'a
  val single_fold_stmt :
    (Db_types.rooted_code_annotation Db_types.before_after -> '-> 'a) ->
    Cil_types.stmt -> '-> 'a
  val iter :
    (Cil_types.stmt ->
     Project.Computation.t ->
     Db_types.rooted_code_annotation Db_types.before_after -> unit) ->
    unit
  val fold :
    (Cil_types.stmt ->
     Project.Computation.t ->
     Db_types.rooted_code_annotation Db_types.before_after -> '-> 'a) ->
    '-> 'a
  val filter :
    reset:bool ->
    (Cil_types.stmt ->
     Project.Computation.t ->
     Db_types.rooted_code_annotation Db_types.before_after -> bool) ->
    Cil_types.stmt -> unit
  val iter_stmt :
    (Project.Computation.t ->
     Db_types.rooted_code_annotation Db_types.before_after -> unit) ->
    Cil_types.stmt -> unit
  val self : Project.Computation.t
end