Module Concurrency.AbstractAddress
include IStdlib.PrettyPrintable.PrintableOrderedType
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val equal : t -> t -> bool
val equal_across_threads : IR.Tenv.t -> t -> t -> bool
val root_class : t -> IR.Typ.name option
Class of the root variable of the expression representing the address
val get_typ : IR.Tenv.t -> t -> IR.Typ.t option
val make : Absint.FormalMap.t -> IR.HilExp.t -> t option
convert an expression to a canonical form for an address
val is_class_object : t -> bool
is the address a Java class object such as in
synchronized(MyClass.class){}
orstatic synchronized void foo()
type subst
A substitution from formal position indices to address options.
None
is used to for actuals that cannot be resolved to an address (eg local-rooted paths or arithmetic expressions).
val pp_subst : F.formatter -> subst -> unit
val make_subst : Absint.FormalMap.t -> IR.HilExp.t list -> subst
val apply_subst : subst -> t -> t option