Absint.MemoryAccess
The various kind of possible ways to access memory addresses and values. Can be used for edges in a memory graph representation or to represent values as access paths.
type ('fieldname, 'array_index) t_ =
| FieldAccess of 'fieldname
| ArrayAccess of IR.Typ.t * 'array_index
| TakeAddress
| Dereference
for internal use only, prefer using t
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_
include Ppx_compare_lib.Comparable.S1
with type 'array_index t := 'array_index t
val compare :
'a Base__Ppx_compare_lib.compare ->
'a t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S1 with type 'array_index t := 'array_index t
val equal : 'a Base__Ppx_compare_lib.equal -> 'a t Base__Ppx_compare_lib.equal
val yojson_of_t :
('array_index -> Ppx_yojson_conv_lib.Yojson.Safe.t) ->
'array_index t ->
Ppx_yojson_conv_lib.Yojson.Safe.t
val pp :
(F.formatter -> 'array_index -> unit) ->
F.formatter ->
'array_index t ->
unit
val is_field_or_array_access : 'a t -> bool