refactor(compiler-cli): introduce the TemplateTypeChecker abstraction (#38105)
This commit significantly refactors the 'typecheck' package to introduce a new abstraction, the `TemplateTypeChecker`. To achieve this: * a 'typecheck:api' package is introduced, containing common interfaces that consumers of the template type-checking infrastructure can depend on without incurring a dependency on the template type-checking machinery as a whole. * interfaces for `TemplateTypeChecker` and `TypeCheckContext` are introduced which contain the abstract operations supported by the implementation classes `TemplateTypeCheckerImpl` and `TypeCheckContextImpl` respectively. * the `TemplateTypeChecker` interface supports diagnostics on a whole program basis to start with, but the implementation is purposefully designed to support incremental diagnostics at a per-file or per-component level. * `TemplateTypeChecker` supports direct access to the type check block of a component. * the testing utility is refactored to be a lot more useful, and new tests are added for the new abstraction. PR Close #38105
This commit is contained in:

committed by
Misko Hevery

parent
736f6337b2
commit
16c7441c2f
@ -90,4 +90,6 @@ class NoIncrementalBuild implements IncrementalBuild<any, any> {
|
||||
priorTypeCheckingResultsFor(): null {
|
||||
return null;
|
||||
}
|
||||
|
||||
recordSuccessfulTypeCheck(): void {}
|
||||
}
|
||||
|
Reference in New Issue
Block a user