Commit 0a48d58
feat(core): add support for let syntax (#56715)
Enables the new `@let` syntax by default.
`@let` declarations are defined as:
1. The `@let` keyword.
2. Followed by one or more whitespaces.
3. Followed by a valid JavaScript name and zero or more whitespaces.
4. Followed by the `=` symbol and zero or more whitespaces.
5. Followed by an Angular expression which can be multi-line.
6. Terminated by the `;` symbol.
Example usage:
```
@let user = user$ | async;
@let greeting = user ? 'Hello, ' + user.name : 'Loading';
<h1>{{greeting}}</h1>
```
Fixes #15280.
PR Close #567151 parent c19a4e7 commit 0a48d58
29 files changed
Lines changed: 102 additions & 236 deletions
File tree
- packages
- compiler-cli
- linker/src/file_linker/partial_linkers
- src/ngtsc
- annotations/component/test
- core/src
- indexer/test
- typecheck/test
- test
- compliance/test_cases/r3_view_compiler_let
- ngtsc
- compiler
- src
- ml_parser
- render3/view
- test
- ml_parser
- render3
- view
- core/test/acceptance
- language-service
- src
- test
- legacy
- platform-server/test
Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
103 | 104 | | |
104 | 105 | | |
105 | 106 | | |
106 | | - | |
107 | | - | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
108 | 110 | | |
109 | 111 | | |
110 | 112 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
145 | | - | |
| 145 | + | |
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
455 | 455 | | |
456 | 456 | | |
457 | 457 | | |
458 | | - | |
| 458 | + | |
459 | 459 | | |
460 | 460 | | |
461 | 461 | | |
| |||
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
| |||
Lines changed: 2 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1971 | 1971 | | |
1972 | 1972 | | |
1973 | 1973 | | |
1974 | | - | |
1975 | | - | |
1976 | | - | |
1977 | | - | |
1978 | 1974 | | |
1979 | | - | |
| 1975 | + | |
1980 | 1976 | | |
1981 | 1977 | | |
1982 | 1978 | | |
| |||
1990 | 1986 | | |
1991 | 1987 | | |
1992 | 1988 | | |
1993 | | - | |
| 1989 | + | |
1994 | 1990 | | |
1995 | 1991 | | |
1996 | 1992 | | |
| |||
Lines changed: 2 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
88 | | - | |
89 | | - | |
| 87 | + | |
90 | 88 | | |
91 | 89 | | |
92 | 90 | | |
93 | 91 | | |
94 | 92 | | |
95 | 93 | | |
96 | | - | |
97 | | - | |
98 | | - | |
| 94 | + | |
99 | 95 | | |
100 | 96 | | |
101 | 97 | | |
| |||
Lines changed: 20 additions & 26 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1966 | 1966 | | |
1967 | 1967 | | |
1968 | 1968 | | |
1969 | | - | |
1970 | | - | |
1971 | | - | |
1972 | | - | |
1973 | | - | |
1974 | | - | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
1975 | 1974 | | |
1976 | 1975 | | |
1977 | 1976 | | |
1978 | 1977 | | |
1979 | | - | |
1980 | | - | |
1981 | | - | |
1982 | | - | |
1983 | | - | |
1984 | | - | |
1985 | | - | |
1986 | | - | |
1987 | | - | |
1988 | | - | |
1989 | | - | |
1990 | | - | |
1991 | | - | |
1992 | | - | |
1993 | | - | |
1994 | | - | |
1995 | | - | |
1996 | | - | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
| 1981 | + | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
1997 | 1989 | | |
1998 | | - | |
| 1990 | + | |
| 1991 | + | |
| 1992 | + | |
1999 | 1993 | | |
2000 | | - | |
| 1994 | + | |
2001 | 1995 | | |
2002 | 1996 | | |
2003 | 1997 | | |
| |||
Lines changed: 0 additions & 46 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | 6 | | |
10 | 7 | | |
11 | 8 | | |
| |||
23 | 20 | | |
24 | 21 | | |
25 | 22 | | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | 23 | | |
30 | 24 | | |
31 | 25 | | |
| |||
43 | 37 | | |
44 | 38 | | |
45 | 39 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | 40 | | |
50 | 41 | | |
51 | 42 | | |
| |||
63 | 54 | | |
64 | 55 | | |
65 | 56 | | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | 57 | | |
70 | 58 | | |
71 | 59 | | |
| |||
83 | 71 | | |
84 | 72 | | |
85 | 73 | | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | 74 | | |
90 | 75 | | |
91 | 76 | | |
| |||
103 | 88 | | |
104 | 89 | | |
105 | 90 | | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | 91 | | |
110 | 92 | | |
111 | 93 | | |
| |||
123 | 105 | | |
124 | 106 | | |
125 | 107 | | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | 108 | | |
130 | 109 | | |
131 | 110 | | |
| |||
143 | 122 | | |
144 | 123 | | |
145 | 124 | | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | 125 | | |
150 | 126 | | |
151 | 127 | | |
| |||
163 | 139 | | |
164 | 140 | | |
165 | 141 | | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | 142 | | |
170 | 143 | | |
171 | 144 | | |
| |||
183 | 156 | | |
184 | 157 | | |
185 | 158 | | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | 159 | | |
190 | 160 | | |
191 | 161 | | |
| |||
204 | 174 | | |
205 | 175 | | |
206 | 176 | | |
207 | | - | |
208 | 177 | | |
209 | 178 | | |
210 | 179 | | |
| |||
224 | 193 | | |
225 | 194 | | |
226 | 195 | | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | 196 | | |
231 | 197 | | |
232 | 198 | | |
| |||
244 | 210 | | |
245 | 211 | | |
246 | 212 | | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | 213 | | |
251 | 214 | | |
252 | 215 | | |
| |||
264 | 227 | | |
265 | 228 | | |
266 | 229 | | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | 230 | | |
271 | 231 | | |
272 | 232 | | |
| |||
284 | 244 | | |
285 | 245 | | |
286 | 246 | | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | 247 | | |
291 | 248 | | |
292 | 249 | | |
| |||
304 | 261 | | |
305 | 262 | | |
306 | 263 | | |
307 | | - | |
308 | | - | |
309 | | - | |
310 | 264 | | |
311 | 265 | | |
312 | 266 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6611 | 6611 | | |
6612 | 6612 | | |
6613 | 6613 | | |
6614 | | - | |
| 6614 | + | |
6615 | 6615 | | |
6616 | 6616 | | |
6617 | 6617 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | 109 | | |
117 | 110 | | |
118 | 111 | | |
| |||
726 | 719 | | |
727 | 720 | | |
728 | 721 | | |
729 | | - | |
730 | 722 | | |
731 | 723 | | |
732 | 724 | | |
| |||
0 commit comments