Docstrings
Documentation comments
Warning: this module is unstable and part of compiler-libs.
val docstring : string -> Location.t -> docstring
Create a docstring
val register : docstring -> unit
Register a docstring
val docstring_body : docstring -> string
Get the text of a docstring
val docstring_loc : docstring -> Location.t
Get the location of a docstring
These functions are used by the lexer to associate docstrings to the locations of tokens.
val set_pre_docstrings : Stdlib.Lexing.position -> docstring list -> unit
Docstrings immediately preceding a token
val set_post_docstrings : Stdlib.Lexing.position -> docstring list -> unit
Docstrings immediately following a token
val set_floating_docstrings : Stdlib.Lexing.position -> docstring list -> unit
Docstrings not immediately adjacent to a token
val set_pre_extra_docstrings : Stdlib.Lexing.position -> docstring list -> unit
Docstrings immediately following the token which precedes this one
val set_post_extra_docstrings :
Stdlib.Lexing.position ->
docstring list ->
unit
Docstrings immediately preceding the token which follows this one
The docs
type represents documentation attached to an item.
val empty_docs : docs
val docs_attr : docstring -> Parsetree.attribute
val add_docs_attrs : docs -> Parsetree.attributes -> Parsetree.attributes
Convert item documentation to attributes and add them to an attribute list
val symbol_docs : unit -> docs
Fetch the item documentation for the current symbol. This also marks this documentation (for ambiguity warnings).
val symbol_docs_lazy : unit -> docs Stdlib.Lazy.t
val rhs_docs : int -> int -> docs
Fetch the item documentation for the symbols between two positions. This also marks this documentation (for ambiguity warnings).
val rhs_docs_lazy : int -> int -> docs Stdlib.Lazy.t
Mark the item documentation for the current symbol (for ambiguity warnings).
Mark as associated the item documentation for the symbols between two positions (for ambiguity warnings)
The info
type represents documentation attached to a field or constructor.
type info = docstring option
val empty_info : info
val info_attr : docstring -> Parsetree.attribute
val add_info_attrs : info -> Parsetree.attributes -> Parsetree.attributes
Convert field info to attributes and add them to an attribute list
val symbol_info : unit -> info
Fetch the field info for the current symbol.
val rhs_info : int -> info
Fetch the field info following the symbol at a given position.
The text
type represents documentation which is not attached to anything.
type text = docstring list
val empty_text : text
val empty_text_lazy : text Stdlib.Lazy.t
val text_attr : docstring -> Parsetree.attribute
val add_text_attrs : text -> Parsetree.attributes -> Parsetree.attributes
Convert text to attributes and add them to an attribute list
val symbol_text : unit -> text
Fetch the text preceding the current symbol.
val symbol_text_lazy : unit -> text Stdlib.Lazy.t
val rhs_text : int -> text
Fetch the text preceding the symbol at the given position.
val rhs_text_lazy : int -> text Stdlib.Lazy.t
There may be additional text attached to the delimiters of a block (e.g. struct
and end
). This is fetched by the following functions, which are applied to the contents of the block rather than the delimiters.
val symbol_pre_extra_text : unit -> text
Fetch additional text preceding the current symbol
val symbol_post_extra_text : unit -> text
Fetch additional text following the current symbol
val rhs_pre_extra_text : int -> text
Fetch additional text preceding the symbol at the given position
val rhs_post_extra_text : int -> text
Fetch additional text following the symbol at the given position
val rhs_post_text : int -> text
Fetch text following the symbol at the given position
module WithMenhir : sig ... end