angular/packages/compiler/test/expression_parser
Kristiyan Kostadinov a436e2d5ea refactor(compiler): preserve expression in two-way listeners (#54154)
Currently the listener side two-way listeners are parsed by appending `=$event` to the raw expression. This is problematic, because:
1. It can interfere with other expressions (see #37809).
2. It can lead to confusing error messages because users will see code that they didn't write.
3. It doesn't allow us to further manipulate the expression.

These changes remove the logic that appends `=$event` to resolve the issue. There's also some new logic that checks the expression after it has been parsed to ensure that the result is an assignable expression.

Subsequent commits will update the code that emits the expression to add back the `$event` assignment where it's needed.

PR Close #54154
2024-02-01 14:39:32 +00:00
..
utils fix(compiler): produce placeholder for blocks in i18n bundles (#52958) 2023-11-20 08:59:24 -08:00
ast_spec.ts refactor(compiler): combine call ASTs (#42882) 2021-09-21 20:55:29 +00:00
BUILD.bazel build: ensure bootstrap transitive runfiles are made available (#48521) 2022-12-19 19:50:41 +00:00
lexer_spec.ts test(core): clean up unnecessary nesting in old tests (#52239) 2023-10-19 09:26:15 -07:00
parser_spec.ts refactor(compiler): preserve expression in two-way listeners (#54154) 2024-02-01 14:39:32 +00:00