Checkers.LithoDomain
val is_component_or_section_builder : IR.Typ.Name.t -> IR.Tenv.t -> bool
module LocalAccessPath : sig ... end
Access path + its parent procedure
module MethodCallPrefix : sig ... end
Called procedure & location
module Mem : sig ... end
include Absint.AbstractDomain.S
include Absint.AbstractDomain.Comparable
include IStdlib.PrettyPrintable.PrintableType
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val subst :
callsite:IBase.Location.t ->
formals:(IR.Pvar.t * IR.Typ.t) list ->
actuals:Absint.HilExp.t list ->
ret_id_typ:Absint.AccessPath.base ->
caller_pname:IR.Procname.t ->
callee_pname:IR.Procname.t ->
caller:t ->
callee:Mem.t ->
t
type summary = Mem.t
type for saving in summary payload
val init :
IR.Tenv.t ->
IR.Procname.t ->
(IR.Pvar.t * IR.Typ.t) list ->
LocalAccessPath.t ->
t
val assign : lhs:LocalAccessPath.t -> rhs:LocalAccessPath.t -> t -> t
val assume_null : LocalAccessPath.t -> t -> t
Semantics of null assume statement, i.e., assume(x==null)
val call_create :
LocalAccessPath.t ->
IR.Typ.name ->
IBase.Location.t ->
t ->
t
Semantics of builder creation method
val call_builder :
ret:LocalAccessPath.t ->
receiver:LocalAccessPath.t ->
MethodCallPrefix.t ->
t ->
t
Semantics of builder's methods, e.g. prop
val call_build_method :
ret:LocalAccessPath.t ->
receiver:LocalAccessPath.t ->
t ->
t
Semantics of builder's final build method
val pp_summary : Stdlib.Format.formatter -> summary -> unit
val check_required_props :
check_on_string_set:
(IR.Typ.name ->
IBase.Location.t ->
MethodCallPrefix.t list ->
IStdlib.IStd.String.Set.t ->
unit) ->
summary ->
summary