aboutsummaryrefslogtreecommitdiffhomepage
path: root/library
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-07-21 16:52:52 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-07-21 17:21:54 +0200
commit4a268c0ddd21d4e8e07495c362757c4c6f477fcc (patch)
tree3fc3ffb55e5ab0091c9df025fd0d617c2c3e1aff /library
parentf27df397b49d2bb469e513749cade21e5c259926 (diff)
Unifying locate code, also making it more powerful: it is now able to find
any prefix of the given qualid.
Diffstat (limited to 'library')
-rw-r--r--library/nametab.ml5
-rw-r--r--library/nametab.mli2
2 files changed, 7 insertions, 0 deletions
diff --git a/library/nametab.ml b/library/nametab.ml
index edceacaa8..3bd4e03ab 100644
--- a/library/nametab.ml
+++ b/library/nametab.ml
@@ -431,6 +431,8 @@ let locate_extended_all_tactic qid = KnTab.find_prefixes qid !the_tactictab
let locate_extended_all_dir qid = DirTab.find_prefixes qid !the_dirtab
+let locate_extended_all_modtype qid = MPTab.find_prefixes qid !the_modtypetab
+
(* Derived functions *)
let locate_constant qid =
@@ -490,6 +492,9 @@ let dirpath_of_module mp =
let path_of_tactic kn =
KNmap.find kn !the_tacticrevtab
+let path_of_modtype mp =
+ MPmap.find mp !the_modtyperevtab
+
(* Shortest qualid functions **********************************************)
let shortest_qualid_of_global ctx ref =
diff --git a/library/nametab.mli b/library/nametab.mli
index 1289a6745..eb2cecc59 100644
--- a/library/nametab.mli
+++ b/library/nametab.mli
@@ -113,6 +113,7 @@ val locate_all : qualid -> global_reference list
val locate_extended_all : qualid -> extended_global_reference list
val locate_extended_all_tactic : qualid -> ltac_constant list
val locate_extended_all_dir : qualid -> global_dir_reference list
+val locate_extended_all_modtype : qualid -> module_path list
(** Mapping a full path to a global reference *)
@@ -143,6 +144,7 @@ val full_name_module : qualid -> DirPath.t
val path_of_syndef : syndef_name -> full_path
val path_of_global : global_reference -> full_path
val dirpath_of_module : module_path -> DirPath.t
+val path_of_modtype : module_path -> full_path
val path_of_tactic : ltac_constant -> full_path
(** Returns in particular the dirpath or the basename of the full path