|
AddAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
AddAttributeArgument(SyntaxEditor, SyntaxNode, SyntaxNode)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
AddBaseType(SyntaxEditor, SyntaxNode, SyntaxNode)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
AddInterfaceType(SyntaxEditor, SyntaxNode, SyntaxNode)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
AddMember(SyntaxEditor, SyntaxNode, SyntaxNode)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
AddParameter(SyntaxEditor, SyntaxNode, SyntaxNode)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
AddReturnAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
InsertMembers(SyntaxEditor, SyntaxNode, Int32, IEnumerable<SyntaxNode>)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
InsertParameter(SyntaxEditor, SyntaxNode, Int32, SyntaxNode)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
SetAccessibility(SyntaxEditor, SyntaxNode, Accessibility)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
SetExpression(SyntaxEditor, SyntaxNode, SyntaxNode)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
SetGetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
SetModifiers(SyntaxEditor, SyntaxNode, DeclarationModifiers)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
SetName(SyntaxEditor, SyntaxNode, String)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
SetSetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
SetStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
SetType(SyntaxEditor, SyntaxNode, SyntaxNode)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
SetTypeConstraint(SyntaxEditor, SyntaxNode, String, SpecialTypeConstraintKind, IEnumerable<SyntaxNode>)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|
|
SetTypeParameters(SyntaxEditor, SyntaxNode, IEnumerable<String>)
|
Редактор для внесения изменений в дерево синтаксиса. Редактор работает, предоставляя список изменений для выполнения определенного дерева в порядке. Изменения будут SyntaxNode применяться к исходному дереву, для чего создается редактор. Семантика приложения выглядит следующим образом:
-
Исходный корневой каталог используется в качестве корневого элемента current для всех операций. Этот корневой каталог "current" постоянно обновляется, став новым корнем "current". Исходный корень никогда не изменяется.
-
Каждое изменение имеет свое заданное SyntaxNode отслеживание, используя SyntaxAnnotation, создавая "текущий" корень, который отслеживает все из них. Это позволяет найти тот же узел после применения предыдущих изменений, которые мутируют дерево.
-
Затем каждое изменение применяется в порядке его добавления в редактор.
-
Изменение сначала пытается найти его SyntaxNode в корневом каталоге current. Если этот узел не найден, операция завершится ошибкой ArgumentException.
-
Конкретное изменение будет выполняться на этом узле, удалении, замене или вставке вокруг него в соответствии с изменением. Если изменение передается делегатом в качестве аргумента вычисления, он будет предоставлен SyntaxNode в текущем корне. Затем корневой каталог "current" будет обновлен, заменив текущий узел новым вычисляемым узлом.
-
Затем возвращается корневой каталог current.
|