SyntaxToken 结构

定义

表示语法树中的标记。

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

属性

ContainsAnnotations

如此 如果此标记或其琐事有任何注释。

ContainsDiagnostics

确定此令牌或其任何后代琐事上是否有任何诊断。

ContainsDirectives

确定此令牌是否具有任何后代预处理器指令。

FullSpan

此令牌的绝对跨度(以字符表示),包括其前导和尾随琐事。

HasLeadingTrivia

确定此令牌是否有任何前导琐事。

HasStructuredTrivia

确定是否对此令牌的任何琐事进行结构化。

HasTrailingTrivia

确定此令牌是否有任何尾随琐事。

IsMissing

确定此标记是否表示实际从源代码分析的语言构造。 缺少的标记通常在错误方案中由分析程序生成,以表示源代码中本应存在以便成功编译但实际上缺少的构造。

Language

此令牌的语法语言名称。

LeadingTrivia

源代码中此令牌之前显示的琐事列表。

Parent

在其 Children 集合中包含此标记的节点。

RawKind

一个整数,表示此标记的语言特定类型。

Span

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

SpanStart

与在 上Span访问 Start 相同。

SyntaxTree

包含此标记的 SyntaxTree。

Text

表示语法树中的标记。

TrailingTrivia

显示在源代码中此令牌之后并附加到此令牌或其任何后代的琐事列表。

Value

返回标记的值。 例如,如果标记表示整数文本,则此属性将返回实际整数。

ValueText

返回标记值的文本表示形式。 例如,如果标记表示整数文本,则此属性将返回表示该整数的字符串。

方法

CopyAnnotationsTo(SyntaxToken)

从此 SyntaxToken 实例复制所有 SyntaxAnnotation(如果有),并将它们附加到基于 token的新实例。

Equals(Object)

确定提供的 SyntaxToken 是否等于此 SyntaxToken

Equals(SyntaxToken)

确定提供的 SyntaxToken 是否等于此 SyntaxToken

GetAllTrivia()

获取此令牌 (前导和尾随) 的所有琐事的列表。

GetAnnotations(IEnumerable<String>)

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

GetAnnotations(String)

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

GetAnnotations(String[])

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

GetDiagnostics()

获取与此令牌关联的所有诊断以及任何相关琐事的列表。 此方法不会基于 #pragmas 和编译器选项(如 nowarn、warnaserror 等)筛选诊断。

GetHashCode()

用作 的 SyntaxToken哈希函数。

GetLocation()

获取此令牌的位置。

GetNextToken(Boolean, Boolean, Boolean, Boolean)

获取语法树中此标记后面的标记。

GetPreviousToken(Boolean, Boolean, Boolean, Boolean)

获取语法树中此标记前面的标记。

HasAnnotation(SyntaxAnnotation)

如此 如果此标记具有指定的注释。

HasAnnotations(String)

如此 如果此标记具有指定批注类型的注释。

HasAnnotations(String[])

如此 如果此标记具有指定批注类型的注释。

IsEquivalentTo(SyntaxToken)

确定此令牌是否等效于指定的标记。

IsIncrementallyIdenticalTo(SyntaxToken)

如果这两个标记被视为“增量相同”,则返回 true。 当 使用 WithChangedText(SourceText) 进行增量分析,并且增量分析程序能够从原始树中获取令牌并在新树中完全使用它时SyntaxTree,将发生增量相同的标记。 在这种情况下, ToFullString() 每个标记的 将相同,尽管它们可能具有不同的父级,并且可能出现在相应树中的不同位置。 如果两个令牌以增量方式相同,则每个节点的所有普通令牌也将以增量方式相同。

IsPartOfStructuredTrivia()

确定此令牌是否是结构化琐事的后代。

ToFullString()

返回此标记的完整字符串表示形式,包括其前导和尾随琐碎内容。

ToString()

返回此标记的字符串表示形式,不包括其前导和尾随琐事。

WithAdditionalAnnotations(IEnumerable<SyntaxAnnotation>)

将此注释添加到给定的语法标记中,创建一个具有相同类型的新语法标记,其中包含注释。

WithAdditionalAnnotations(SyntaxAnnotation[])

将此注释添加到给定的语法标记中,创建一个具有相同类型的新语法标记,其中包含注释。

WithLeadingTrivia(IEnumerable<SyntaxTrivia>)

从此令牌创建新令牌,并指定了前导琐事。

WithLeadingTrivia(SyntaxTrivia[])

从此令牌创建一个指定了前导琐事的新令牌。

WithLeadingTrivia(SyntaxTriviaList)

