檢視原始碼 erl_anno (stdlib v6.2)

Erlang 編譯器註解的抽象資料類型。

此模組提供一個抽象類型,Erlang 編譯器及其輔助模組會使用此類型來保存諸如欄位、行號和文字等資料。此資料類型是 註解 的集合,如下所述。

Erlang 詞法掃描器會根據選項,傳回帶有以下註解子集的詞彙單元:

  • column - 詞彙單元開始的欄位。

  • location - 詞彙單元開始的行和欄位,如果欄位未知,則僅為行。

  • text - 詞彙單元的文字。

從此衍生出以下註解:

  • line - 詞彙單元開始的行。

此模組還支援以下註解,這些註解被各種模組使用:

  • file - 檔案名稱。

  • generated - 一個布林值,表示抽象程式碼是否為編譯器產生。Erlang 編譯器不會針對此類程式碼發出警告。

  • record - 一個布林值,表示抽象程式碼的來源是否為記錄。由 Dialyzer 用於將類型指派給元組元素。

erl_scan 模組中的 column()end_location()line()location()text() 函式可用於檢查詞彙單元中的註解。

erl_parse 模組中的 anno_from_term()anno_to_term()fold_anno()map_anno()mapfold_anno()new_anno() 函式可用於操作抽象程式碼中的註解。

另請參閱

erl_parseerl_scan

摘要

類型

註解的集合。

表示註解集合的項。它可以是 location/0 或鍵值對的清單。

函式

傳回註解 Anno 的欄位。

傳回註解 Anno 文字的結束位置。如果沒有文字,則傳回 undefined

傳回註解 Anno 的檔案名稱。如果沒有檔案名稱,則傳回 undefined

傳回以 Term 表示的註解。

如果註解 Anno 被標記為已產生,則傳回 true。預設值為傳回 false

如果 Term 是註解的集合,則傳回 true,否則傳回 false

傳回註解 Anno 的行。

傳回註解 Anno 的位置。

根據位置建立新的註解集合。

修改註解 Anno 的檔案名稱。

修改註解 Anno 的產生標記。

修改註解 Anno 的行。

修改註解 Anno 的位置。

修改註解 Anno 的記錄標記。

修改註解 Anno 的文字。

傳回註解 Anno 的文字。如果沒有文字,則傳回 undefined

傳回表示註解 Anno 的項。

類型

-opaque anno()

註解的集合。

連結到此類型

anno_term()

檢視原始碼 (自 OTP 18.0 起)
-type anno_term() :: term().

表示註解集合的項。它可以是 location/0 或鍵值對的清單。

連結到此類型

column()

檢視原始碼 (自 OTP 18.0 起)
-type column() :: pos_integer().
連結到此類型

filename()

檢視原始碼 (未匯出) (自 OTP 18.0 起)
-type filename() :: file:filename_all().
連結到此類型

generated()

檢視原始碼 (未匯出) (自 OTP 18.0 起)
-type generated() :: boolean().
連結到此類型

line()

檢視原始碼 (自 OTP 18.0 起)
-type line() :: non_neg_integer().
連結到此類型

location()

檢視原始碼 (自 OTP 18.0 起)
-type location() :: line() | {line(), column()}.
連結到此類型

record()

檢視原始碼 (未匯出) (自 OTP 18.0 起)
-type record() :: boolean().
連結到此類型

text()

檢視原始碼 (自 OTP 18.0 起)
-type text() :: string().

函式

連結到此函式

column(Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec column(Anno) -> column() | undefined when Anno :: anno().

傳回註解 Anno 的欄位。

連結到此函式

end_location(Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec end_location(Anno) -> location() | undefined when Anno :: anno().

傳回註解 Anno 文字的結束位置。如果沒有文字,則傳回 undefined

連結到此函式

file(Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec file(Anno) -> filename() | undefined when Anno :: anno().

傳回註解 Anno 的檔案名稱。如果沒有檔案名稱,則傳回 undefined

連結到此函式

from_term(Term)

檢視原始碼 (自 OTP 18.0 起)
-spec from_term(Term) -> Anno when Term :: anno_term(), Anno :: anno().

傳回以 Term 表示的註解。

另請參閱 to_term()

連結到此函式

generated(Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec generated(Anno) -> generated() when Anno :: anno().

如果註解 Anno 被標記為已產生,則傳回 true。預設值為傳回 false

連結到此函式

is_anno(Term)

檢視原始碼 (自 OTP 18.0 起)
-spec is_anno(Term) -> boolean() when Term :: any().

如果 Term 是註解的集合,則傳回 true,否則傳回 false

連結到此函式

line(Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec line(Anno) -> line() when Anno :: anno().

傳回註解 Anno 的行。

連結到此函式

location(Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec location(Anno) -> location() when Anno :: anno().

傳回註解 Anno 的位置。

連結到此函式

new(Location)

檢視原始碼 (自 OTP 18.0 起)
-spec new(Location) -> anno() when Location :: location().

根據位置建立新的註解集合。

連結到此函式

set_file(File, Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec set_file(File, Anno) -> Anno when File :: filename(), Anno :: anno().

修改註解 Anno 的檔案名稱。

連結到此函式

set_generated(Generated, Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec set_generated(Generated, Anno) -> Anno when Generated :: generated(), Anno :: anno().

修改註解 Anno 的產生標記。

連結到此函式

set_line(Line, Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec set_line(Line, Anno) -> Anno when Line :: line(), Anno :: anno().

修改註解 Anno 的行。

連結到此函式

set_location(Location, Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec set_location(Location, Anno) -> Anno when Location :: location(), Anno :: anno().

修改註解 Anno 的位置。

連結到此函式

set_record(Record, Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec set_record(Record, Anno) -> Anno when Record :: record(), Anno :: anno().

修改註解 Anno 的記錄標記。

連結到此函式

set_text(Text, Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec set_text(Text, Anno) -> Anno when Text :: text(), Anno :: anno().

修改註解 Anno 的文字。

連結到此函式

text(Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec text(Anno) -> text() | undefined when Anno :: anno().

傳回註解 Anno 的文字。如果沒有文字,則傳回 undefined

連結到此函式

to_term(Anno)

檢視原始碼 (自 OTP 18.0 起)
-spec to_term(Anno) -> anno_term() when Anno :: anno().

傳回表示註解 Anno 的項。

另請參閱 from_term()