Condividi tramite


SyntaxEditor Classe

Definizione

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
public ref class SyntaxEditor
public class SyntaxEditor
type SyntaxEditor = class
Public Class SyntaxEditor
Ereditarietà
SyntaxEditor
Derivato

Commenti

La strategia di modifica precedente genera un errore per un client dell'editor per aggiungere una modifica che aggiorna un nodo padre e quindi aggiunge una modifica che aggiorna un nodo figlio (a meno che la modifica padre non sia certa di contenere l'elemento figlio) e che il tentativo venga generato in fase di esecuzione. Se un client deve aggiornare sia un elemento figlio che un padre, deve prima aggiungere la modifica figlio e quindi la modifica padre. E la modifica padre deve passare un callback "compute" appropriato in modo da visualizzare i risultati della modifica figlio.

Se un client vuole eseguire una sostituzione, trovare il valoreSyntaxNode inserito nell'albero, che può essere eseguito aggiungendo un'annotazione dedicata a tale nodo e quindi esaminandolo nel nodo "corrente" passato a un callback "compute".

Costruttori

SyntaxEditor(SyntaxNode, HostWorkspaceServices)

Crea una nuova istanza di SyntaxEditor.

SyntaxEditor(SyntaxNode, SolutionServices)

Crea una nuova istanza di SyntaxEditor.

SyntaxEditor(SyntaxNode, Workspace)
Obsoleti.

Crea una nuova istanza di SyntaxEditor.

Proprietà

Generator

Oggetto SyntaxGenerator da usare per creare e modificare SyntaxNodele proprietà .

OriginalRoot

Oggetto SyntaxNode specificato al momento della costruzione dell'oggetto SyntaxEditor .

Metodi

GetChangedRoot()

Restituisce il nodo radice modificato.

InsertAfter(SyntaxNode, IEnumerable<SyntaxNode>)

Inserire i nuovi nodi dopo il nodo specificato già esistente nell'albero.

InsertAfter(SyntaxNode, SyntaxNode)

Inserire il nuovo nodo dopo il nodo specificato già esistente nell'albero.

InsertBefore(SyntaxNode, IEnumerable<SyntaxNode>)

Inserire i nuovi nodi prima del nodo specificato già esistente nell'albero.

InsertBefore(SyntaxNode, SyntaxNode)

Inserire il nuovo nodo prima del nodo specificato già esistente nell'albero.

RemoveNode(SyntaxNode, SyntaxRemoveOptions)

Rimuovere il nodo dall'albero.

RemoveNode(SyntaxNode)

Rimuovere il nodo dall'albero.

ReplaceNode(SyntaxNode, Func<SyntaxNode,SyntaxGenerator,SyntaxNode>)

Sostituire il nodo specificato con un nodo prodotto dalla funzione .

ReplaceNode(SyntaxNode, SyntaxNode)

Sostituire il nodo specificato con un nodo diverso.

TrackNode(SyntaxNode)

Verifica che il nodo venga rilevato, anche se non viene modificato.

Metodi di estensione

AddAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
AddAttributeArgument(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
AddBaseType(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
AddInterfaceType(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
AddMember(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
AddParameter(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
AddReturnAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
InsertMembers(SyntaxEditor, SyntaxNode, Int32, IEnumerable<SyntaxNode>)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
InsertParameter(SyntaxEditor, SyntaxNode, Int32, SyntaxNode)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
SetAccessibility(SyntaxEditor, SyntaxNode, Accessibility)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
SetExpression(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
SetGetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
SetModifiers(SyntaxEditor, SyntaxNode, DeclarationModifiers)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
SetName(SyntaxEditor, SyntaxNode, String)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
SetSetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
SetStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
SetType(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
SetTypeConstraint(SyntaxEditor, SyntaxNode, String, SpecialTypeConstraintKind, IEnumerable<SyntaxNode>)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.
SetTypeParameters(SyntaxEditor, SyntaxNode, IEnumerable<String>)

Editor per apportare modifiche a un albero della sintassi. L'editor funziona assegnando un elenco di modifiche da eseguire a un albero specifico in ordine. Le modifiche vengono applicate SyntaxNode a nell'albero originale per cui viene creato l'editor. La semantica dell'applicazione è la seguente:

  1. La radice originale fornita viene usata come radice "corrente" per tutte le operazioni. Questa radice "corrente" verrà continuamente aggiornata, diventando la nuova radice "corrente". La radice originale non viene mai modificata.
  2. Ogni modifica ha una traccia SyntaxNode , usando un SyntaxAnnotationoggetto , che produce una radice "corrente" che li tiene traccia di tutti. Ciò consente di trovare lo stesso nodo dopo l'applicazione delle modifiche precedenti che modificano l'albero.
  3. Ogni modifica viene quindi applicata nell'ordine in cui è stata aggiunta all'editor.
  4. Una modifica tenta prima di tutto di trovarne SyntaxNode nella radice "corrente". Se non è possibile trovare tale nodo, l'operazione avrà esito negativo con .ArgumentException
  5. La modifica specifica verrà eseguita su tale nodo, rimuovendo, sostituendo o inserendolo in base alla modifica. Se la modifica viene passata a un delegato come argomento di calcolo, verrà assegnato il SyntaxNode valore trovato nella radice corrente. La radice "corrente" verrà quindi aggiornata sostituendo il nodo corrente con il nuovo nodo calcolato.
  6. Viene quindi restituita la radice 'current'.

Si applica a