16c7441c2f
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 |
||
---|---|---|
.. | ||
decoration_analyzer.ts | ||
migration_host.ts | ||
module_with_providers_analyzer.ts | ||
ngcc_references_registry.ts | ||
ngcc_trait_compiler.ts | ||
private_declarations_analyzer.ts | ||
switch_marker_analyzer.ts | ||
types.ts | ||
util.ts |