summaryrefslogtreecommitdiff
path: root/src/ast_util.mli
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast_util.mli')
-rw-r--r--src/ast_util.mli17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/ast_util.mli b/src/ast_util.mli
index 6ac29123..21a546ee 100644
--- a/src/ast_util.mli
+++ b/src/ast_util.mli
@@ -51,6 +51,7 @@
(** Utilities and helper functions for operating on Sail ASTs *)
open Ast
+open Ast_defs
module Big_int = Nat_big_num
type mut = Immutable | Mutable
@@ -354,7 +355,7 @@ val map_valspec_annot : ('a annot -> 'b annot) -> 'a val_spec -> 'b val_spec
val map_scattered_annot : ('a annot -> 'b annot) -> 'a scattered_def -> 'b scattered_def
val map_def_annot : ('a annot -> 'b annot) -> 'a def -> 'b def
-val map_defs_annot : ('a annot -> 'b annot) -> 'a defs -> 'b defs
+val map_ast_annot : ('a annot -> 'b annot) -> 'a ast -> 'b ast
(** {2 Extract locations from terms} *)
val id_loc : id -> Parse_ast.l
@@ -454,17 +455,19 @@ val rename_valspec : id -> 'a val_spec -> 'a val_spec
val rename_fundef : id -> 'a fundef -> 'a fundef
-val split_defs : ('a def -> bool) -> 'a defs -> ('a defs * 'a def * 'a defs) option
+val split_defs : ('a def -> bool) -> 'a def list -> ('a def list * 'a def * 'a def list) option
-val append_ast : 'a defs -> 'a defs -> 'a defs
-val concat_ast : 'a defs list -> 'a defs
+val append_ast : 'a ast -> 'a ast -> 'a ast
+val append_ast_defs : 'a ast -> 'a def list -> 'a ast
+val concat_ast : 'a ast list -> 'a ast
val type_union_id : type_union -> id
val ids_of_def : 'a def -> IdSet.t
-val ids_of_defs : 'a defs -> IdSet.t
+val ids_of_defs : 'a def list -> IdSet.t
+val ids_of_ast : 'a ast -> IdSet.t
-val val_spec_ids : 'a defs -> IdSet.t
+val val_spec_ids : 'a def list -> IdSet.t
val pat_ids : 'a pat -> IdSet.t
@@ -501,7 +504,7 @@ val extern_assoc : string -> (string * string) list -> string option
the closest annotation or even finding an annotation at all. This
is used by the Emacs mode to provide type-at-cursor functionality
and we don't mind if it's a bit fuzzy in that context. *)
-val find_annot_ast : (Lexing.position * Lexing.position) option -> 'a defs -> (Ast.l * 'a) option
+val find_annot_ast : (Lexing.position * Lexing.position) option -> 'a ast -> (Ast.l * 'a) option
(** {2 Substitutions}