Compartir a través de


SyntaxEditor Clase

Definición

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
public ref class SyntaxEditor
public class SyntaxEditor
type SyntaxEditor = class
Public Class SyntaxEditor
Herencia
SyntaxEditor
Derivado

Comentarios

La estrategia de edición anterior lo convierte en un error para que un cliente del editor agregue un cambio que actualice un nodo primario y, a continuación, agregue un cambio que actualice un nodo secundario (a menos que el cambio primario esté seguro de que contiene el elemento secundario) y, al intentarlo, se producirá en tiempo de ejecución. Si un cliente necesita actualizar un elemento secundario y un elemento primario, debe agregar primero el cambio secundario y, a continuación, el cambio primario. Y el cambio primario debe pasar una devolución de llamada "compute" adecuada para que vea los resultados del cambio secundario.

Si un cliente quiere realizar un reemplazo, busque el valorSyntaxNode colocado en el árbol, que se puede hacer agregando una anotación dedicada a ese nodo y, a continuación, buscándolo en el nodo "actual" pasado a una devolución de llamada "compute".

Constructores

SyntaxEditor(SyntaxNode, HostWorkspaceServices)

Crea una nueva instancia de SyntaxEditor.

SyntaxEditor(SyntaxNode, SolutionServices)

Crea una nueva instancia de SyntaxEditor.

SyntaxEditor(SyntaxNode, Workspace)
Obsoletos.

Crea una nueva instancia de SyntaxEditor.

Propiedades

Generator

SyntaxGenerator que se va a usar para crear y cambiar SyntaxNode.

OriginalRoot

que SyntaxNode se especificó cuando se construyó .SyntaxEditor

Métodos

GetChangedRoot()

Devuelve el nodo raíz cambiado.

InsertAfter(SyntaxNode, IEnumerable<SyntaxNode>)

Inserte los nuevos nodos después del nodo especificado ya existente en el árbol.

InsertAfter(SyntaxNode, SyntaxNode)

Inserte el nuevo nodo después del nodo especificado ya existente en el árbol.

InsertBefore(SyntaxNode, IEnumerable<SyntaxNode>)

Inserte los nuevos nodos antes de que el nodo especificado ya esté existente en el árbol.

InsertBefore(SyntaxNode, SyntaxNode)

Inserte el nuevo nodo antes de que el nodo especificado ya esté existente en el árbol.

RemoveNode(SyntaxNode, SyntaxRemoveOptions)

Quite el nodo del árbol.

RemoveNode(SyntaxNode)

Quite el nodo del árbol.

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

Reemplace el nodo especificado por un nodo generado por la función .

ReplaceNode(SyntaxNode, SyntaxNode)

Reemplace el nodo especificado por otro nodo.

TrackNode(SyntaxNode)

Asegúrese de que se realiza un seguimiento del nodo, incluso si no se cambia.

Métodos de extensión

AddAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
AddAttributeArgument(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
AddBaseType(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
AddInterfaceType(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
AddMember(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
AddParameter(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
AddReturnAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
InsertMembers(SyntaxEditor, SyntaxNode, Int32, IEnumerable<SyntaxNode>)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
InsertParameter(SyntaxEditor, SyntaxNode, Int32, SyntaxNode)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
SetAccessibility(SyntaxEditor, SyntaxNode, Accessibility)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
SetExpression(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
SetGetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
SetModifiers(SyntaxEditor, SyntaxNode, DeclarationModifiers)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
SetName(SyntaxEditor, SyntaxNode, String)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
SetSetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
SetStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
SetType(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
SetTypeConstraint(SyntaxEditor, SyntaxNode, String, SpecialTypeConstraintKind, IEnumerable<SyntaxNode>)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".
SetTypeParameters(SyntaxEditor, SyntaxNode, IEnumerable<String>)

Editor para realizar cambios en un árbol de sintaxis. El editor funciona proporcionando una lista de los cambios que se van a realizar en un árbol determinado en orden. A los cambios se SyntaxNode les aplica en el árbol original para el que se crea el editor. La semántica de la aplicación es la siguiente:

  1. La raíz original proporcionada se usa como raíz "actual" para todas las operaciones. Esta raíz "actual" se actualizará continuamente, convirtiéndose en la nueva raíz "actual". La raíz original nunca cambia.
  2. Cada cambio tiene un seguimiento dado SyntaxNode , mediante un SyntaxAnnotation, que genera una raíz "actual" que realiza un seguimiento de todos ellos. Esto permite que se encuentre el mismo nodo después de aplicar los cambios anteriores que mutan el árbol.
  3. A continuación, se aplica cada cambio en orden en que se agregó al editor.
  4. Un cambio primero intenta buscarlo SyntaxNode en la raíz "actual". Si no se encuentra ese nodo, se producirá un error en la operación con .ArgumentException
  5. El cambio concreto se ejecutará en ese nodo, quitando, reemplazando o insertando alrededor de él según el cambio. Si el cambio se pasa a un delegado como argumento "compute", se le proporcionará el SyntaxNode que se encuentra en la raíz actual. La raíz "actual" se actualizará reemplazando el nodo actual por el nuevo nodo calculado.
  6. A continuación, se devuelve la raíz "current".

Se aplica a