Checker
Як ми вже згадували раніше checker - це те, що робить TypeScript унікально потужним у порівнянні з просто ще одним транспілером JavaScript. Checker
розташований у файлі checker.ts
і на даний момент складається з понад 23 тис. рядків коду на TypeScript (найбільша частина компілятора).
Використання програмою
Checker
ініціалізується об'єктом program
. Нижче наведений невеликий приклад стеку викликів (ми використовували той самий приклад при дослідженні binder
):
Пов'язаність з генератором коду
Справжня перевірка типу відбувається після виклику getDiagnostics
. Ця функція викликається наприклад, коли запит зроблений до Program.emit
, в такому випадку checker
повертає EmitResolver
(програма викликає функцію getEmitResolver
чекера) який представляє собою набір функцій, локальних для createTypeChecker
. Ми ще повернемося до цього, коли будемо розглядати emitter
.
Нижче наведений стек викликів, що веде до checkSourceFile
(функції, що локально присутня у createTypeChecker
).
Last updated