SyntaxEditor Kelas

Definisi

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
public ref class SyntaxEditor
public class SyntaxEditor
type SyntaxEditor = class
Public Class SyntaxEditor
Warisan
SyntaxEditor
Turunan

Keterangan

Strategi pengeditan di atas menjadikannya kesalahan bagi klien editor untuk menambahkan perubahan yang memperbarui simpul induk dan kemudian menambahkan perubahan yang memperbarui simpul anak (kecuali jika perubahan induk dipastikan berisi anak), dan mencoba ini akan melemparkan pada runtime. Jika klien perlu memperbarui anak dan induk, klien harus menambahkan perubahan anak terlebih dahulu, lalu induk berubah. Dan perubahan induk harus melewati panggilan balik 'komputasi' yang sesuai sehingga akan melihat hasil perubahan anak.

Jika klien ingin membuat penggantian, maka temukan nilaiSyntaxNode yang dimasukkan ke dalam pohon, yang dapat dilakukan dengan menambahkan anotasi khusus ke simpul tersebut dan kemudian mencarinya kembali di node 'saat ini' yang diteruskan ke panggilan balik 'komputasi'.

Konstruktor

Nama Deskripsi
SyntaxEditor(SyntaxNode, HostWorkspaceServices)

Membuat instans SyntaxEditor baru.

SyntaxEditor(SyntaxNode, SolutionServices)

Membuat instans SyntaxEditor baru.

SyntaxEditor(SyntaxNode, Workspace)
Kedaluwarsa.

Membuat instans SyntaxEditor baru.

Properti

Nama Deskripsi
Generator

A SyntaxGenerator untuk digunakan untuk membuat dan mengubah SyntaxNode.

OriginalRoot

SyntaxNode Yang ditentukan ketika SyntaxEditor dibangun.

Metode

Nama Deskripsi
GetChangedRoot()

Mengembalikan simpul akar yang diubah.

InsertAfter(SyntaxNode, IEnumerable<SyntaxNode>)

Sisipkan simpul baru setelah simpul yang ditentukan sudah ada di pohon.

InsertAfter(SyntaxNode, SyntaxNode)

Sisipkan simpul baru setelah simpul yang ditentukan sudah ada di pohon.

InsertBefore(SyntaxNode, IEnumerable<SyntaxNode>)

Sisipkan simpul baru sebelum simpul yang ditentukan sudah ada di pohon.

InsertBefore(SyntaxNode, SyntaxNode)

Sisipkan simpul baru sebelum simpul yang ditentukan sudah ada di pohon.

RemoveNode(SyntaxNode, SyntaxRemoveOptions)

Hapus simpul dari pohon.

RemoveNode(SyntaxNode)

Hapus simpul dari pohon.

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

Ganti simpul yang ditentukan dengan simpul yang dihasilkan oleh fungsi .

ReplaceNode(SyntaxNode, SyntaxNode)

Ganti simpul yang ditentukan dengan simpul yang berbeda.

TrackNode(SyntaxNode)

Pastikan simpul dilacak, meskipun tidak diubah.

Metode Ekstensi

Nama Deskripsi
AddAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
AddAttributeArgument(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
AddBaseType(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
AddInterfaceType(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
AddMember(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
AddParameter(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
AddReturnAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
InsertMembers(SyntaxEditor, SyntaxNode, Int32, IEnumerable<SyntaxNode>)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
InsertParameter(SyntaxEditor, SyntaxNode, Int32, SyntaxNode)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
SetAccessibility(SyntaxEditor, SyntaxNode, Accessibility)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
SetExpression(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
SetGetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
SetModifiers(SyntaxEditor, SyntaxNode, DeclarationModifiers)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
SetName(SyntaxEditor, SyntaxNode, String)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
SetSetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
SetStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
SetType(SyntaxEditor, SyntaxNode, SyntaxNode)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
SetTypeConstraint(SyntaxEditor, SyntaxNode, String, SpecialTypeConstraintKind, IEnumerable<SyntaxNode>)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
SetTypeParameters(SyntaxEditor, SyntaxNode, IEnumerable<String>)

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.

Berlaku untuk