Module LineageShape.VarPath

A variable path is a pair of a variable and a possibly empty list of subscripted fields. They are built from their in-program occurrences. They may semantically have sub-fields themselves: it is the job of the Cell module to determine the final graph nodes constructed from paths.

The type of variable paths: a variable and a possibly empty list of subscripted fields.

val var : IR.Var.t -> t
val sub_label : t -> FieldLabel.t -> t

Subscript one sub-field from a variable path.

val sub_path : t -> FieldPath.t -> t

Subscript nested sub-fields from a variable path.

val make : IR.Var.t -> FieldPath.t -> t
val pvar : IR.Pvar.t -> t
val ident : IR.Ident.t -> t