Struct proc_macro::Span 1.29.0[−][src]
pub struct Span(_);
Expand description
源代码区域以及宏展开信息。
Implementations
在宏定义站点解析的跨度。
当前过程宏的调用范围。 以此范围创建的标识符将被解析,就像它们是直接在宏调用位置 (调用站点卫生) 上编写的一样,宏调用站点上的其他代码也将能够引用它们。
代表 macro_rules
卫生状况的跨度,有时在宏定义站点 (本地变量,标签,$crate
) 解析,有时在宏调用站点 (其他所有解析) 解析。
跨度位置取自调用站点。
此跨度指向的原始源文件。
上一个宏的 tokens 的 Span
(如果有的话) 是从中生成 self
的。
生成 self
的原始源代码的范围。
如果此 Span
不是由其他宏扩展生成的,则返回值与 *self
相同。
在源文件中获取此范围的起始 line/column。
在源文件中获取此跨度的结尾 line/column。
创建一个包含 self
和 other
的新跨度。
如果 self
和 other
来自不同的文件,则返回 None
。
创建一个具有与 self
相同的 line/column 信息的新跨度,但是可以像在 other
一样解析符号。
创建一个具有与 self
相同的名称解析行为但具有 other
的 line/column 信息的新跨度。
比较跨度以查看它们是否相等。
返回跨度后面的源文本。 这将保留原始源代码,包括空格和注释。 仅当范围与实际源代码相对应时,它才返回结果。
Note: 宏的可观察结果应仅依赖于 tokens,而不依赖于此源文本。
该函数的结果是尽力而为,仅用于诊断。
使用跨度为 self
的给定 message
创建一个新的 Diagnostic
。
使用跨度为 self
的给定 message
创建一个新的 Diagnostic
。
使用跨度为 self
的给定 message
创建一个新的 Diagnostic
。
Trait Implementations
以便于调试的形式打印跨度。
将 self
转换为 Vec<Span>
。