Module AbsLoc.Loc

include sig ... end
type t = private
| Var of InferIR.Var.t
| Allocsite of Allocsite.t
| Field of t * InferIR.Typ.Fieldname.t
| StarField of {
prefix : t;
last_field : InferIR.Typ.Fieldname.t;
}
val compare : t -> t -> int
val of_var : InferIR.Var.t -> t
val of_allocsite : Allocsite.t -> t
val append_field : t -> fn:InferIR.Typ.Fieldname.t -> t
val append_star_field : t -> fn:InferIR.Typ.Fieldname.t -> t
val equal : t -> t -> bool
val eq : t -> t -> Boolean.t
val unknown : t
val is_unknown : t -> bool
val pp_paren : paren:bool -> InferModules.BufferOverrunField.F.formatter -> t -> unit
val pp_star : paren:bool -> InferModules.BufferOverrunField.F.formatter -> t -> unit
val pp : InferModules.BufferOverrunField.F.formatter -> t -> unit
val to_string : t -> string
val is_var : t -> bool
val is_c_strlen : t -> bool
val is_java_collection_internal_array : t -> bool
val is_pretty : t -> bool
val of_c_strlen : t -> t
val of_pvar : InferIR.Pvar.t -> t
val of_id : InferIR.Ident.t -> t
val of_path : Symb.SymbolPath.partial -> t
val is_return : t -> bool
val is_field_of : loc:t -> field_loc:t -> bool
val is_literal_string : t -> string option
val is_literal_string_strlen : t -> string option
val is_global : t -> bool
val get_path : t -> Symb.SymbolPath.partial InferStdlib.IStd.Option.t
val get_param_path : t -> Symb.SymbolPath.partial InferStdlib.IStd.Option.t
val represents_multiple_values : t -> bool
val exists_pvar : f:(InferIR.Pvar.t -> bool) -> t -> bool
val exists_str : f:(string -> bool) -> t -> bool