You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.6 KiB

(*
* Copyright (c) 2013 - Facebook. All rights reserved.
*)
(** Module for user-defined checkers. *)
(** State that persists in the .specs files. *)
module ST : sig
(** Add a key/value pair. *)
val pname_add : Procname.t -> string -> string -> unit
(** Find the value associated to the key. Raise Not_found if it does not exist. *)
val pname_find: Procname.t -> string -> string
(** Report an error. *)
val report_error:
Procname.t ->
Cfg.Procdesc.t ->
string ->
Sil.location ->
?advice: string option ->
?field_name: Ident.fieldname option ->
?origin_loc: Sil.location option ->
?exception_kind: (string -> Localise.error_desc -> exn) ->
?always_report: bool ->
string ->
unit
(** Store the summary to a .specs file. *)
val store_summary : Procname.t -> unit
end (* ST *)
module PP : sig
(** Print a range of lines of the source file in [loc], including [nbefore] lines before loc
and [nafter] lines after [loc] *)
val pp_loc_range : Printer.LineReader.t -> int -> int -> Format.formatter -> Sil.location -> unit
end (* PP *)
val callback_check_access : Callbacks.proc_callback_t
val callback_check_cluster_access : Callbacks.cluster_callback_t
val callback_monitor_nullcheck : Callbacks.proc_callback_t
val callback_test_state : Callbacks.proc_callback_t
val callback_checkVisibleForTesting : Callbacks.proc_callback_t
val callback_check_write_to_parcel : Callbacks.proc_callback_t
val callback_find_deserialization : Callbacks.proc_callback_t
val callback_check_field_access : Callbacks.proc_callback_t
val callback_print_c_method_calls : Callbacks.proc_callback_t