次の方法で共有


SyntaxEditor クラス

定義

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
public ref class SyntaxEditor
public class SyntaxEditor
type SyntaxEditor = class
Public Class SyntaxEditor
継承
SyntaxEditor
派生

注釈

上記の編集方法では、エディターのクライアントが親ノードを更新する変更を追加し、(親の変更に子が含まれていることが確実でない限り) 子ノードを更新する変更を追加するというエラーが発生し、実行時にスローされます。 クライアントが子と親の両方を更新する必要がある場合は、最初に子の変更を追加してから、親の変更を追加する 必要があります 。 親の変更では、子の変更の結果が表示されるように、適切な "コンピューティング" コールバックを渡す必要があります。

クライアントが置換を行う場合は、ツリーに配置された SyntaxNode を見つけます。これを行うには、そのノードに専用の注釈を追加し、"コンピューティング" コールバックに渡された "現在" ノードでバックアップします。

コンストラクター

SyntaxEditor(SyntaxNode, HostWorkspaceServices)

新しい SyntaxEditor のインスタンスを作成します。

SyntaxEditor(SyntaxNode, SolutionServices)

新しい SyntaxEditor のインスタンスを作成します。

SyntaxEditor(SyntaxNode, Workspace)
古い.

新しい SyntaxEditor のインスタンスを作成します。

プロパティ

Generator

SyntaxGeneratorの作成と変更SyntaxNodeに使用する 。

OriginalRoot

SyntaxNodeが構築されたときにSyntaxEditor指定された 。

メソッド

GetChangedRoot()

変更されたルート ノードを返します。

InsertAfter(SyntaxNode, IEnumerable<SyntaxNode>)

指定したノードがツリー内に既に存在する後に、新しいノードを挿入します。

InsertAfter(SyntaxNode, SyntaxNode)

指定したノードがツリー内に既に存在する後に、新しいノードを挿入します。

InsertBefore(SyntaxNode, IEnumerable<SyntaxNode>)

指定したノードがツリー内に既に存在する前に、新しいノードを挿入します。

InsertBefore(SyntaxNode, SyntaxNode)

指定したノードがツリー内に既に存在する前に、新しいノードを挿入します。

RemoveNode(SyntaxNode, SyntaxRemoveOptions)

ツリーからノードを削除します。

RemoveNode(SyntaxNode)

ツリーからノードを削除します。

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

指定したノードを、 関数によって生成されたノードに置き換えます。

ReplaceNode(SyntaxNode, SyntaxNode)

指定したノードを別のノードに置き換えます。

TrackNode(SyntaxNode)

ノードが変更されていない場合でも、ノードが追跡されていることを確認します。

拡張メソッド

AddAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddAttributeArgument(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddBaseType(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddInterfaceType(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddMember(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddParameter(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddReturnAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
InsertMembers(SyntaxEditor, SyntaxNode, Int32, IEnumerable<SyntaxNode>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
InsertParameter(SyntaxEditor, SyntaxNode, Int32, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetAccessibility(SyntaxEditor, SyntaxNode, Accessibility)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetExpression(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetGetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetModifiers(SyntaxEditor, SyntaxNode, DeclarationModifiers)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetName(SyntaxEditor, SyntaxNode, String)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetSetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetType(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetTypeConstraint(SyntaxEditor, SyntaxNode, String, SpecialTypeConstraintKind, IEnumerable<SyntaxNode>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetTypeParameters(SyntaxEditor, SyntaxNode, IEnumerable<String>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。

適用対象