Commit 9075330
authored
[compiler] Remove tryRecord, add catch-all error handling, fix remaining throws (#35881)
Remove `tryRecord()` from the compilation pipeline now that all passes
record
errors directly via `env.recordError()` / `env.recordErrors()`. A single
catch-all try/catch in Program.ts provides the safety net for any pass
that
incorrectly throws instead of recording.
Key changes:
- Remove all ~64 `env.tryRecord()` wrappers in Pipeline.ts
- Delete `tryRecord()` method from Environment.ts
- Add `CompileUnexpectedThrow` logger event so thrown errors are
detectable
- Log `CompileUnexpectedThrow` in Program.ts catch-all for non-invariant
throws
- Fail snap tests on `CompileUnexpectedThrow` to surface pass bugs in
dev
- Convert throwTodo/throwDiagnostic calls in HIRBuilder (fbt, this),
CodegenReactiveFunction (for-in/for-of), and BuildReactiveFunction to
record errors or use invariants as appropriate
- Remove try/catch from BuildHIR's lower() since inner throws are now
recorded
- CollectOptionalChainDependencies: return null instead of throwing on
unsupported optional chain patterns (graceful optimization skip)
---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/facebook/react/pull/35881).
* #35888
* #35884
* #35883
* #35882
* __->__ #358811 parent 8a33fb3 commit 9075330
19 files changed
Lines changed: 260 additions & 243 deletions
File tree
- compiler/packages
- babel-plugin-react-compiler/src
- Entrypoint
- HIR
- ReactiveScopes
- __tests__/fixtures/compiler
- ecma
- fbt
- propagate-scope-deps-hir-fork
- snap/src
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
252 | 252 | | |
253 | 253 | | |
254 | 254 | | |
| 255 | + | |
255 | 256 | | |
256 | 257 | | |
257 | 258 | | |
| |||
286 | 287 | | |
287 | 288 | | |
288 | 289 | | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
289 | 295 | | |
290 | 296 | | |
291 | 297 | | |
| |||
Lines changed: 19 additions & 50 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | 16 | | |
18 | 17 | | |
19 | 18 | | |
| |||
161 | 160 | | |
162 | 161 | | |
163 | 162 | | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
| 163 | + | |
| 164 | + | |
170 | 165 | | |
171 | 166 | | |
172 | 167 | | |
| |||
202 | 197 | | |
203 | 198 | | |
204 | 199 | | |
205 | | - | |
206 | | - | |
207 | | - | |
| 200 | + | |
208 | 201 | | |
209 | 202 | | |
210 | | - | |
211 | | - | |
212 | | - | |
| 203 | + | |
213 | 204 | | |
214 | 205 | | |
215 | 206 | | |
| |||
219 | 210 | | |
220 | 211 | | |
221 | 212 | | |
222 | | - | |
223 | | - | |
224 | | - | |
| 213 | + | |
225 | 214 | | |
226 | 215 | | |
227 | 216 | | |
| |||
235 | 224 | | |
236 | 225 | | |
237 | 226 | | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
| 227 | + | |
| 228 | + | |
242 | 229 | | |
243 | 230 | | |
244 | 231 | | |
245 | | - | |
246 | | - | |
247 | | - | |
| 232 | + | |
248 | 233 | | |
249 | 234 | | |
250 | 235 | | |
251 | 236 | | |
252 | 237 | | |
253 | 238 | | |
254 | | - | |
255 | | - | |
256 | | - | |
| 239 | + | |
257 | 240 | | |
258 | 241 | | |
259 | 242 | | |
260 | | - | |
261 | | - | |
262 | | - | |
| 243 | + | |
263 | 244 | | |
264 | 245 | | |
265 | 246 | | |
| |||
268 | 249 | | |
269 | 250 | | |
270 | 251 | | |
271 | | - | |
272 | | - | |
273 | | - | |
| 252 | + | |
274 | 253 | | |
275 | 254 | | |
276 | 255 | | |
| |||
281 | 260 | | |
282 | 261 | | |
283 | 262 | | |
284 | | - | |
285 | | - | |
286 | | - | |
| 263 | + | |
287 | 264 | | |
288 | 265 | | |
289 | 266 | | |
| |||
295 | 272 | | |
296 | 273 | | |
297 | 274 | | |
298 | | - | |
299 | | - | |
300 | | - | |
| 275 | + | |
301 | 276 | | |
302 | 277 | | |
303 | 278 | | |
| |||
326 | 301 | | |
327 | 302 | | |
328 | 303 | | |
329 | | - | |
330 | | - | |
| 304 | + | |
331 | 305 | | |
332 | 306 | | |
333 | 307 | | |
| |||
412 | 386 | | |
413 | 387 | | |
414 | 388 | | |
| 389 | + | |
415 | 390 | | |
416 | 391 | | |
417 | 392 | | |
418 | 393 | | |
419 | 394 | | |
420 | 395 | | |
421 | 396 | | |
422 | | - | |
423 | | - | |
| 397 | + | |
424 | 398 | | |
425 | 399 | | |
426 | 400 | | |
| |||
507 | 481 | | |
508 | 482 | | |
509 | 483 | | |
510 | | - | |
511 | | - | |
| 484 | + | |
512 | 485 | | |
513 | 486 | | |
514 | 487 | | |
| |||
526 | 499 | | |
527 | 500 | | |
528 | 501 | | |
529 | | - | |
530 | | - | |
531 | | - | |
| 502 | + | |
532 | 503 | | |
533 | 504 | | |
534 | 505 | | |
| |||
541 | 512 | | |
542 | 513 | | |
543 | 514 | | |
544 | | - | |
545 | | - | |
546 | | - | |
| 515 | + | |
547 | 516 | | |
548 | 517 | | |
549 | 518 | | |
| |||
Lines changed: 14 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
713 | 713 | | |
714 | 714 | | |
715 | 715 | | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
716 | 730 | | |
717 | 731 | | |
718 | 732 | | |
| |||
Lines changed: 26 additions & 41 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
229 | 214 | | |
230 | 215 | | |
231 | 216 | | |
| |||
Lines changed: 7 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
310 | 310 | | |
311 | 311 | | |
312 | 312 | | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
323 | 320 | | |
324 | 321 | | |
325 | 322 | | |
| |||
Lines changed: 0 additions & 23 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
759 | 759 | | |
760 | 760 | | |
761 | 761 | | |
762 | | - | |
763 | | - | |
764 | | - | |
765 | | - | |
766 | | - | |
767 | | - | |
768 | | - | |
769 | | - | |
770 | | - | |
771 | | - | |
772 | | - | |
773 | | - | |
774 | | - | |
775 | | - | |
776 | | - | |
777 | | - | |
778 | | - | |
779 | | - | |
780 | | - | |
781 | | - | |
782 | | - | |
783 | | - | |
784 | | - | |
785 | 762 | | |
786 | 763 | | |
787 | 764 | | |
| |||
Lines changed: 6 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
308 | 308 | | |
309 | 309 | | |
310 | 310 | | |
311 | | - | |
| 311 | + | |
312 | 312 | | |
313 | 313 | | |
314 | 314 | | |
315 | 315 | | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
| 316 | + | |
| 317 | + | |
323 | 318 | | |
324 | 319 | | |
325 | 320 | | |
326 | | - | |
| 321 | + | |
327 | 322 | | |
328 | 323 | | |
329 | 324 | | |
330 | 325 | | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | | - | |
335 | | - | |
336 | | - | |
337 | | - | |
| 326 | + | |
| 327 | + | |
338 | 328 | | |
339 | 329 | | |
340 | 330 | | |
| |||
0 commit comments