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 = pri
  1. | Compilation_unit(string)
  2. | Item of {
    1. comp_unit: string,
    2. id: int,
    }
  3. | Internal
  4. | Predef(string)
;
let reinit: unit => unit;
let mk: current_unit:string => t;
let of_compilation_unit_id: Ident.t => t;
let of_predef_id: Ident.t => t;
let internal_not_actually_unique: t;
let for_actual_declaration: t => bool;
include Identifiable.S with type t := t;
module T: { ... };
let equal: T.t => T.t => bool;
let hash: T.t => int;
let compare: T.t => T.t => int;
let output: Stdlib.out_channel => T.t => unit;
let print: Stdlib.Format.formatter => T.t => unit;
module Set: { ... };
module Map: { ... };
module Tbl: { ... };