模組 Docstrings

module Docstrings: sig .. end

文件註解

警告:此模組不穩定,是 compiler-libs 的一部分。


val init : unit -> unit

(重新)初始化所有文件字串狀態

val warn_bad_docstrings : unit -> unit

針對未附加的和模糊的文件字串發出警告

文件字串

type docstring 

文件註解

val docstring : string -> Location.t -> docstring

建立一個文件字串

val register : docstring -> unit

註冊一個文件字串

val docstring_body : docstring -> string

取得文件字串的文字

val docstring_loc : docstring -> Location.t

取得文件字串的位置

設定函數

這些函數由詞法分析器使用,以將文件字串與符號的位置相關聯。

val set_pre_docstrings : Lexing.position -> docstring list -> unit

緊接在符號之前的的文件字串

val set_post_docstrings : Lexing.position -> docstring list -> unit

緊接在符號之後的文件字串

val set_floating_docstrings : Lexing.position -> docstring list -> unit

非緊鄰符號的文件字串

val set_pre_extra_docstrings : Lexing.position -> docstring list -> unit

緊接在先前符號之後的文件字串

val set_post_extra_docstrings : Lexing.position -> docstring list -> unit

緊接在後續符號之前的文件字串

項目

Docstrings.docs 類型表示附加到項目的文件。

type docs = {
   docs_pre : docstring option;
   docs_post : docstring option;
}
val empty_docs : docs
val docs_attr : docstring -> Parsetree.attribute
val add_docs_attrs : docs -> Parsetree.attributes -> Parsetree.attributes

將項目文件轉換為屬性並將其添加到屬性列表

val symbol_docs : unit -> docs

取得目前符號的項目文件。這也會標記此文件(用於模糊警告)。

val symbol_docs_lazy : unit -> docs Lazy.t
val rhs_docs : int -> int -> docs

取得兩個位置之間符號的項目文件。這也會標記此文件(用於模糊警告)。

val rhs_docs_lazy : int -> int -> docs Lazy.t
val mark_symbol_docs : unit -> unit

標記目前符號的項目文件(用於模糊警告)。

val mark_rhs_docs : int -> int -> unit

標記兩個位置之間符號的項目文件為已關聯(用於模糊警告)

欄位與建構子

Docstrings.info 類型表示附加到欄位或建構子的文件。

type info = docstring option 
val empty_info : info
val info_attr : docstring -> Parsetree.attribute
val add_info_attrs : info -> Parsetree.attributes -> Parsetree.attributes

將欄位資訊轉換為屬性並將其添加到屬性列表

val symbol_info : unit -> info

取得目前符號的欄位資訊。

val rhs_info : int -> info

取得給定位置符號之後的欄位資訊。

未附加的註解

Docstrings.text 類型表示未附加到任何內容的文件。

type text = docstring list 
val empty_text : text
val empty_text_lazy : text Lazy.t
val text_attr : docstring -> Parsetree.attribute
val add_text_attrs : text -> Parsetree.attributes -> Parsetree.attributes

將文字轉換為屬性並將其添加到屬性列表

val symbol_text : unit -> text

取得目前符號之前的文字。

val symbol_text_lazy : unit -> text Lazy.t
val rhs_text : int -> text

取得給定位置符號之前的文字。

val rhs_text_lazy : int -> text Lazy.t

額外文字

區塊的分隔符號(例如 structend)可能附加額外文字。這由以下函數取得,這些函數應用於區塊的內容而不是分隔符號。

val symbol_pre_extra_text : unit -> text

取得目前符號之前的額外文字

val symbol_post_extra_text : unit -> text

取得目前符號之後的額外文字

val rhs_pre_extra_text : int -> text

取得給定位置符號之前的額外文字

val rhs_post_extra_text : int -> text

取得給定位置符號之後的額外文字

val rhs_post_text : int -> text

取得給定位置符號之後的文字

module WithMenhir: sig .. end