angular/packages/compiler-cli/src
Alex Rickabaugh af015982f5 fix(ivy): wrap 'as any' casts in parentheses when needed (#34649)
Previously, when generating template type-checking code, casts to 'any' were
produced as `expr as any`, regardless of the expression. However, for
certain expression types, this led to precedence issues with the cast. For
example, `a !== b` is a `ts.BinaryExpression`, and wrapping it directly in
the cast yields `a !== b as any`, which is semantically equivalent to
`a !== (b as any)`. This is obviously not what is intended.

Instead, this commit adds a list of expression types for which a "bare"
wrapping is permitted. For other expressions, parentheses are added to
ensure correct precedence: `(a !== b) as any`

PR Close #34649
2020-01-23 10:31:47 -08:00
..
diagnostics refactor(compiler-cli): Move diagnostics files to language service (#33809) 2019-11-14 09:29:07 -08:00
metadata fix(compiler-cli): allow declaration-only template type check members (#34296) 2019-12-10 16:31:23 -08:00
ngtsc fix(ivy): wrap 'as any' casts in parentheses when needed (#34649) 2020-01-23 10:31:47 -08:00
transformers refactor(ivy): verify template type check options are compatible (#34195) 2020-01-06 11:07:54 -08:00
extract_i18n.ts refactor(ivy): implement a virtual file-system layer in ngtsc + ngcc (#30921) 2019-06-25 16:25:24 -07:00
language_services.ts refactor(compiler-cli): Move diagnostics files to language service (#33809) 2019-11-14 09:29:07 -08:00
main.ts fix(compiler): switch to modern diagnostic formatting (#34234) 2019-12-09 11:37:49 -08:00
perform_compile.ts fix(compiler): switch to modern diagnostic formatting (#34234) 2019-12-09 11:37:49 -08:00
perform_watch.ts fix(ivy): recompile component when template changes in ngc watch mode (#33551) 2019-11-12 13:55:09 -08:00
tooling.ts fix(ivy): retain JIT metadata unless JIT mode is explicitly disabled (#33671) 2019-11-20 12:55:43 -08:00
typescript_support.ts build: typescript 3.7 support (#33717) 2020-01-14 16:42:21 -08:00
version.ts style: remove empty comments (#23404) 2018-05-10 15:48:13 -07:00