aboutsummaryrefslogtreecommitdiffhomepage
path: root/engine
diff options
context:
space:
mode:
authorGravatar Emilio Jesus Gallego Arias <e+git@x80.org>2018-02-25 22:43:42 +0100
committerGravatar Emilio Jesus Gallego Arias <e+git@x80.org>2018-03-09 23:28:09 +0100
commitb1d749e59444f86e40f897c41739168bb1b1b9b3 (patch)
treeade1ab73a9c2066302145bb3781a39b5d46b4513 /engine
parent4af41a12a0e7e6b17d25a71568641bd03d5e1f94 (diff)
[located] Push inner locations in `reference` to a CAst.t node.
The `reference` type contains some ad-hoc locations in its constructors, but there is no reason not to handle them with the standard attribute container provided by `CAst.t`. An orthogonal topic to this commit is whether the `reference` type should contain a location or not at all. It seems that many places would become a bit clearer by splitting `reference` into non-located `reference` and `lreference`, however some other places become messier so we maintain the current status-quo for now.
Diffstat (limited to 'engine')
-rw-r--r--engine/uState.ml2
-rw-r--r--engine/universes.ml6
2 files changed, 4 insertions, 4 deletions
diff --git a/engine/uState.ml b/engine/uState.ml
index 1dd8acd0d..6c8dbe3f4 100644
--- a/engine/uState.ml
+++ b/engine/uState.ml
@@ -296,7 +296,7 @@ let constrain_variables diff ctx =
let reference_of_level uctx =
let map, map_rev = uctx.uctx_names in
fun l ->
- try Libnames.Ident (Loc.tag @@ Option.get (Univ.LMap.find l map_rev).uname)
+ try CAst.make @@ Libnames.Ident (Option.get (Univ.LMap.find l map_rev).uname)
with Not_found | Option.IsNone ->
Universes.reference_of_level l
diff --git a/engine/universes.ml b/engine/universes.ml
index ddc9beff4..e5f9212a7 100644
--- a/engine/universes.ml
+++ b/engine/universes.ml
@@ -21,7 +21,7 @@ open Nametab
module UPairs = OrderedType.UnorderedPair(Univ.Level)
module UPairSet = Set.Make (UPairs)
-let reference_of_level l =
+let reference_of_level l = CAst.make @@
match Level.name l with
| Some (d, n as na) ->
let qid =
@@ -29,8 +29,8 @@ let reference_of_level l =
with Not_found ->
let name = Id.of_string_soft (string_of_int n) in
Libnames.make_qualid d name
- in Libnames.Qualid (Loc.tag @@ qid)
- | None -> Libnames.Ident (Loc.tag @@ Id.of_string_soft (Level.to_string l))
+ in Libnames.Qualid qid
+ | None -> Libnames.Ident Id.(of_string_soft (Level.to_string l))
let pr_with_global_universes l = Libnames.pr_reference (reference_of_level l)