Module HilExp.Access

type ('fieldname, 'array_index) t_ =
| FieldAccess of 'fieldname
| ArrayAccess of IR.Typ.t * 'array_index
| TakeAddress
| Dereference
val compare_t_ : ('fieldname -> 'fieldname -> int) -> ('array_index -> 'array_index -> int) -> ('fieldname'array_index) t_ -> ('fieldname'array_index) t_ -> int
val equal_t_ : ('fieldname -> 'fieldname -> bool) -> ('array_index -> 'array_index -> bool) -> ('fieldname'array_index) t_ -> ('fieldname'array_index) t_ -> bool
val yojson_of_t_ : ('fieldname -> Ppx_yojson_conv_lib.Yojson.Safe.t) -> ('array_index -> Ppx_yojson_conv_lib.Yojson.Safe.t) -> ('fieldname'array_index) t_ -> Ppx_yojson_conv_lib.Yojson.Safe.t
type 'array_index t = (IR.Fieldname.t'array_index) t_
val compare : ('array_index -> 'array_index -> int) -> 'array_index t -> 'array_index t -> int
val yojson_of_t : ('array_index -> Ppx_yojson_conv_lib.Yojson.Safe.t) -> 'array_index t -> Ppx_yojson_conv_lib.Yojson.Safe.t
val loose_compare : ('array_index -> 'array_index -> int) -> 'array_index t -> 'array_index t -> int
val pp : (Stdlib.Format.formatter -> 'array_index -> unit) -> Stdlib.Format.formatter -> 'array_index t -> unit
val is_field_or_array_access : 'a t -> bool