Commit 557ff9a
fix(angular): preserve block-body functions in decorator providers
Block-body arrow functions and function expressions in decorator properties
(e.g., useFactory) were silently having unsupported statements dropped.
Only return and expression statements survived, corrupting the function body
and causing runtime errors.
Add RawSource fallback: when convert_oxc_expression encounters a block-body
arrow with unsupported statement types (const, if, for, try/catch, etc.) or
a function expression, it preserves the complete source text verbatim via
span slicing instead of silently dropping statements.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 7d4e9a0 commit 557ff9a
File tree
20 files changed
+496
-134
lines changed- crates/oxc_angular_compiler
- src
- class_metadata
- component
- directive
- injectable
- ir
- ng_module
- output
- pipeline/phases
- pipe
- tests
20 files changed
+496
-134
lines changedLines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
| 80 | + | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
53 | 54 | | |
54 | 55 | | |
55 | 56 | | |
| |||
130 | 131 | | |
131 | 132 | | |
132 | 133 | | |
133 | | - | |
| 134 | + | |
| 135 | + | |
134 | 136 | | |
135 | 137 | | |
136 | 138 | | |
| |||
150 | 152 | | |
151 | 153 | | |
152 | 154 | | |
153 | | - | |
| 155 | + | |
| 156 | + | |
154 | 157 | | |
155 | 158 | | |
156 | 159 | | |
| |||
159 | 162 | | |
160 | 163 | | |
161 | 164 | | |
162 | | - | |
| 165 | + | |
| 166 | + | |
163 | 167 | | |
164 | 168 | | |
165 | 169 | | |
166 | | - | |
| 170 | + | |
| 171 | + | |
167 | 172 | | |
168 | 173 | | |
169 | 174 | | |
| |||
1134 | 1139 | | |
1135 | 1140 | | |
1136 | 1141 | | |
1137 | | - | |
1138 | | - | |
1139 | | - | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
1140 | 1149 | | |
1141 | 1150 | | |
1142 | 1151 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1616 | 1616 | | |
1617 | 1617 | | |
1618 | 1618 | | |
1619 | | - | |
1620 | | - | |
1621 | | - | |
| 1619 | + | |
| 1620 | + | |
| 1621 | + | |
| 1622 | + | |
| 1623 | + | |
| 1624 | + | |
| 1625 | + | |
1622 | 1626 | | |
1623 | 1627 | | |
1624 | 1628 | | |
| |||
1696 | 1700 | | |
1697 | 1701 | | |
1698 | 1702 | | |
1699 | | - | |
| 1703 | + | |
| 1704 | + | |
1700 | 1705 | | |
1701 | 1706 | | |
1702 | 1707 | | |
| |||
1848 | 1853 | | |
1849 | 1854 | | |
1850 | 1855 | | |
1851 | | - | |
| 1856 | + | |
1852 | 1857 | | |
1853 | 1858 | | |
1854 | 1859 | | |
| |||
1906 | 1911 | | |
1907 | 1912 | | |
1908 | 1913 | | |
1909 | | - | |
| 1914 | + | |
| 1915 | + | |
1910 | 1916 | | |
1911 | 1917 | | |
1912 | 1918 | | |
| |||
1939 | 1945 | | |
1940 | 1946 | | |
1941 | 1947 | | |
1942 | | - | |
| 1948 | + | |
1943 | 1949 | | |
1944 | 1950 | | |
1945 | 1951 | | |
| |||
1980 | 1986 | | |
1981 | 1987 | | |
1982 | 1988 | | |
1983 | | - | |
| 1989 | + | |
| 1990 | + | |
1984 | 1991 | | |
1985 | 1992 | | |
1986 | 1993 | | |
| |||
2017 | 2024 | | |
2018 | 2025 | | |
2019 | 2026 | | |
2020 | | - | |
| 2027 | + | |
2021 | 2028 | | |
2022 | 2029 | | |
2023 | 2030 | | |
| |||
2061 | 2068 | | |
2062 | 2069 | | |
2063 | 2070 | | |
2064 | | - | |
| 2071 | + | |
| 2072 | + | |
2065 | 2073 | | |
2066 | 2074 | | |
2067 | 2075 | | |
| |||
2108 | 2116 | | |
2109 | 2117 | | |
2110 | 2118 | | |
2111 | | - | |
| 2119 | + | |
2112 | 2120 | | |
2113 | 2121 | | |
2114 | 2122 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| 80 | + | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
| |||
142 | 143 | | |
143 | 144 | | |
144 | 145 | | |
145 | | - | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
146 | 149 | | |
147 | 150 | | |
148 | 151 | | |
| |||
180 | 183 | | |
181 | 184 | | |
182 | 185 | | |
183 | | - | |
| 186 | + | |
184 | 187 | | |
185 | 188 | | |
186 | 189 | | |
| |||
252 | 255 | | |
253 | 256 | | |
254 | 257 | | |
| 258 | + | |
255 | 259 | | |
256 | 260 | | |
257 | 261 | | |
| |||
270 | 274 | | |
271 | 275 | | |
272 | 276 | | |
273 | | - | |
| 277 | + | |
274 | 278 | | |
275 | 279 | | |
276 | 280 | | |
| |||
290 | 294 | | |
291 | 295 | | |
292 | 296 | | |
| 297 | + | |
293 | 298 | | |
294 | 299 | | |
295 | 300 | | |
| |||
306 | 311 | | |
307 | 312 | | |
308 | 313 | | |
309 | | - | |
| 314 | + | |
| 315 | + | |
310 | 316 | | |
311 | 317 | | |
312 | 318 | | |
| |||
885 | 891 | | |
886 | 892 | | |
887 | 893 | | |
888 | | - | |
| 894 | + | |
889 | 895 | | |
890 | 896 | | |
891 | 897 | | |
| |||
Lines changed: 5 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
186 | | - | |
| 186 | + | |
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
| |||
779 | 779 | | |
780 | 780 | | |
781 | 781 | | |
782 | | - | |
| 782 | + | |
783 | 783 | | |
784 | 784 | | |
785 | 785 | | |
| |||
799 | 799 | | |
800 | 800 | | |
801 | 801 | | |
802 | | - | |
| 802 | + | |
803 | 803 | | |
804 | 804 | | |
805 | 805 | | |
| |||
941 | 941 | | |
942 | 942 | | |
943 | 943 | | |
944 | | - | |
| 944 | + | |
945 | 945 | | |
946 | 946 | | |
947 | 947 | | |
| |||
960 | 960 | | |
961 | 961 | | |
962 | 962 | | |
963 | | - | |
| 963 | + | |
964 | 964 | | |
965 | 965 | | |
966 | 966 | | |
| |||
0 commit comments