Condividi tramite


SyntaxNode Classe

Definizione

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

public ref class SyntaxNode abstract
[System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(), nq}")]
public abstract class SyntaxNode
[<System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(), nq}")>]
type SyntaxNode = class
Public MustInherit Class SyntaxNode
Ereditarietà
SyntaxNode
Derivato
Attributi

Proprietà

ContainsAnnotations

Determina se questo nodo o qualsiasi nodo secondario, token o curiosità ha annotazioni.

ContainsDiagnostics

Determina se questo nodo o uno dei nodi discendenti, i token o i relativi elementi di diagnostica sono disponibili in tali nodi.

ContainsDirectives

Determina se questo nodo ha direttive del preprocessore discendenti.

ContainsSkippedText

Determina se il nodo contiene testo discendente ignorato.

FullSpan

L'intervallo assoluto di questo nodo in caratteri, incluso il carattere iniziale e finale.

HasLeadingTrivia

Determina se questo nodo ha un'eventuale semplicità iniziale.

HasStructuredTrivia

Determina se un discendente di questo nodo è strutturato.

HasTrailingTrivia

Determina se questo nodo ha eventuali elementi finali.

IsMissing

Determina se il nodo rappresenta un costrutto di linguaggio effettivamente analizzato dal codice sorgente. I nodi mancanti vengono generati dal parser negli scenari di errore per rappresentare i costrutti che dovrebbero essere presenti nel codice sorgente per la compilazione, ma in realtà mancanti.

IsStructuredTrivia

Determina se questo nodo rappresenta un'operazione di limitazione strutturata.

KindText

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

Language

Nome del linguaggio di cui si tratta il nodo.

Parent

Nodo che contiene questo nodo nella raccolta ChildNodes() .

ParentTrivia

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

RawKind

Intero che rappresenta il tipo specifico di linguaggio di questo nodo.

Span

L'intervallo assoluto di questo nodo in caratteri, senza includere il carattere iniziale e finale.

SpanStart

Uguale all'accesso a Start in Span.

SyntaxTree

Restituisce SyntaxTree che possiede il nodo.

SyntaxTreeCore

Restituisce SintassiTree proprietaria del nodo. Se il nodo non appartiene a un albero, verrà generato uno.

Metodi

Ancestors(Boolean)

Ottiene un elenco di nodi predecessori

AncestorsAndSelf(Boolean)

Ottiene un elenco di nodi predecessori (incluso questo nodo)

ChildNodes()

Ottiene un elenco dei nodi figlio nell'ordine dei documenti con prefisso.

ChildNodesAndTokens()

Elenco di nodi figlio e token di questo nodo, in cui ogni elemento è un'istanza SyntaxNodeOrToken.

ChildThatContainsPosition(Int32)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

ChildTokens()

Ottiene un elenco dei token figlio diretti di questo nodo.

Contains(SyntaxNode)

Determina se il nodo specificato è un discendente di questo nodo. Restituisce true per il nodo corrente.

ContainsDirective(Int32)

