Share via


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

True 是表示 如果此令牌或其 Trivia 具有任何註釋。

ContainsDiagnostics

判斷此令牌或其任何子代的 Trivia 是否有任何診斷。

ContainsDirectives

判斷這個令牌是否有任何子代預處理器指示詞。

FullSpan

此令牌的絕對範圍以字元為單位,包括其前置和尾端小道。

HasLeadingTrivia

判斷此令牌是否有任何前置的 Trivia。

HasStructuredTrivia

判斷此令牌的任何一項是否結構化。

HasTrailingTrivia

判斷此令牌是否有任何尾端的 Trivia。

IsMissing

判斷這個令牌是否代表實際從原始程式碼剖析的語言建構。 在錯誤案例中,剖析器通常會產生遺失的令牌,代表原始碼中應該已存在的建構,原始程式碼中應該已順利編譯,但實際上遺失。

Language

此令牌語法的語言名稱。

LeadingTrivia

原始碼中出現在此令牌之前之 Trivia 的清單。

Parent

在其 Children 集合中包含此令牌的節點。

RawKind

整數,表示此令牌的語言特定類型。

Span

此令牌的絕對範圍以字元為單位,不包括其開頭和尾端的 Trivia。

SpanStart

與 在上Span存取Start相同。

SyntaxTree

包含此令牌的 SyntaxTree。

Text

表示語法樹狀結構中的標記。

TrailingTrivia

原始碼中出現在此令牌之後的 Trivia 清單,並附加至此令牌或其任何子代。

Value

傳回令牌的值。 例如,如果 Token 代表整數常值,則這個屬性會傳回實際的整數。

ValueText

傳回標記值的文字表示。 例如,如果 Token 代表整數常值,則此屬性會傳回代表整數的字串。

方法

CopyAnnotationsTo(SyntaxToken)

從這個 SyntaxToken 實例複製所有 SyntaxAnnotations,並根據 將其附加至新的實例 token

Equals(Object)

判斷提供的 SyntaxToken 是否等於這個 SyntaxToken

Equals(SyntaxToken)

判斷提供的 SyntaxToken 是否等於這個 SyntaxToken

GetAllTrivia()

取得此令牌開頭和尾端) 的所有 (清單。

GetAnnotations(IEnumerable<String>)

取得指定之批注種類的所有批注。

GetAnnotations(String)

取得指定之批注種類的所有批注。

GetAnnotations(String[])

取得指定之批注種類的所有批注。

GetDiagnostics()

取得與此令牌和任何相關 Trivia 相關聯的所有診斷清單。 此方法不會根據 #pragmas 和編譯程式選項來篩選診斷,例如 nowarn、warnaserror 等。

GetHashCode()

做為的 SyntaxToken哈希函式。

GetLocation()

取得這個令牌的位置。

GetNextToken(Boolean, Boolean, Boolean, Boolean)

取得語法樹狀結構中這個標記後面的標記。

GetPreviousToken(Boolean, Boolean, Boolean, Boolean)

取得語法樹狀結構中這個標記前面的標記。

HasAnnotation(SyntaxAnnotation)

如果這個標記具有指定的註釋,則為 True。

HasAnnotations(String)

如果這個標記具有指定批註類型的註釋,則為 True。

HasAnnotations(String[])

如果這個標記具有指定批註類型的註釋,則為 True。

IsEquivalentTo(SyntaxToken)

判斷此令牌是否相當於指定的令牌。

IsIncrementallyIdenticalTo(SyntaxToken)

如果這兩個令牌視為「累加相同」,則傳回 true。 當 使用 WithChangedText(SourceText) 累加剖析 ,且累加剖析器能夠從原始樹狀結構中擷取令牌,並在新的樹狀結構中完全使用它時SyntaxTree,就會發生累加相同的令牌。 在此情況下, ToFullString() 每個令牌的 會是相同的,不過它們可能會有不同的父代,而且可能會在個別樹狀結構的不同位置發生。 如果兩個令牌以累加方式相同,則每個節點的所有簡單專案也會以累加方式相同。

IsPartOfStructuredTrivia()

判斷此令牌是否為結構化 Trivia 的子代。

ToFullString()

傳回此令牌的完整字串表示法,包括其開頭和尾端的 Trivia。

ToString()

傳回此令牌的字串表示法,不包括其開頭和尾端的 Trivia。

WithAdditionalAnnotations(IEnumerable<SyntaxAnnotation>)

將這個註釋新增至指定的語法標記,並在該標記上建立相同類型的新語法標記。

WithAdditionalAnnotations(SyntaxAnnotation[])

將這個註釋新增至指定的語法標記,並在該標記上建立相同類型的新語法標記。

WithLeadingTrivia(IEnumerable<SyntaxTrivia>)

從這個令牌建立新的令牌,並指定前置 Trivia。

WithLeadingTrivia(SyntaxTrivia[])

使用指定的前置 Trivia,從這個令牌建立新的令牌。

WithLeadingTrivia(SyntaxTriviaList)

從這個令牌建立新的令牌,並指定前置 Trivia。

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)

RawKind 屬性傳SyntaxTokenSyntaxKind回 。

ReplaceTrivia(SyntaxToken, SyntaxTrivia, SyntaxTrivia)

使用以新的 Trivia 取代的指定舊 Trivia 來建立新的令牌。 舊的 Trivia 可能會出現在令牌的開頭或尾端小節中。

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

使用以計算的新 Trivia 取代的指定舊 Trivia,建立新的令牌。

VarianceKindFromToken(SyntaxToken)

表示語法樹狀結構中的標記。

NormalizeWhitespace(SyntaxToken, String, Boolean)

建立新的語法令牌,其中包含所有空格符和行尾,並以定期格式化的 Trivia 取代。

NormalizeWhitespace(SyntaxToken, String, String, Boolean)

建立新的語法令牌,其中包含所有空格符和行尾,並以定期格式化的 Trivia 取代。

IsKind(SyntaxToken, SyntaxKind)

判斷是否 SyntaxToken 為指定的種類。

WithoutTrivia(SyntaxToken)

從這個令牌建立新的令牌,而不需前置或尾端的雜事。

NormalizeWhitespace(SyntaxToken, String, Boolean)

表示語法樹狀結構中的標記。

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

表示語法樹狀結構中的標記。

GetBase(SyntaxToken)

整數常值的來源令牌基底。 基底可以是十進位、十六進位或八進位。

GetIdentifierText(SyntaxToken)

傳回指定之 SyntaxToken 的 Identifiertext。

GetTypeCharacter(SyntaxToken)

傳回指定語法標記的 Type 字元。 這會傳回標識碼或整數、浮點數或十進位常值的類型字元。 範例:Dim a$ 或 Dim l1 = 1L

IsBracketed(SyntaxToken)

檢查 SyntaxToken 是否為括號標識碼。

IsContextualKeyword(SyntaxToken)

判斷令牌是否代表內容關鍵詞

IsKeyword(SyntaxToken)

判斷令牌是否代表保留或內容關鍵詞

IsPreprocessorKeyword(SyntaxToken)

判斷令牌是否代表預處理器關鍵詞

IsReservedKeyword(SyntaxToken)

判斷令牌是否代表保留關鍵詞

Kind(SyntaxToken)

RawKind 屬性傳SyntaxTokenSyntaxKind回 。

ReplaceTrivia(SyntaxToken, SyntaxTrivia, SyntaxTrivia)

取代指定之 SyntaxToken 上的 Trivia。

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

取代指定之 SyntaxToken 上的 Trivia。

IsKind(SyntaxToken, SyntaxKind)

判斷是否 SyntaxToken 為指定的種類。

適用於