В настоящее время я пытаюсь использовать машинописный компилятор из javascript. Я получаю объект типа SyntaxTree
, который я могу распечатать как строку, но как я могу ходить по дереву и посещать каждый токен? В настоящее время я немного застрял, потому что я не могу найти документацию об этом.TypeScript walk the SyntaxTree
ответ
Когда у вас уже есть объект TypeScript.SyntaxTree, вы довольно близко!
Al вы должны сделать, это создать пользовательский класс, который расширяет TypeScript.SyntaxWalker или один из классов, которые распространяются это нравится: DepthLimitedWalker или PositionTrackingWalker
Так класс выглядит следующим образом:
export class TSWalker extends TypeScript.PositionTrackingWalker {
}
И вызовите синтаксисTree.sourceUnit(). Accept (новый TSWalker()); Теперь вы можете переопределить такие функции, как: public visitMemberFunctionDeclaration (node: TypeScript.MemberFunctionDeclarationSyntax) и сделать то, что вы хотите! Другие вещи, которые вы можете переопределить, можно найти здесь: http://typescript.codeplex.com/SourceControl/latest#src/compiler/syntax/syntaxVisitor.generated.ts Обратите внимание на приведенные выше работы с 0.9.5, но они все равно должны работать на ветке разработки машинописного текста.
- 1. XML-сериализовать Roslyn SyntaxTree?
- 2. Рослин SyntaxTree Diff
- 3. Roslyn SyntaxTree changes injection
- 4. Алгоритм Walk Knight Walk (Brute Force)
- 5. Random Walk, упрощая код
- 6. Метод вызова метода walk walk, когда каталог достигнут
- 7. python gui tree walk
- 8. CodeEval challenge: Grid Walk
- 9. Программа Java Random Walk?
- 10. nodejs - Фильтровать расширения файлов с помощью walk-walk
- 11. Алгоритм кучи Walk-Through
- 12. Eclipse heap walk
- 13. Параллельный каталог walk python
- 14. SNMP OID tree walk
- 15. Каков наилучший способ форматирования SyntaxTree в памяти?
- 16. Общая карта в TypeScript
- 17. cross walk check android error
- 18. HTML-вложенные формы walk-around
- 19. Python Walk, но Thread Lightly
- 20. Apply Zombie Walk Анимация: Unity3d
- 21. Объяснение за решением codechef walk
- 22. Досрочное прекращение программы "Random Walk"
- 23. Леви Walk моделирование в R
- 24. Многомерные массивы для программы Random Walk
- 25. throw the the throw error
- 26. Node.js Глобал! The Bad, The Ugly & The Perfomance
- 27. Есть ли эквивалент git-walk next/git-walk prev в hg?
- 28. PHP SNMP v2 Walk Fragmenting/Blocked
- 29. SKEffectNode walk through children crashed (iOS10 Spritekit)
- 30. Stack walk with inline asm для VC++
Спасибо! Проблема в том, что когда я пытаюсь наследовать от TypeScript.PositionTrackingWalker, я получаю каждый раз ошибку времени выполнения JavaScript, что машинописный шрифт не определен strangly – Sebastian