Module Ident


module Ident: sig .. end
source-file long identifiers

type t 
t is the type of dot separated lists of names (with preceding lexical spacing), e.g. (*Foo*) M . x
val pp : Format.formatter -> t -> unit
Pretty print
val to_string : t -> string
to_string i formats i using pp.
val from_id : Ast.id -> t
val from_name : Name.lskips_t -> t
val get_name : t -> Name.lskips_t
Return the last name in the ident, e.g., M.Y.x gives x
val mk_ident : Ast.lex_skips -> Name.t list -> Name.t -> t
mk_ident sk ms n creates an identifier n with module prefix ms and leading whitespace sk.
val mk_ident_ast : (Name.lskips_t * Ast.lex_skips) list -> Name.lskips_t -> Ast.l -> t
mk_ident_ast nsl ns l generates a new identifiers during type-checking. Whitespace is prohibited in all Name.lskips_t except the very first one and all Ast.lex_skips has to be empty. Otherwise, this operation my fails and uses the location l for the error message.
val mk_ident_strings : string list -> string -> t
mk_ident_strings is a version of mk_ident that uses strings as input and uses empty whitespace.
val to_output_format : (Output.id_annot -> Ulib.Text.t -> Output.t) ->
Output.id_annot -> Ulib.Text.t -> t -> Output.t
val to_output : Output.id_annot -> Ulib.Text.t -> t -> Output.t
val get_lskip : t -> Ast.lex_skips
val replace_lskip : t -> Ast.lex_skips -> t
val to_name_list : t -> Name.t list * Name.t
val has_empty_path_prefix : t -> bool
has_empty_path_prefix i check whether the identifier i consists of just a single name without any prefix describing its module path
val strip_path : Name.t -> t -> t
Remove the name from the identifier if it occurs at the first
val rename : t -> Name.t -> t
rename i n' renames the last name component of identifier i to n'.
val drop_path : t -> t
drop_path i drops the path of an identier. This means an identifier of the form M1.M2...Mn.name is converted to name. White-space is preserved.