Share via


SyntaxNodeOrToken 結構

定義

語法節點 () 或語法標記 SyntaxToken (SyntaxNode) 的包裝函式。

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

判斷基礎節點或權杖或其任何子代節點、權杖或 Trivia 是否有任何診斷。

ContainsDirectives

判斷基礎節點或權杖是否有任何子代預處理器指示詞。

FullSpan

基礎節點或權杖的絕對範圍,以字元為單位,包括其開頭和尾端的 Trivia。

HasLeadingTrivia

判斷基礎節點或權杖是否有任何前置的 Trivia。

HasTrailingTrivia

判斷基礎節點或權杖是否有任何尾端的線索。

IsMissing

判斷基礎節點或權杖是否代表實際從原始程式碼剖析的語言建構。 在錯誤案例中,剖析器通常會產生遺漏節點和權杖,代表原始程式碼中應該已存在但實際上遺漏的建構。

IsNode

判斷這 SyntaxNodeOrToken 是否包裝節點。

IsToken

判斷這 SyntaxNodeOrToken 是否包裝權杖。

Language

這個節點或權杖是 語法的語言名稱。

Parent

包含其 Children 集合中基礎節點或權杖的節點。

RawKind

整數,表示基礎節點或權杖的語言特定類型。

Span

基礎節點或權杖的絕對範圍以字元為單位,不包括其開頭和尾端的三維。

SpanStart

與 在 上 Span 存取 Start 相同。

SyntaxTree

包含目前 SyntaxNodeOrToken 的 SyntaxTree。

方法

AsNode()

如果這是 SyntaxNodeOrToken 包裝節點,則傳回基礎節點。

AsToken()

如果這是 SyntaxNodeOrToken 包裝權杖,則傳回基礎權杖。

ChildNodesAndTokens()

基礎節點或權杖的子節點和權杖清單。

Equals(Object)

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

Equals(SyntaxNodeOrToken)

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

GetAnnotations(IEnumerable<String>)

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

GetAnnotations(String)

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

GetDiagnostics()

取得子樹狀結構中所有診斷的清單,此樹狀結構中具有此節點做為其根目錄,或與此權杖及其相關 Trivia 相關聯。 此方法不會根據#pragmas和編譯器選項來篩選診斷,例如 nowarn、warnaserror 等。

GetFirstChildIndexSpanningPosition(SyntaxNode, Int32)

語法節點 () 或語法標記 SyntaxToken (SyntaxNode) 的包裝函式。

GetHashCode()

做為 的 SyntaxNodeOrToken 雜湊函式。

GetLeadingTrivia()

原始程式碼中基礎節點或權杖之前出現的 Trivia 清單,並附加至基礎節點或權杖子代的權杖。

GetLocation()

取得這個節點或權杖的位置。

GetNextSibling()

語法節點 () 或語法標記 SyntaxToken (SyntaxNode) 的包裝函式。

GetPreviousSibling()

語法節點 () 或語法標記 SyntaxToken (SyntaxNode) 的包裝函式。

GetTrailingTrivia()

原始程式碼中基礎節點或權杖之後出現的 Trivia 清單,並附加至基礎節點或權杖子代的權杖。

HasAnnotation(SyntaxAnnotation)

判斷這個節點或權杖是否有特定的批註。

HasAnnotations(IEnumerable<String>)

判斷這個節點或權杖是否有指定類型的注釋。

HasAnnotations(String)

判斷這個節點或權杖是否有指定類型的注釋。

IsEquivalentTo(SyntaxNodeOrToken)

判斷兩個節點或權杖是否相等。

IsIncrementallyIdenticalTo(SyntaxNodeOrToken)

請參閱 IsIncrementallyIdenticalTo(SyntaxNode)IsIncrementallyIdenticalTo(SyntaxToken)

ToFullString()

傳回這個節點或標記的完整字串標記法,包括其前置和尾端的 Trivia。

ToString()

傳回這個節點或權杖的字串表示,不包括其開頭和尾端的 Trivia。

WithAdditionalAnnotations(IEnumerable<SyntaxAnnotation>)

使用指定的批註,建立與這個節點相同的新節點或權杖。

WithAdditionalAnnotations(SyntaxAnnotation[])

使用指定的批註,建立與這個節點相同的新節點或權杖。

WithLeadingTrivia(IEnumerable<SyntaxTrivia>)

語法節點 () 或語法標記 SyntaxToken (SyntaxNode) 的包裝函式。

WithLeadingTrivia(SyntaxTrivia[])

語法節點 () 或語法標記 SyntaxToken (SyntaxNode) 的包裝函式。

WithoutAnnotations(IEnumerable<SyntaxAnnotation>)

建立與這個節點相同的新節點或權杖,而不需要指定的批註。

WithoutAnnotations(String)

建立與這個節點相同的新節點或權杖,而不需要指定類型的批註。

WithoutAnnotations(SyntaxAnnotation[])

建立與這個節點相同的新節點或權杖,而不需要指定的批註。

WithTrailingTrivia(IEnumerable<SyntaxTrivia>)

語法節點 () 或語法標記 SyntaxToken (SyntaxNode) 的包裝函式。

WithTrailingTrivia(SyntaxTrivia[])

語法節點 () 或語法標記 SyntaxToken (SyntaxNode) 的包裝函式。

WriteTo(TextWriter)

將這個節點或權杖的全文寫入指定的 TextWriter。

運算子

Equality(SyntaxNodeOrToken, SyntaxNodeOrToken)

判斷兩 SyntaxNodeOrToken 個 是否相等。

Explicit(SyntaxNodeOrToken to SyntaxNode)

傳回所提供 SyntaxNodeOrToken 所包裝的基礎節點。

Explicit(SyntaxNodeOrToken to SyntaxToken)

傳回所提供 SyntaxNodeOrToken 所包裝的基礎權杖。

Implicit(SyntaxNode to SyntaxNodeOrToken)

傳回包裝所提供節點的新 SyntaxNodeOrToken

Implicit(SyntaxToken to SyntaxNodeOrToken)

傳回包裝所提供權杖的新 SyntaxNodeOrToken

Inequality(SyntaxNodeOrToken, SyntaxNodeOrToken)

判斷兩 SyntaxNodeOrToken 個 是否不相等。

擴充方法

Kind(SyntaxNodeOrToken)

RawKind 屬性傳 SyntaxNodeSyntaxKind 回 。

IsKind(SyntaxNodeOrToken, SyntaxKind)

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

Kind(SyntaxNodeOrToken)

RawKind 屬性傳 SyntaxNodeOrTokenSyntaxKind 回 。

IsKind(SyntaxNodeOrToken, SyntaxKind)

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

適用於