angular/packages/compiler-cli/src
Alex Rickabaugh 073d258deb feat(ivy): template type-checking for '#' references in templates (#29698)
Previously the template type-checking engine processed templates in a linear
manner, and could not handle '#' references within a template. One reason
for this is that '#' references are non-linear - a reference can be used
before its declaration. Consider the template:

```html
{{ref.value}}
<input #ref>
```

Accommodating this required refactoring the type-checking code generator to
be able to produce Type Check Block (TCB) code non-linearly. Now, each
template is processed and a list of TCB operations (`TcbOp`s) are created.
Non-linearity is modeled via dependencies between operations, with the
appropriate protection in place for circular dependencies.

Testing strategy: TCB tests included.

PR Close #29698
2019-04-19 11:15:25 -07:00
..
diagnostics refactor: remove unused functions and classes in diagnostics (#28923) 2019-03-05 11:40:08 -08:00
metadata refactor(ivy): use ɵɵ instead of Δ for now (#29850) 2019-04-11 16:27:56 -07:00
ngtsc feat(ivy): template type-checking for '#' references in templates (#29698) 2019-04-19 11:15:25 -07:00
transformers build: update to TypeScript 3.4 (#29372) 2019-04-10 12:12:16 -07:00
extract_i18n.ts refactor(compiler): remove all source-level traces to tsc-wrapped (#18966) 2017-09-13 20:47:37 -04:00
language_services.ts refactor(compiler): remove old ngtools api and add listLazyRoutes to new api (#19836) 2017-10-23 18:46:04 -04:00
main.ts test(ivy): support multiple compilations in the ngtsc test env (#29380) 2019-04-01 15:13:56 -07:00
ngtools_api.ts build: upgrade jasmine (and related typings) to latest version (#19904) 2018-07-06 13:48:02 -07:00
ngtools_api2.ts feat(ivy): produce diagnostics for missing exports, incorrect entrypoint (#27743) 2019-01-08 16:36:18 -08:00
perform_compile.ts fix(compiler-cli): pass config path to ts.parseJsonConfigFileContent (#29872) 2019-04-16 13:36:08 -07:00
perform_watch.ts refactor(compiler): typo (#25496) 2018-11-05 12:53:04 -08:00
tooling.ts feat(compiler-cli): export tooling definitions (#29929) 2019-04-17 17:23:01 -07:00
version.ts style: remove empty comments (#23404) 2018-05-10 15:48:13 -07:00