Summary: Preparing for bigger changes... - Rename `payload` field to `payloads` - Move `payload` type to `Payloads.t` - `SummaryPayload`s only have to implement a change on `Payloads.t` rather than `Summary.t` Reviewed By: sblackshear Differential Revision: D7987211 fbshipit-source-id: c9d7a74master
parent
15b77c6a55
commit
1898ef3a7a
@ -0,0 +1,83 @@
|
|||||||
|
(*
|
||||||
|
* Copyright (c) 2016 - present Facebook, Inc.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the BSD style license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree. An additional grant
|
||||||
|
* of patent rights can be found in the PATENTS file in the same directory.
|
||||||
|
*)
|
||||||
|
|
||||||
|
open! IStd
|
||||||
|
module F = Format
|
||||||
|
|
||||||
|
type t =
|
||||||
|
{ annot_map: AnnotReachabilityDomain.astate option
|
||||||
|
; biabduction: BiabductionSummary.t option
|
||||||
|
; buffer_overrun: BufferOverrunDomain.Summary.t option
|
||||||
|
; crashcontext_frame: Stacktree_t.stacktree option
|
||||||
|
; litho: LithoDomain.astate option
|
||||||
|
; quandary: QuandarySummary.t option
|
||||||
|
; racerd: RacerDDomain.summary option
|
||||||
|
; resources: ResourceLeakDomain.summary option
|
||||||
|
; siof: SiofDomain.astate option
|
||||||
|
; typestate: unit TypeState.t option
|
||||||
|
; uninit: UninitDomain.summary option
|
||||||
|
; cost: CostDomain.summary option
|
||||||
|
; starvation: StarvationDomain.summary option }
|
||||||
|
|
||||||
|
let pp pe fmt
|
||||||
|
{ biabduction
|
||||||
|
; typestate
|
||||||
|
; crashcontext_frame
|
||||||
|
; quandary
|
||||||
|
; siof
|
||||||
|
; racerd
|
||||||
|
; litho
|
||||||
|
; buffer_overrun
|
||||||
|
; annot_map
|
||||||
|
; uninit
|
||||||
|
; cost
|
||||||
|
; starvation } =
|
||||||
|
let pp_opt prefix pp fmt = function
|
||||||
|
| Some x ->
|
||||||
|
F.fprintf fmt "%s: %a@\n" prefix pp x
|
||||||
|
| None ->
|
||||||
|
()
|
||||||
|
in
|
||||||
|
F.fprintf fmt "%a%a%a%a%a%a%a%a%a%a%a%a@\n"
|
||||||
|
(pp_opt "Biabduction" (BiabductionSummary.pp pe))
|
||||||
|
biabduction
|
||||||
|
(pp_opt "TypeState" (TypeState.pp TypeState.unit_ext))
|
||||||
|
typestate
|
||||||
|
(pp_opt "CrashContext" Crashcontext.pp_stacktree)
|
||||||
|
crashcontext_frame
|
||||||
|
(pp_opt "Quandary" QuandarySummary.pp)
|
||||||
|
quandary (pp_opt "Siof" SiofDomain.pp) siof
|
||||||
|
(pp_opt "RacerD" RacerDDomain.pp_summary)
|
||||||
|
racerd (pp_opt "Litho" LithoDomain.pp) litho
|
||||||
|
(pp_opt "BufferOverrun" BufferOverrunDomain.Summary.pp)
|
||||||
|
buffer_overrun
|
||||||
|
(pp_opt "AnnotationReachability" AnnotReachabilityDomain.pp)
|
||||||
|
annot_map
|
||||||
|
(pp_opt "Uninitialised" UninitDomain.pp_summary)
|
||||||
|
uninit
|
||||||
|
(pp_opt "Cost" CostDomain.pp_summary)
|
||||||
|
cost
|
||||||
|
(pp_opt "Starvation" StarvationDomain.pp_summary)
|
||||||
|
starvation
|
||||||
|
|
||||||
|
|
||||||
|
let empty =
|
||||||
|
{ biabduction= None
|
||||||
|
; typestate= None
|
||||||
|
; annot_map= None
|
||||||
|
; crashcontext_frame= None
|
||||||
|
; quandary= None
|
||||||
|
; resources= None
|
||||||
|
; siof= None
|
||||||
|
; racerd= None
|
||||||
|
; litho= None
|
||||||
|
; buffer_overrun= None
|
||||||
|
; uninit= None
|
||||||
|
; cost= None
|
||||||
|
; starvation= None }
|
@ -0,0 +1,30 @@
|
|||||||
|
(*
|
||||||
|
* Copyright (c) 2016 - present Facebook, Inc.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the BSD style license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree. An additional grant
|
||||||
|
* of patent rights can be found in the PATENTS file in the same directory.
|
||||||
|
*)
|
||||||
|
|
||||||
|
open! IStd
|
||||||
|
|
||||||
|
(** analysis results *)
|
||||||
|
type t =
|
||||||
|
{ annot_map: AnnotReachabilityDomain.astate option
|
||||||
|
; biabduction: BiabductionSummary.t option
|
||||||
|
; buffer_overrun: BufferOverrunDomain.Summary.t option
|
||||||
|
; crashcontext_frame: Stacktree_t.stacktree option
|
||||||
|
; litho: LithoDomain.astate option
|
||||||
|
; quandary: QuandarySummary.t option
|
||||||
|
; racerd: RacerDDomain.summary option
|
||||||
|
; resources: ResourceLeakDomain.summary option
|
||||||
|
; siof: SiofDomain.astate option
|
||||||
|
; typestate: unit TypeState.t option
|
||||||
|
; uninit: UninitDomain.summary option
|
||||||
|
; cost: CostDomain.summary option
|
||||||
|
; starvation: StarvationDomain.summary option }
|
||||||
|
|
||||||
|
val pp : Pp.env -> Format.formatter -> t -> unit
|
||||||
|
|
||||||
|
val empty : t
|
Loading…
Reference in new issue