Module MockTaintAnalysis.TraceDomain
module Source : sig ... endmodule Sink : sig ... endmodule Sanitizer : sig ... endval get_report : Source.t -> Sink.t -> Sanitizer.t list -> IBase.IssueType.t option
type t= MockTrace.t
val leq : lhs:t -> rhs:t -> boolval join : t -> t -> tval widen : prev:t -> next:t -> num_iters:int -> tval bottom : tval is_bottom : t -> bool
module Sources : sig ... endmodule Sinks : sig ... endmodule Passthroughs = Absint.Passthrough.Settype path= Passthroughs.t * (Source.t * Passthroughs.t) list * (Sink.t * Passthroughs.t) listtype report= MockTrace.report={issue : IBase.IssueType.t;path_source : Source.t;path_sink : Sink.t;path_passthroughs : Passthroughs.t;}
val sources : t -> Sources.tval sinks : t -> Sinks.tval passthroughs : t -> Passthroughs.tval get_reports : ?cur_site:Absint.CallSite.t -> t -> report listval get_reportable_paths : ?cur_site:Absint.CallSite.t -> t -> trace_of_pname:(IR.Procname.t -> t) -> path listval to_loc_trace : ?desc_of_source:(Source.t -> string) -> ?source_should_nest:(Source.t -> bool) -> ?desc_of_sink:(Sink.t -> string) -> ?sink_should_nest:(Sink.t -> bool) -> path -> Absint.Errlog.loc_traceval of_source : Source.t -> tval of_footprint : Absint.AccessPath.Abs.t -> tval add_source : Source.t -> t -> tval add_sink : Sink.t -> t -> tval add_sanitizer : Sanitizer.t -> t -> tval update_sources : t -> Sources.t -> tval update_sinks : t -> Sinks.t -> tval get_footprint_indexes : t -> IStdlib.IntSet.tval append : t -> t -> Absint.CallSite.t -> tval pp : Absint.TaintTrace.F.formatter -> t -> unitval pp_path : IR.Procname.t -> Absint.TaintTrace.F.formatter -> path -> unit