SyntaxToken 结构

定义

表示语法树中的标记。 这是与语言无关的Microsoft.CodeAnalysis.CSharp.SyntaxToken等效项,Microsoft.CodeAnalysis.VisualBasic.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

与访问 Start 相同 Span

SyntaxTree

包含此令牌的 SyntaxTree。

Text

表示语法树中的标记。 这是与语言无关的Microsoft.CodeAnalysis.CSharp.SyntaxToken等效项,Microsoft.CodeAnalysis.VisualBasic.SyntaxToken

TrailingTrivia

此令牌在源代码中出现且附加到此令牌或任何子代之后的琐事列表。

Value

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

ValueText

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

方法

CopyAnnotationsTo(SyntaxToken)

从此 SyntaxToken 实例复制所有 SyntaxAnnotations(如果有)并将其附加到基于 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个 s 是否相等。

Inequality(SyntaxToken, SyntaxToken)

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

扩展方法

IsContextualKeyword(SyntaxToken)

表示语法树中的标记。 这是与语言无关的Microsoft.CodeAnalysis.CSharp.SyntaxToken等效项,Microsoft.CodeAnalysis.VisualBasic.SyntaxToken

IsKeyword(SyntaxToken)

表示语法树中的标记。 这是与语言无关的Microsoft.CodeAnalysis.CSharp.SyntaxToken等效项,Microsoft.CodeAnalysis.VisualBasic.SyntaxToken

IsReservedKeyword(SyntaxToken)

表示语法树中的标记。 这是与语言无关的Microsoft.CodeAnalysis.CSharp.SyntaxToken等效项,Microsoft.CodeAnalysis.VisualBasic.SyntaxToken

IsVerbatimIdentifier(SyntaxToken)

表示语法树中的标记。 这是与语言无关的Microsoft.CodeAnalysis.CSharp.SyntaxToken等效项,Microsoft.CodeAnalysis.VisualBasic.SyntaxToken

IsVerbatimStringLiteral(SyntaxToken)

表示语法树中的标记。 这是与语言无关的Microsoft.CodeAnalysis.CSharp.SyntaxToken等效项,Microsoft.CodeAnalysis.VisualBasic.SyntaxToken

Kind(SyntaxToken)

RawKind属性返回SyntaxTokenSyntaxKind结果。

ReplaceTrivia(SyntaxToken, SyntaxTrivia, SyntaxTrivia)

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

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

使用指定的旧琐事创建一个新令牌,该令牌替换为计算的新琐事。

VarianceKindFromToken(SyntaxToken)

表示语法树中的标记。 这是与语言无关的Microsoft.CodeAnalysis.CSharp.SyntaxToken等效项,Microsoft.CodeAnalysis.VisualBasic.SyntaxToken

NormalizeWhitespace(SyntaxToken, String, Boolean)

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

NormalizeWhitespace(SyntaxToken, String, String, Boolean)

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

IsKind(SyntaxToken, SyntaxKind)

确定是否 SyntaxToken 为指定类型。

WithoutTrivia(SyntaxToken)

从此令牌创建新令牌,而无需前导或尾随的琐事。

NormalizeWhitespace(SyntaxToken, String, Boolean)

表示语法树中的标记。 这是与语言无关的Microsoft.CodeAnalysis.CSharp.SyntaxToken等效项,Microsoft.CodeAnalysis.VisualBasic.SyntaxToken

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

表示语法树中的标记。 这是与语言无关的Microsoft.CodeAnalysis.CSharp.SyntaxToken等效项,Microsoft.CodeAnalysis.VisualBasic.SyntaxToken

GetBase(SyntaxToken)

整数文本的源令牌基。 基可以是十进制数、十六进制或八进制数。

GetIdentifierText(SyntaxToken)

返回指定 SyntaxToken 的 Identifiertext。

GetTypeCharacter(SyntaxToken)

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

IsBracketed(SyntaxToken)

检查语法Token 是否为带括号的标识符。

IsContextualKeyword(SyntaxToken)

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

IsKeyword(SyntaxToken)

确定令牌是否表示保留关键字或上下文关键字

IsPreprocessorKeyword(SyntaxToken)

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

IsReservedKeyword(SyntaxToken)

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

Kind(SyntaxToken)

RawKind属性返回SyntaxTokenSyntaxKind结果。

ReplaceTrivia(SyntaxToken, SyntaxTrivia, SyntaxTrivia)

替换指定 SyntaxToken 上的琐事。

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

替换指定 SyntaxToken 上的琐事。

IsKind(SyntaxToken, SyntaxKind)

确定是否 SyntaxToken 为指定类型。

适用于