Restituisce true se questo nodo contiene direttive (ad esempio #if, , #nullablee così via) all'interno di esso con un tipo corrispondente.

CopyAnnotationsTo<T>(T)

Copia tutte le sintassiAnnotations, se presenti, da questa istanza di SyntaxNode e le associa a una nuova istanza basata su node.

DescendantNodes(Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di nodi discendenti nell'ordine dei documenti con prefisso.

DescendantNodes(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di nodi discendenti nell'ordine dei documenti con prefisso.

DescendantNodesAndSelf(Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di nodi discendenti (incluso questo nodo) nell'ordine del documento di prefisso.

DescendantNodesAndSelf(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di nodi discendenti (incluso questo nodo) nell'ordine del documento di prefisso.

DescendantNodesAndTokens(Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di nodi discendenti e token nell'ordine dei documenti di prefisso.

DescendantNodesAndTokens(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco dei nodi discendenti e dei token nell'ordine dei documenti di prefisso.

DescendantNodesAndTokensAndSelf(Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di nodi discendenti e token (incluso questo nodo) nell'ordine dei documenti con prefisso.

DescendantNodesAndTokensAndSelf(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco dei nodi discendenti e dei token (incluso questo nodo) nell'ordine dei documenti con prefisso.

DescendantTokens(Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di tutti i token nell'intervallo di questo nodo.

DescendantTokens(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di tutti i token nell'intero intervallo di questo nodo.

DescendantTrivia(Func<SyntaxNode,Boolean>, Boolean)

Ottenere un elenco di tutti i trivia associati ai nodi discendenti e ai token.

DescendantTrivia(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Ottenere un elenco di tutti i trivia associati ai nodi discendenti e ai token.

EquivalentToCore(SyntaxNode)

Determinare se questo nodo è strutturalmente equivalente a un altro.

FindNode(TextSpan, Boolean, Boolean)

Trova il nodo con il più FullSpan piccolo contenente span. getInnermostNodeForTie viene usato per determinare il comportamento in caso di un legame (ad esempio, un nodo con lo stesso intervallo dell'elemento padre). Se getInnermostNodeForTie è true, restituisce il nodo decrescente più basso che comprende l'oggetto specificato span. In caso contrario, restituisce il nodo più esterno che comprende l'oggetto specificato span.

FindToken(Int32, Boolean)

Trova un token discendente di questo nodo il cui intervallo include la posizione specificata.

FindTokenCore(Int32, Boolean)

Trova un token discendente di questo nodo il cui intervallo include la posizione specificata.

FindTokenCore(Int32, Func<SyntaxTrivia,Boolean>)

Trova un token discendente di questo nodo il cui intervallo include la posizione specificata.

FindTrivia(Int32, Boolean)

Trova un oggetto trivia discendente di questo nodo il cui intervallo include la posizione specificata.

FindTrivia(Int32, Func<SyntaxTrivia,Boolean>)

Trova un oggetto trivia discendente di questo nodo nella posizione specificata, dove la posizione si trova all'interno dell'intervallo del nodo.

FindTriviaCore(Int32, Boolean)

Trova un oggetto trivia discendente di questo nodo il cui intervallo include la posizione specificata.

FirstAncestorOrSelf<TNode,TArg>(Func<TNode,TArg,Boolean>, TArg, Boolean)

Ottiene il primo nodo di tipo TNode che corrisponde al predicato.

FirstAncestorOrSelf<TNode>(Func<TNode,Boolean>, Boolean)

Ottiene il primo nodo di tipo TNode che corrisponde al predicato.

GetAnnotatedNodes(String)

Ottiene tutti i nodi con il tipo di annotazione specificato.

GetAnnotatedNodes(SyntaxAnnotation)

Ottiene tutti i nodi con l'annotazione specificata.

GetAnnotatedNodesAndTokens(String)

Ottiene tutti i nodi e i token con un'annotazione del tipo di annotazione specificato.

GetAnnotatedNodesAndTokens(String[])

Ottiene tutti i nodi e i token con un'annotazione dei tipi di annotazione specificati.

GetAnnotatedNodesAndTokens(SyntaxAnnotation)

Ottiene tutti i nodi e i token con l'annotazione specificata.

GetAnnotatedTokens(String)

Ottiene tutti i token con il tipo di annotazione specificato.

GetAnnotatedTokens(SyntaxAnnotation)

Ottiene tutti i token con l'annotazione specificata.

GetAnnotatedTrivia(String)

Ottiene tutti gli elementi semplici con un'annotazione del tipo di annotazione specificato.

GetAnnotatedTrivia(String[])

Ottiene tutti i tipi di annotazione con un'annotazione dei tipi di annotazione specificati.

GetAnnotatedTrivia(SyntaxAnnotation)

Ottiene tutti gli elementi semplici con l'annotazione specificata.

GetAnnotations(IEnumerable<String>)

Ottiene tutte le annotazioni con i tipi di annotazione specificati.

GetAnnotations(String)

Ottiene tutte le annotazioni con il tipo di annotazione specificato.

GetDiagnostics()

Ottiene un elenco di tutte le informazioni di diagnostica nell'albero secondario con questo nodo come radice. Questo metodo non filtra la diagnostica in base alle #pragmas e alle opzioni del compilatore come nowarn, warnaserror e così via.

GetFirstToken(Boolean, Boolean, Boolean, Boolean)

Ottiene il primo token dell'albero rooted da questo nodo. Ignora i token di larghezza zero.

GetLastToken(Boolean, Boolean, Boolean, Boolean)

Ottiene l'ultimo token dell'albero rooted da questo nodo. Ignora i token di larghezza zero.

GetLeadingTrivia()

Elenco di elementi semplici che vengono visualizzati prima di questo nodo nel codice sorgente e associati a un token discendente di questo nodo.

GetLocation()

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

GetRed<T>(T, Int32)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

GetRedAtZero<T>(T)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

GetReference()

Ottiene un oggetto SyntaxReference per questo nodo della sintassi. CommonSyntaxReferences può essere usato per recuperare l'accesso a un nodo della sintassi senza mantenere in memoria l'intero albero e il testo di origine.

GetText(Encoding, SourceHashAlgorithm)

Ottiene il testo completo di questo nodo come nuova SourceText istanza.

GetTrailingTrivia()

Elenco di elementi semplici che vengono visualizzati dopo questo nodo nel codice sorgente e associati a un token discendente di questo nodo.

HasAnnotation(SyntaxAnnotation)

Determina se questo nodo ha l'annotazione specifica.

HasAnnotations(IEnumerable<String>)

Determina se questo nodo ha annotazioni con uno dei tipi di annotazione specifici.

HasAnnotations(String)

Determina se questo nodo ha annotazioni con il tipo di annotazione specifico.

InsertNodesInListCore(SyntaxNode, IEnumerable<SyntaxNode>, Boolean)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

InsertTokensInListCore(SyntaxToken, IEnumerable<SyntaxToken>, Boolean)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

InsertTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>, Boolean)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

IsEquivalentTo(SyntaxNode)

Determinare se questo nodo è strutturalmente equivalente a un altro.

IsEquivalentTo(SyntaxNode, Boolean)

Determina se due nodi sono uguali, ignorando le differenze semplici.

IsEquivalentToCore(SyntaxNode, Boolean)

Determina se due nodi sono uguali, ignorando le differenze semplici.

IsIncrementallyIdenticalTo(SyntaxNode)

Restituisce true se questi due nodi sono considerati "incrementalmente identici". Un nodo identico in modo incrementale si verifica quando un SyntaxTree oggetto viene analizzato in modo incrementale usando WithChangedText(SourceText) e il parser incrementale è in grado di accettare il nodo dall'albero originale e di usarlo interamente nella nuova struttura ad albero. In questo caso, l'oggetto ToFullString() di ogni nodo sarà lo stesso, anche se potrebbe avere elementi padre diversi e può verificarsi in posizioni diverse nei rispettivi alberi. Se due nodi sono identici in modo incrementale, anche tutti gli elementi figlio di ogni nodo saranno identici in modo incrementale.

IsPartOfStructuredTrivia()

Determina se questo nodo è un discendente di un oggetto trivia strutturato.

NormalizeWhitespaceCore(String, String, Boolean)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

RemoveNodesCore(IEnumerable<SyntaxNode>, SyntaxRemoveOptions)

Crea un nuovo albero di nodi con il nodo specificato rimosso.

ReplaceCore<TNode>(IEnumerable<TNode>, Func<TNode,TNode,SyntaxNode>, IEnumerable<SyntaxToken>, Func<SyntaxToken,SyntaxToken,SyntaxToken>, IEnumerable<SyntaxTrivia>, Func<SyntaxTrivia,SyntaxTrivia,SyntaxTrivia>)

Crea un nuovo albero di nodi con i nodi, i token o i trivia specificati sostituiti.

ReplaceNodeInListCore(SyntaxNode, IEnumerable<SyntaxNode>)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

ReplaceTokenInListCore(SyntaxToken, IEnumerable<SyntaxToken>)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

ReplaceTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente linguistico agnostico di CSharpSyntaxNode e VisualBasicSyntaxNode.

SerializeTo(Stream, CancellationToken)
Obsoleti.
Obsoleti.

Serializza il nodo nell'oggetto specificato stream. Lascia aperto stream per ulteriori scritture.

ToFullString()

Restituisce la rappresentazione completa della stringa di questo nodo, inclusa la relativa modalità iniziale e finale.

ToString()

Restituisce la rappresentazione stringa di questo nodo, non inclusa la relativa limitazione iniziale e finale.

WriteTo(TextWriter)

Scrive il testo completo di questo nodo nell'oggetto specificato TextWriter.

Metodi di estensione

GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ottiene la prima direttiva dell'albero rooted da questo nodo.

GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ottiene l'ultima direttiva dell'albero rooted da questo nodo.

Kind(SyntaxNode)

Restituisce SyntaxKind per SyntaxNode dalla RawKind proprietà .

TryGetInferredMemberName(SyntaxNode)

Dato un'espressione di inizializzatore, dedurre il nome dell'elemento di proprietà o tupla anonima. Restituisce Null in caso di esito negativo

ContainsDirective(SyntaxNode, SyntaxKind)

Restituisce true se questo nodo contiene direttive (ad esempio #if, , #nullablee così via) all'interno di esso con un tipo corrispondente.

IsKind(SyntaxNode, SyntaxKind)

Determina se SyntaxNode è di un tipo specificato.

GetCurrentNode<TNode>(SyntaxNode, TNode)

Ottiene il nodo all'interno del sottoalbero corrispondente al nodo tracciato originale. Usare TrackNodes per avviare il rilevamento dei nodi.

GetCurrentNodes<TNode>(SyntaxNode, TNode)

Ottiene i nodi all'interno del sottoalbero corrispondente al nodo tracciato originale. Usare TrackNodes per avviare il rilevamento dei nodi.

GetCurrentNodes<TNode>(SyntaxNode, IEnumerable<TNode>)

Ottiene i nodi all'interno del sottoalbero corrispondente ai nodi tracciati originali. Usare TrackNodes per avviare il rilevamento dei nodi.

TryGetInferredMemberName(SyntaxNode)

Dato un'espressione inizializzatore inferisce il nome di un elemento di proprietà anonima o tuple. Restituisce Nothing se non è riuscita

GetDirectives(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ottiene gli elementi DirectiveTriviaSyntax per un oggetto SintassiNode specificato con filtro facoltativo.

GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ottiene il primo elemento DirectiveTriviaSyntax per un oggetto SyntaxNode specificato.

GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ottiene l'ultimo elemento DirectiveTriviaSyntax per un oggetto SintassiNode specificato.

Kind(SyntaxNode)

Restituisce SyntaxKind per SyntaxNode dalla RawKind proprietà.

ContainsDirective(SyntaxNode, SyntaxKind)

Restituisce true se questo nodo contiene eventuali direttive ,ad esempio #if, , #nullablee così via, all'interno di esso con un tipo corrispondente.

IsKind(SyntaxNode, SyntaxKind)

Determina se SyntaxNode è di un tipo specificato.

Si applica a