Module AbsLoc.Allocsite

type t = private
  1. | Unknown
  2. | Symbol of Symb.SymbolPath.partial
  3. | Known of {
    1. proc_name : string;
      (*

      the name of the procedure (builtin) which created the allocsite

      *)
    2. caller_pname : IR.Procname.t option;
      (*

      the name of the procedure for that the allocsite was created. That is, the procedure that called proc_name

      *)
    3. node_hash : int;
      (*

      hash of the node being allocated

      *)
    4. inst_num : int;
      (*

      order of the instruction in the node, i.e. n-th instruction

      *)
    5. dimension : int;
      (*

      depth of nested array

      *)
    6. represents_multiple_values : bool;
    7. path : Symb.SymbolPath.partial option;
    }
  4. | LiteralString of string
include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
include IStdlib.IStd.Caml.Set.OrderedType with type t := t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val unknown : t
val is_unknown : t -> bool
val make : IR.Procname.t -> caller_pname:IR.Procname.t option -> node_hash:int -> inst_num:int -> dimension:int -> path:Symb.SymbolPath.partial option -> represents_multiple_values:bool -> t
val make_symbol : Symb.SymbolPath.partial -> t
val literal_string : string -> t
val get_param_path : t -> Symb.SymbolPath.partial option
val eq : t -> t -> Boolean.t