Module Shape.Uid

A Uid.t is associated to every declaration in signatures and implementations. They uniquely identify bindings in the program. When associated with these bindings' locations they are useful to external tools when trying to jump to an identifier's declaration or definition. They are stored to that effect in the uid_to_decl table of cmt files.

type t = private
  1. | Compilation_unit of string
  2. | Item of {
    1. comp_unit : string;
    2. id : int;
    }
  3. | Internal
  4. | Predef of string
val reinit : unit -> unit
val mk : current_unit:string -> t
val of_compilation_unit_id : Ident.t -> t
val of_predef_id : Ident.t -> t
val internal_not_actually_unique : t
val for_actual_declaration : t -> bool
include Identifiable.S with type t := t
module T : sig ... end
val equal : T.t -> T.t -> bool
val hash : T.t -> int
val compare : T.t -> T.t -> int
val output : Stdlib.out_channel -> T.t -> unit
val print : Stdlib.Format.formatter -> T.t -> unit
module Set : sig ... end
module Map : sig ... end
module Tbl : sig ... end