mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
8a25cd4e968825bfd3d1770465fc6ce2cfde1e8f
In the past, only the starting index of an expression Token has been
recorded, so a parser could demarkate the span of a token only by the
start locations of two tokens. This may lead to trailing whitespace
being included in the token span:
```html
{{ token1 + token2 }}
^^^^^^^^^ recorded span of `token1`
```
It's also not enough for a parser to determine the end of a token by
adding the length of the token value to the token's start location,
because lexed expression values may not exactly reflect the source code.
For example, `"d\\"e"` is lexed as a string token whose value is `d"e`.
Instead, this commit adds a `end` field to expression tokens. `end`
is one past the last index of the token source code. This will enable a
parser to determine the span of a token just by looking at that token.
This is a breaking change because the contructor interface of `Token`
has changed.
Part of #33477.
PR Close #33549
build: migrate references and scripts that set to build with ivy via compile=aot to use config=ivy (#33983)
build: migrate references and scripts that set to build with ivy via compile=aot to use config=ivy (#33983)
…
Angular
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages.
Quickstart
Changelog
Learn about the latest improvements.
Want to help?
Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.
Languages
TypeScript
81.7%
JavaScript
12.8%
HTML
2%
Starlark
1.8%
CSS
1%
Other
0.7%