angular/packages/compiler/test/expression_parser
Kristiyan Kostadinov dc52cef26b fix(compiler): infinite loop in parser assignment expression with invalid left-hand expression (#47151)
In #39004 some logic was introduced that tries to recover invalid expressions by treating the `=` token as a recovery point. It works by skipping ahead to the next recovery point inside the `skip` method which is called whenever an error is reported. This can lead to an infinite loop inside the `parseChain` method which assumes that reporting an error would've skipped over the token, but that won't happen since the `=` token is a recovery point. These changes resolve the infinite loop by breaking the loop if `error` didn't skip to a different token after the error was reported.

Fixes #47131.

PR Close #47151
2022-08-17 07:33:32 +00:00
..
utils refactor(compiler): remove parsing support for quote expressions (#44915) 2022-01-31 23:31:11 +00:00
ast_spec.ts refactor(compiler): combine call ASTs (#42882) 2021-09-21 20:55:29 +00:00
BUILD.bazel build: switch devmode output to es2015 (#44505) 2022-01-05 23:20:20 +00:00
lexer_spec.ts feat(compiler): add support for safe calls in templates (#44580) 2022-01-11 17:32:47 +00:00
parser_spec.ts fix(compiler): infinite loop in parser assignment expression with invalid left-hand expression (#47151) 2022-08-17 07:33:32 +00:00