查看源代码 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()