SyntaxNodeOrToken 结构

定义

语法节点的包装器 () SyntaxNode 或语法令牌 (SyntaxToken) 。

public value class SyntaxNodeOrToken : IEquatable<Microsoft::CodeAnalysis::SyntaxNodeOrToken>
[System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(), nq}")]
public readonly struct SyntaxNodeOrToken : IEquatable<Microsoft.CodeAnalysis.SyntaxNodeOrToken>
[<System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(), nq}")>]
type SyntaxNodeOrToken = struct
Public Structure SyntaxNodeOrToken
Implements IEquatable(Of SyntaxNodeOrToken)
继承
SyntaxNodeOrToken
属性
实现

注解

请注意,我们不直接存储令牌,只需存储足够的信息来重建令牌。 这样,我们就可以重复使用 nodeOrToken 作为令牌的父级。

属性

ContainsAnnotations

确定此节点或令牌 (或任何子节点、令牌或琐事) 作为批注。

ContainsDiagnostics

确定基础节点或令牌或其任何后代节点、令牌或琐碎节点是否具有任何诊断。

ContainsDirectives

确定基础节点或令牌是否具有任何后代预处理器指令。

FullSpan

基础节点或令牌的绝对跨度(包括其前导和尾随的琐事)。

HasLeadingTrivia

确定基础节点或令牌是否具有任何前导的琐事。

HasTrailingTrivia

确定基础节点或令牌是否具有任何尾随的琐事。

IsMissing

确定基础节点或令牌是否表示实际从源代码分析的语言构造。 缺少的节点和令牌通常由分析器在错误方案中生成,以表示源代码中应包含的构造,以便源代码成功编译,但实际上缺失。

IsNode

确定是否正在 SyntaxNodeOrToken 包装节点。

IsToken

确定这 SyntaxNodeOrToken 是否包装令牌。

Language

此节点或令牌是语法的语言名称。

Parent

包含其 Children 集合中基础节点或令牌的节点。

RawKind

一个整数,表示基础节点或令牌的语言特定类型。

Span

基础节点或令牌(以字符为单位)的绝对跨度,不包括其前导和尾随的琐事。

SpanStart

与访问 Start 相同 Span

SyntaxTree

包含当前 SyntaxNodeOrToken 的语法树。

方法

AsNode()

如果正在 SyntaxNodeOrToken 包装节点,则返回基础节点。

AsToken()

如果正在 SyntaxNodeOrToken 包装令牌,则返回基础令牌。

ChildNodesAndTokens()

基础节点或令牌的子节点和令牌的列表。

Equals(Object)

确定提供的 SyntaxNodeOrToken 是否等于此 SyntaxNodeOrToken值。

Equals(SyntaxNodeOrToken)

确定提供的 SyntaxNodeOrToken 是否等于此 SyntaxNodeOrToken值。

GetAnnotations(IEnumerable<String>)

获取指定批注类型的所有批注。

GetAnnotations(String)

获取指定批注类型的所有批注。

GetDiagnostics()

获取子树中所有诊断的列表,该树将此节点作为其根目录或与此令牌及其相关琐事相关联。 此方法不基于#pragmas和编译器选项(如 nowarn、warnaserror 等)筛选诊断。

GetFirstChildIndexSpanningPosition(SyntaxNode, Int32)

语法节点的包装器 () SyntaxNode 或语法令牌 (SyntaxToken) 。

GetHashCode()

用作 . 的 SyntaxNodeOrToken哈希函数。

GetLeadingTrivia()

源代码中基础节点或令牌之前出现的琐事列表,并附加到基础节点或令牌的后代的令牌。

GetLocation()

获取此节点或令牌的位置。

GetNextSibling()

语法节点的包装器 () SyntaxNode 或语法令牌 (SyntaxToken) 。

GetPreviousSibling()

语法节点的包装器 () SyntaxNode 或语法令牌 (SyntaxToken) 。

GetTrailingTrivia()

源代码中基础节点或令牌之后出现的琐事列表,并附加到基础节点或令牌的后代的令牌。

HasAnnotation(SyntaxAnnotation)

确定此节点或令牌是否具有特定的批注。

HasAnnotations(IEnumerable<String>)

确定此节点或令牌是否具有指定类型的注释。

HasAnnotations(String)

确定此节点或令牌是否具有指定类型的注释。

IsEquivalentTo(SyntaxNodeOrToken)

确定两个节点或令牌是否等效。

IsIncrementallyIdenticalTo(SyntaxNodeOrToken)

请参见 IsIncrementallyIdenticalTo(SyntaxNode)IsIncrementallyIdenticalTo(SyntaxToken)

ToFullString()

返回此节点或令牌的完整字符串表示形式,包括其前导和尾随琐事。

ToString()

返回此节点或令牌的字符串表示形式,不包括其前导和尾随琐事。

WithAdditionalAnnotations(IEnumerable<SyntaxAnnotation>)

使用指定的批注创建与此节点或令牌相同的新节点或令牌。

WithAdditionalAnnotations(SyntaxAnnotation[])

使用指定的批注创建与此节点或令牌相同的新节点或令牌。

WithLeadingTrivia(IEnumerable<SyntaxTrivia>)

语法节点的包装器 () SyntaxNode 或语法令牌 (SyntaxToken) 。

WithLeadingTrivia(SyntaxTrivia[])

语法节点的包装器 () SyntaxNode 或语法令牌 (SyntaxToken) 。

WithoutAnnotations(IEnumerable<SyntaxAnnotation>)

创建与此节点或令牌相同的新节点或令牌,而无需指定批注。

WithoutAnnotations(String)

创建与此节点或令牌相同的新节点或令牌,而不带指定类型的注释。

WithoutAnnotations(SyntaxAnnotation[])

创建与此节点或令牌相同的新节点或令牌,而无需指定批注。

WithTrailingTrivia(IEnumerable<SyntaxTrivia>)

语法节点的包装器 () SyntaxNode 或语法令牌 (SyntaxToken) 。

WithTrailingTrivia(SyntaxTrivia[])

语法节点的包装器 () SyntaxNode 或语法令牌 (SyntaxToken) 。

WriteTo(TextWriter)

将此节点或令牌的全文写入指定的 TextWriter。

运算符

Equality(SyntaxNodeOrToken, SyntaxNodeOrToken)

确定两 SyntaxNodeOrToken个 s 是否相等。

Explicit(SyntaxNodeOrToken to SyntaxNode)

返回由所提供的 SyntaxNodeOrToken基础节点包装的基础节点。

Explicit(SyntaxNodeOrToken to SyntaxToken)

返回由提供的 SyntaxNodeOrToken标记包装的基础令牌。

Implicit(SyntaxNode to SyntaxNodeOrToken)

返回一个新 SyntaxNodeOrToken 值,用于包装提供的节点。

Implicit(SyntaxToken to SyntaxNodeOrToken)

返回一个新 SyntaxNodeOrToken 值,用于包装提供的令牌。

Inequality(SyntaxNodeOrToken, SyntaxNodeOrToken)

确定两 SyntaxNodeOrToken个 s 是否不相等。

扩展方法

Kind(SyntaxNodeOrToken)

RawKind属性返回SyntaxNodeSyntaxKind结果。

IsKind(SyntaxNodeOrToken, SyntaxKind)

确定是否 SyntaxNodeOrToken 为指定类型。

Kind(SyntaxNodeOrToken)

RawKind属性返回SyntaxNodeOrTokenSyntaxKind结果。

IsKind(SyntaxNodeOrToken, SyntaxKind)

确定是否 SyntaxNodeOrToken 为指定类型。

适用于