(* to share *)
let type_check err f st = function
- | ra, na, uri, E.Abst t ->
+ | ra, na, uri, E.Abst (a, t) ->
let err msg = err (L.Uri uri :: msg) in
let f xt tt =
- let e = BE.set_entity (ra, na, uri, E.Abst xt) in f tt e
+ let e = BE.set_entity (ra, na, uri, E.abst a xt) in f tt e
in
BT.type_of err f st BR.empty_rtm t
- | ra, na, uri, E.Abbr t ->
+ | ra, na, uri, E.Abbr (a, t) ->
let err msg = err (L.Uri uri :: msg) in
let f xt tt =
let xt = match xt with
| B.Cast _ -> xt
| _ -> B.Cast (tt, xt)
in
- let e = BE.set_entity (ra, na, uri, E.Abbr xt) in f tt e
+ let e = BE.set_entity (ra, na, uri, E.abbr a xt) in f tt e
in
BT.type_of err f st BR.empty_rtm t
- | _, _, _, E.Void -> assert false
+ | _, _, _, E.Void -> assert false
END
Y.utime_lap ""
ELSE () END;
let uri, t = match e with
- | _, _, uri, E.Abst t -> uri, t
- | _, _, uri, E.Abbr t -> uri, t
- | _, _, _, E.Void -> assert false
+ | _, _, uri, E.Abst (_, t) -> uri, t
+ | _, _, uri, E.Abbr (_, t) -> uri, t
+ | _, _, _, E.Void -> assert false
in
let err msg = err (L.Uri uri :: msg) in
let f () =