Partilhar via


SyntaxEditor Classe

Definição

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
public ref class SyntaxEditor
public class SyntaxEditor
type SyntaxEditor = class
Public Class SyntaxEditor
Herança
SyntaxEditor
Derivado

Comentários

A estratégia de edição acima torna um erro para um cliente do editor adicionar uma alteração que atualiza um nó pai e, em seguida, adiciona uma alteração que atualiza um nó filho (a menos que a alteração pai seja certa para conter o filho) e tentar isso será lançada em runtime. Se um cliente precisar atualizar um filho e um pai, ele deverá adicionar a alteração filho primeiro e, em seguida, a alteração pai. E a alteração pai deve passar um retorno de chamada 'compute' apropriado para que ele veja os resultados da alteração filho.

Se um cliente quiser fazer uma substituição, localize o valorSyntaxNode colocado na árvore, o que pode ser feito adicionando uma anotação dedicada a esse nó e, em seguida, pesquisando-o novamente no nó 'atual' passado para um retorno de chamada 'compute'.

Construtores

Nome Description
SyntaxEditor(SyntaxNode, HostWorkspaceServices)

Cria uma nova instância SyntaxEditor.

SyntaxEditor(SyntaxNode, SolutionServices)

Cria uma nova instância SyntaxEditor.

SyntaxEditor(SyntaxNode, Workspace)
Obsoleto.

Cria uma nova instância SyntaxEditor.

Propriedades

Nome Description
Generator

Um SyntaxGenerator a ser usado para criar e alterar's SyntaxNode.

OriginalRoot

O SyntaxNode que foi especificado quando o SyntaxEditor foi construído.

Métodos

Nome Description
GetChangedRoot()

Retorna o nó raiz alterado.

InsertAfter(SyntaxNode, IEnumerable<SyntaxNode>)

Insira os novos nós após o nó especificado já existente na árvore.

InsertAfter(SyntaxNode, SyntaxNode)

Insira o novo nó após o nó especificado já existente na árvore.

InsertBefore(SyntaxNode, IEnumerable<SyntaxNode>)

Insira os novos nós antes que o nó especificado já exista na árvore.

InsertBefore(SyntaxNode, SyntaxNode)

Insira o novo nó antes que o nó especificado já exista na árvore.

RemoveNode(SyntaxNode, SyntaxRemoveOptions)

Remova o nó da árvore.

RemoveNode(SyntaxNode)

Remova o nó da árvore.

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

Substitua o nó especificado por um nó produzido pela função.

ReplaceNode(SyntaxNode, SyntaxNode)

Substitua o nó especificado por um nó diferente.

TrackNode(SyntaxNode)

Verifique se o nó está controlado, mesmo que não seja alterado.

Métodos de Extensão

Nome Description
AddAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
AddAttributeArgument(SyntaxEditor, SyntaxNode, SyntaxNode)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
AddBaseType(SyntaxEditor, SyntaxNode, SyntaxNode)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
AddInterfaceType(SyntaxEditor, SyntaxNode, SyntaxNode)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
AddMember(SyntaxEditor, SyntaxNode, SyntaxNode)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
AddParameter(SyntaxEditor, SyntaxNode, SyntaxNode)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
AddReturnAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
InsertMembers(SyntaxEditor, SyntaxNode, Int32, IEnumerable<SyntaxNode>)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
InsertParameter(SyntaxEditor, SyntaxNode, Int32, SyntaxNode)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
SetAccessibility(SyntaxEditor, SyntaxNode, Accessibility)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
SetExpression(SyntaxEditor, SyntaxNode, SyntaxNode)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
SetGetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
SetModifiers(SyntaxEditor, SyntaxNode, DeclarationModifiers)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
SetName(SyntaxEditor, SyntaxNode, String)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
SetSetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
SetStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
SetType(SyntaxEditor, SyntaxNode, SyntaxNode)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
SetTypeConstraint(SyntaxEditor, SyntaxNode, String, SpecialTypeConstraintKind, IEnumerable<SyntaxNode>)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.
SetTypeParameters(SyntaxEditor, SyntaxNode, IEnumerable<String>)

Um editor para fazer alterações em uma árvore de sintaxe. O editor funciona fornecendo uma lista de alterações a serem executadas em uma árvore específica em ordem. As alterações são fornecidas SyntaxNode para as quais serão aplicadas na árvore original para a qual o editor foi criado. A semântica do aplicativo é a seguinte:

  1. A raiz original fornecida é usada como a raiz "atual" para todas as operações. Essa raiz "atual" será atualizada continuamente, tornando-se a nova raiz "atual". A raiz original nunca é alterada.
  2. Cada alteração tem sua determinada SyntaxNode faixa, usando uma SyntaxAnnotationraiz "atual" que acompanha todas elas. Isso permite que esse mesmo nó seja encontrado após a aplicação de alterações anteriores que modificam a árvore.
  3. Cada alteração é então aplicada na ordem em que foi adicionada ao editor.
  4. Uma alteração primeiro tenta encontrá-lo SyntaxNode na raiz "atual". Se esse nó não puder ser encontrado, a operação falhará com um ArgumentException.
  5. A alteração específica será executada nesse nó, removendo, substituindo ou inserindo-a de acordo com a alteração. Se a alteração for passada por um delegado como seu argumento de "computação", ele receberá o SyntaxNode encontrado na raiz atual. A raiz 'atual' será atualizada substituindo o nó atual pelo novo nó computado.
  6. Em seguida, a raiz 'atual' é retornada.

Aplica-se a