Commit 128f43a
committed
[compiler] Support optional/logical/etc within try/catch (#35606)
Adds support for value terminals (optional/logical/ternary/sequence)
within try/catch clauses.
Try/catch expressions insert maybe-throw terminals after each
instruction, but BuildReactiveFunction's value block extraction was not
expecting these terminals. The fix is to roughly treat maybe-throw
similarly to goto, falling through to the continuation block, but there
are a few edge cases to handle.
I've also added extensive tests, including testing that errors correctly
flow to the catch handler.
DiffTrain build for [b8a6bfa](b8a6bfa)1 parent 7e3b3b6 commit 128f43a
File tree
23 files changed
+324
-380
lines changed- compiled-rn
- facebook-fbsource/xplat/js
- RKJSModules/vendor/react
- react-dom/cjs
- react-test-renderer/cjs
- react/cjs
- react-native-github/Libraries/Renderer
- implementations
- tools/eslint-plugin-react-hooks
- cjs
23 files changed
+324
-380
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
410 | 410 | | |
411 | 411 | | |
412 | 412 | | |
413 | | - | |
| 413 | + | |
414 | 414 | | |
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
212 | | - | |
| 212 | + | |
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
212 | | - | |
| 212 | + | |
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
30138 | 30138 | | |
30139 | 30139 | | |
30140 | 30140 | | |
30141 | | - | |
| 30141 | + | |
30142 | 30142 | | |
30143 | 30143 | | |
30144 | 30144 | | |
30145 | | - | |
| 30145 | + | |
30146 | 30146 | | |
30147 | 30147 | | |
30148 | 30148 | | |
| |||
30179 | 30179 | | |
30180 | 30180 | | |
30181 | 30181 | | |
30182 | | - | |
| 30182 | + | |
30183 | 30183 | | |
30184 | 30184 | | |
30185 | | - | |
| 30185 | + | |
30186 | 30186 | | |
30187 | 30187 | | |
30188 | 30188 | | |
| |||
30332 | 30332 | | |
30333 | 30333 | | |
30334 | 30334 | | |
30335 | | - | |
| 30335 | + | |
30336 | 30336 | | |
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
17736 | 17736 | | |
17737 | 17737 | | |
17738 | 17738 | | |
17739 | | - | |
| 17739 | + | |
17740 | 17740 | | |
17741 | 17741 | | |
17742 | 17742 | | |
17743 | 17743 | | |
17744 | 17744 | | |
17745 | 17745 | | |
17746 | | - | |
| 17746 | + | |
17747 | 17747 | | |
17748 | 17748 | | |
17749 | 17749 | | |
| |||
17765 | 17765 | | |
17766 | 17766 | | |
17767 | 17767 | | |
17768 | | - | |
| 17768 | + | |
17769 | 17769 | | |
17770 | 17770 | | |
17771 | | - | |
| 17771 | + | |
17772 | 17772 | | |
17773 | 17773 | | |
17774 | 17774 | | |
| |||
17875 | 17875 | | |
17876 | 17876 | | |
17877 | 17877 | | |
17878 | | - | |
| 17878 | + | |
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
19725 | 19725 | | |
19726 | 19726 | | |
19727 | 19727 | | |
19728 | | - | |
| 19728 | + | |
19729 | 19729 | | |
19730 | 19730 | | |
19731 | 19731 | | |
19732 | 19732 | | |
19733 | 19733 | | |
19734 | 19734 | | |
19735 | | - | |
| 19735 | + | |
19736 | 19736 | | |
19737 | 19737 | | |
19738 | 19738 | | |
| |||
19754 | 19754 | | |
19755 | 19755 | | |
19756 | 19756 | | |
19757 | | - | |
| 19757 | + | |
19758 | 19758 | | |
19759 | 19759 | | |
19760 | | - | |
| 19760 | + | |
19761 | 19761 | | |
19762 | 19762 | | |
19763 | 19763 | | |
| |||
19880 | 19880 | | |
19881 | 19881 | | |
19882 | 19882 | | |
19883 | | - | |
| 19883 | + | |
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
30200 | 30200 | | |
30201 | 30201 | | |
30202 | 30202 | | |
30203 | | - | |
| 30203 | + | |
30204 | 30204 | | |
30205 | 30205 | | |
30206 | 30206 | | |
30207 | | - | |
| 30207 | + | |
30208 | 30208 | | |
30209 | 30209 | | |
30210 | 30210 | | |
| |||
30241 | 30241 | | |
30242 | 30242 | | |
30243 | 30243 | | |
30244 | | - | |
| 30244 | + | |
30245 | 30245 | | |
30246 | 30246 | | |
30247 | | - | |
| 30247 | + | |
30248 | 30248 | | |
30249 | 30249 | | |
30250 | 30250 | | |
| |||
30710 | 30710 | | |
30711 | 30711 | | |
30712 | 30712 | | |
30713 | | - | |
| 30713 | + | |
30714 | 30714 | | |
30715 | 30715 | | |
30716 | 30716 | | |
| |||
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
17753 | 17753 | | |
17754 | 17754 | | |
17755 | 17755 | | |
17756 | | - | |
| 17756 | + | |
17757 | 17757 | | |
17758 | 17758 | | |
17759 | 17759 | | |
17760 | 17760 | | |
17761 | 17761 | | |
17762 | 17762 | | |
17763 | | - | |
| 17763 | + | |
17764 | 17764 | | |
17765 | 17765 | | |
17766 | 17766 | | |
| |||
17782 | 17782 | | |
17783 | 17783 | | |
17784 | 17784 | | |
17785 | | - | |
| 17785 | + | |
17786 | 17786 | | |
17787 | 17787 | | |
17788 | | - | |
| 17788 | + | |
17789 | 17789 | | |
17790 | 17790 | | |
17791 | 17791 | | |
| |||
18045 | 18045 | | |
18046 | 18046 | | |
18047 | 18047 | | |
18048 | | - | |
| 18048 | + | |
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
19746 | 19746 | | |
19747 | 19747 | | |
19748 | 19748 | | |
19749 | | - | |
| 19749 | + | |
19750 | 19750 | | |
19751 | 19751 | | |
19752 | 19752 | | |
19753 | 19753 | | |
19754 | 19754 | | |
19755 | 19755 | | |
19756 | | - | |
| 19756 | + | |
19757 | 19757 | | |
19758 | 19758 | | |
19759 | 19759 | | |
| |||
19775 | 19775 | | |
19776 | 19776 | | |
19777 | 19777 | | |
19778 | | - | |
| 19778 | + | |
19779 | 19779 | | |
19780 | 19780 | | |
19781 | | - | |
| 19781 | + | |
19782 | 19782 | | |
19783 | 19783 | | |
19784 | 19784 | | |
| |||
20054 | 20054 | | |
20055 | 20055 | | |
20056 | 20056 | | |
20057 | | - | |
| 20057 | + | |
20058 | 20058 | | |
20059 | 20059 | | |
20060 | 20060 | | |
| |||
0 commit comments