从此令牌创建新令牌,并指定了前导琐事。

WithoutAnnotations(IEnumerable<SyntaxAnnotation>)

创建与此语法标记相同的新语法标记,而不创建指定的批注。

WithoutAnnotations(String)

创建与此相同的新语法标记,不带指定类型的注释。

WithoutAnnotations(SyntaxAnnotation[])

创建与此语法标记相同的新语法标记,而不创建指定的批注。

WithTrailingTrivia(IEnumerable<SyntaxTrivia>)

从此令牌创建新令牌,并指定了尾随琐事。

WithTrailingTrivia(SyntaxTrivia[])

从此令牌创建新令牌,并指定了尾随琐事。

WithTrailingTrivia(SyntaxTriviaList)

从此令牌创建新令牌,并指定了尾随琐事。

WithTriviaFrom(SyntaxToken)

从此令牌创建一个新令牌,其中包含指定令牌中的前导和尾随琐碎内容。

WriteTo(TextWriter)

将此令牌的全文写入指定的 writer

运算符

Equality(SyntaxToken, SyntaxToken)

确定两 SyntaxToken个 是否相等。

Inequality(SyntaxToken, SyntaxToken)

确定两个 SyntaxToken是否不相等。

扩展方法

IsContextualKeyword(SyntaxToken)

表示语法树中的标记。

IsKeyword(SyntaxToken)

表示语法树中的标记。

IsReservedKeyword(SyntaxToken)

表示语法树中的标记。

IsVerbatimIdentifier(SyntaxToken)

表示语法树中的标记。

IsVerbatimStringLiteral(SyntaxToken)

表示语法树中的标记。

Kind(SyntaxToken)

SyntaxKindRawKind 属性返回 。SyntaxToken

ReplaceTrivia(SyntaxToken, SyntaxTrivia, SyntaxTrivia)

创建一个新令牌,其中指定的旧琐事替换为新的琐事。 旧琐事可能出现在令牌的前导或尾随琐事中。

ReplaceTrivia(SyntaxToken, IEnumerable<SyntaxTrivia>, Func<SyntaxTrivia,SyntaxTrivia,SyntaxTrivia>)

创建一个新令牌,其中指定的旧琐事已替换为计算的新琐事。

VarianceKindFromToken(SyntaxToken)

表示语法树中的标记。

NormalizeWhitespace(SyntaxToken, String, Boolean)

创建一个新的语法标记,其中所有空白和行尾琐事替换为定期格式化琐事。

NormalizeWhitespace(SyntaxToken, String, String, Boolean)

创建一个新的语法标记,其中所有空白和行尾琐事替换为定期格式化琐事。

IsKind(SyntaxToken, SyntaxKind)

确定 是否 SyntaxToken 为指定类型。

WithoutTrivia(SyntaxToken)

从此令牌创建新令牌,不带前导或尾随琐事。

NormalizeWhitespace(SyntaxToken, String, Boolean)

表示语法树中的标记。

NormalizeWhitespace(SyntaxToken, String, String, Boolean, Boolean)

表示语法树中的标记。

GetBase(SyntaxToken)

整数文本的源标记基数。 Base 可以是 Decimal、Hex 或 Octal。

GetIdentifierText(SyntaxToken)

返回指定 SyntaxToken 的 Identifiertext。

GetTypeCharacter(SyntaxToken)

返回给定语法标记的 Type 字符。 这将返回标识符或整数、浮点或十进制文本的类型字符。 示例:Dim a$ 或 Dim l1 = 1L

IsBracketed(SyntaxToken)

检查 SyntaxToken 是否为带括号的标识符。

IsContextualKeyword(SyntaxToken)

确定令牌是否表示上下文关键字 (keyword)

IsKeyword(SyntaxToken)

确定令牌是表示保留的还是上下文关键字 (keyword)

IsPreprocessorKeyword(SyntaxToken)

确定令牌是否表示预处理器关键字 (keyword)

IsReservedKeyword(SyntaxToken)

确定令牌是否表示保留关键字 (keyword)

Kind(SyntaxToken)

SyntaxKindRawKind 属性返回 。SyntaxToken

ReplaceTrivia(SyntaxToken, SyntaxTrivia, SyntaxTrivia)

替换指定 SyntaxToken 上的琐事。

ReplaceTrivia(SyntaxToken, IEnumerable<SyntaxTrivia>, Func<SyntaxTrivia,SyntaxTrivia,SyntaxTrivia>)

替换指定 SyntaxToken 上的琐事。

IsKind(SyntaxToken, SyntaxKind)

确定 是否 SyntaxToken 为指定类型。

适用于