073d258deb
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 |
||
---|---|---|
.. | ||
design | ||
src | ||
test | ||
testing | ||
BUILD.bazel | ||
compiler.ts | ||
index.ts | ||
package.json | ||
public_api.ts | ||
tsconfig-build.json |