Module InferIR__AccessExpression

type t =
| Base of InferIR.AccessPath.base
| FieldOffset of t * InferIR.Typ.Fieldname.t
| ArrayOffset of t * InferIR.Typ.t * t list
| AddressOf of t
| Dereference of t
include sig ... end
val compare : t ‑> t ‑> int
val to_access_path : t ‑> InferIR.AccessPath.t
val to_access_paths : t list ‑> InferIR.AccessPath.t list
val of_id : InferIR.Ident.t ‑> InferIR.Typ.t ‑> t

create an access expression from an ident

val get_base : t ‑> InferIR.AccessPath.base
val replace_base : remove_deref_after_base:bool ‑> InferIR.AccessPath.base ‑> t ‑> t
val is_base : t ‑> bool
val get_typ : t ‑> InferIR.Tenv.t ‑> InferIR.Typ.t option
val pp : Format.formatter ‑> t ‑> unit
val equal : t ‑> t ‑> bool
val of_lhs_exp : include_array_indexes:bool ‑> add_deref:bool ‑> InferIR.Exp.t ‑> InferIR.Typ.t ‑> f_resolve_id:(InferIR.Var.t ‑> t option) ‑> t option

convert lhs_exp to an access expression, resolving identifiers using f_resolve_id

val normalize : t ‑> t