summaryrefslogtreecommitdiff
path: root/src/Values.ml
diff options
context:
space:
mode:
authorSon Ho2022-01-25 18:49:11 +0100
committerSon Ho2022-01-25 18:49:11 +0100
commit42da25ddae3deb8df125ca5d1963a0b40d683c2a (patch)
tree0cb94d1bf5537162bfc70ef0fd6685fa3ca2bc26 /src/Values.ml
parentc9d8b44983e6111615400b7f2891e8f928009cd3 (diff)
Make progress on SymbolicToPure.translate_end_abstraction
Diffstat (limited to '')
-rw-r--r--src/Values.ml8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Values.ml b/src/Values.ml
index cc458bca..6378269f 100644
--- a/src/Values.ml
+++ b/src/Values.ml
@@ -737,12 +737,18 @@ type abs = {
symbolic AST, generated by the symbolic execution.
*)
back_id : (RegionGroupId.id option[@opaque]);
- (** The id of the backward function to which this abstraction is linked.
+ (** The id of the backward function to which this abstraction is linked,
+ if there is one. Note that it may not be the case, when introducing
+ abstractions to handle the input values for the function we are
+ synthesizing for instance. TODO: actually should never be None.
+
This is not used by the symbolic execution: it is a utility for
the symbolic AST, generated by the symbolic execution.
*)
kind : (abs_kind[@opaque]);
parents : (AbstractionId.Set.t[@opaque]); (** The parent abstractions *)
+ original_parents : (AbstractionId.id list[@opaque]);
+ (** The original list of parents, ordered. This is used for synthesis. *)
regions : (RegionId.Set.t[@opaque]); (** Regions owned by this abstraction *)
ancestors_regions : (RegionId.Set.t[@opaque]);
(** Union of the regions owned by this abstraction's ancestors (not