TIP: Visit Children
Існує допоміжна функція ts.forEachChild
яка дозволяє відвідувати всі дочірні вузли будь-якого Node в AST.
Нижче наведений спрощений фрагмент вихідного (програмного) коду, щоб продемонструвати, як він працює:
На практиці ця функція перевіряє значення node.kind
та, виходячи з цього, вважає, який інтерфейс пропонується node
і викликає cbNode
для дочірніх елементів вузла. Зверніть увагу, що ця функція не викликає visitNode
для всіх дочірніх елементів (наприклад, SyntaxKind.SemicolonToken). Якщо вам потрібно отримати всі дочірні елементи вузла у AST, просто викличте метод .getChildren
об'єкта Node.
Наприклад, ось функція, яка виводить докладний AST вузла:
Ми побачимо приклад використання цієї функції, коли будемо детальніше обговорювати парсер.
Last updated