Module Docstrings
Documentation comments
Warning: this module is unstable and part of compiler-libs.
Docstrings
val docstring : string -> Location.t -> docstringCreate a docstring
val register : docstring -> unitRegister a docstring
val docstring_body : docstring -> stringGet the text of a docstring
val docstring_loc : docstring -> Location.tGet the location of a docstring
Set functions
These functions are used by the lexer to associate docstrings to the locations of tokens.
val set_pre_docstrings : Stdlib.Lexing.position -> docstring list -> unitDocstrings immediately preceding a token
val set_post_docstrings : Stdlib.Lexing.position -> docstring list -> unitDocstrings immediately following a token
val set_floating_docstrings : Stdlib.Lexing.position -> docstring list -> unitDocstrings not immediately adjacent to a token
val set_pre_extra_docstrings : Stdlib.Lexing.position -> docstring list -> unitDocstrings immediately following the token which precedes this one
val set_post_extra_docstrings : Stdlib.Lexing.position -> docstring list -> unitDocstrings immediately preceding the token which follows this one
Items
The docs type represents documentation attached to an item.
val empty_docs : docsval docs_attr : docstring -> Parsetree.attributeval add_docs_attrs : docs -> Parsetree.attributes -> Parsetree.attributesConvert item documentation to attributes and add them to an attribute list
val symbol_docs : unit -> docsFetch the item documentation for the current symbol. This also marks this documentation (for ambiguity warnings).
val symbol_docs_lazy : unit -> docs Stdlib.Lazy.tval rhs_docs : int -> int -> docsFetch 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.tval mark_symbol_docs : unit -> unitMark the item documentation for the current symbol (for ambiguity warnings).
Fields and constructors
The info type represents documentation attached to a field or constructor.
type info= docstring option
val empty_info : infoval info_attr : docstring -> Parsetree.attributeval add_info_attrs : info -> Parsetree.attributes -> Parsetree.attributesConvert field info to attributes and add them to an attribute list
val symbol_info : unit -> infoFetch the field info for the current symbol.
val rhs_info : int -> infoFetch the field info following the symbol at a given position.
Unattached comments
The text type represents documentation which is not attached to anything.
type text= docstring list
val empty_text : textval empty_text_lazy : text Stdlib.Lazy.tval text_attr : docstring -> Parsetree.attributeval add_text_attrs : text -> Parsetree.attributes -> Parsetree.attributesConvert text to attributes and add them to an attribute list
val symbol_text : unit -> textFetch the text preceding the current symbol.
val symbol_text_lazy : unit -> text Stdlib.Lazy.tval rhs_text : int -> textFetch the text preceding the symbol at the given position.
val rhs_text_lazy : int -> text Stdlib.Lazy.t
Extra text
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 -> textFetch additional text preceding the current symbol
val symbol_post_extra_text : unit -> textFetch additional text following the current symbol
val rhs_pre_extra_text : int -> textFetch additional text preceding the symbol at the given position
val rhs_post_extra_text : int -> textFetch additional text following the symbol at the given position
val rhs_post_text : int -> textFetch text following the symbol at the given position
module WithMenhir : sig ... end