Skip to content

Commit 981b703

Browse files
committed
[compiler] Check TSAsExpression and TSNonNullExpression reorderability (#33788)
## Summary The `TSAsExpression` and `TSNonNullExpression` nodes are supported by `lowerExpression()` but `isReorderableExpression()` does not check if they can be reordered. This PR updates `isReorderableExpression()` to handle these two node types by adding cases that fall through to the existing `TypeCastExpression` case. We ran `react-compiler-healthcheck` at scale on several of our repos and found dozens of `` (BuildHIR::node.lowerReorderableExpression) Expression type `TSAsExpression` cannot be safely reordered`` errors and a handful for `TSNonNullExpression`. ## How did you test this change? In this case I added two fixture tests DiffTrain build for [fe81314](fe81314)
1 parent d151b55 commit 981b703

26 files changed

+93
-89
lines changed

compiled-rn/VERSION_NATIVE_FB

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19.2.0-native-fb-97cdd5d3-20250710
1+
19.2.0-native-fb-fe813143-20250715

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-dev.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<f7f345f50160a2fa575bed174fa760fc>>
10+
* @generated SignedSource<<adfb41125b5186ad3fa8b5c4f31b0d4e>>
1111
*/
1212

1313
"use strict";
@@ -404,5 +404,5 @@ __DEV__ &&
404404
exports.useFormStatus = function () {
405405
return resolveDispatcher().useHostTransitionStatus();
406406
};
407-
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
407+
exports.version = "19.2.0-native-fb-fe813143-20250715";
408408
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-prod.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<2ade998e2c2a0dc89117fbb76a26a2eb>>
10+
* @generated SignedSource<<62ae8072c8b4ccd14bfb2b8130c3dce9>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
206+
exports.version = "19.2.0-native-fb-fe813143-20250715";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-profiling.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<2ade998e2c2a0dc89117fbb76a26a2eb>>
10+
* @generated SignedSource<<62ae8072c8b4ccd14bfb2b8130c3dce9>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
206+
exports.version = "19.2.0-native-fb-fe813143-20250715";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-dev.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<17b41f9b2a609ec1fb0d9d149a346e01>>
10+
* @generated SignedSource<<b22835f16c9e1979d3e735d0ab0eb16a>>
1111
*/
1212

1313
/*
@@ -29006,11 +29006,11 @@ __DEV__ &&
2900629006
};
2900729007
(function () {
2900829008
var isomorphicReactPackageVersion = React.version;
29009-
if ("19.2.0-native-fb-97cdd5d3-20250710" !== isomorphicReactPackageVersion)
29009+
if ("19.2.0-native-fb-fe813143-20250715" !== isomorphicReactPackageVersion)
2901029010
throw Error(
2901129011
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2901229012
(isomorphicReactPackageVersion +
29013-
"\n - react-dom: 19.2.0-native-fb-97cdd5d3-20250710\nLearn more: https://react.dev/warnings/version-mismatch")
29013+
"\n - react-dom: 19.2.0-native-fb-fe813143-20250715\nLearn more: https://react.dev/warnings/version-mismatch")
2901429014
);
2901529015
})();
2901629016
("function" === typeof Map &&
@@ -29047,10 +29047,10 @@ __DEV__ &&
2904729047
!(function () {
2904829048
var internals = {
2904929049
bundleType: 1,
29050-
version: "19.2.0-native-fb-97cdd5d3-20250710",
29050+
version: "19.2.0-native-fb-fe813143-20250715",
2905129051
rendererPackageName: "react-dom",
2905229052
currentDispatcherRef: ReactSharedInternals,
29053-
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
29053+
reconcilerVersion: "19.2.0-native-fb-fe813143-20250715"
2905429054
};
2905529055
internals.overrideHookState = overrideHookState;
2905629056
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -29188,5 +29188,5 @@ __DEV__ &&
2918829188
listenToAllSupportedEvents(container);
2918929189
return new ReactDOMHydrationRoot(initialChildren);
2919029190
};
29191-
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
29191+
exports.version = "19.2.0-native-fb-fe813143-20250715";
2919229192
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-prod.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<b7fd685d836f02d9d4a980ff4062fe09>>
10+
* @generated SignedSource<<b4676a5d2e9f5ce5cb61f9699c29f3cf>>
1111
*/
1212

1313
/*
@@ -17123,14 +17123,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1712317123
};
1712417124
var isomorphicReactPackageVersion$jscomp$inline_2004 = React.version;
1712517125
if (
17126-
"19.2.0-native-fb-97cdd5d3-20250710" !==
17126+
"19.2.0-native-fb-fe813143-20250715" !==
1712717127
isomorphicReactPackageVersion$jscomp$inline_2004
1712817128
)
1712917129
throw Error(
1713017130
formatProdErrorMessage(
1713117131
527,
1713217132
isomorphicReactPackageVersion$jscomp$inline_2004,
17133-
"19.2.0-native-fb-97cdd5d3-20250710"
17133+
"19.2.0-native-fb-fe813143-20250715"
1713417134
)
1713517135
);
1713617136
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -17152,10 +17152,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1715217152
};
1715317153
var internals$jscomp$inline_2523 = {
1715417154
bundleType: 0,
17155-
version: "19.2.0-native-fb-97cdd5d3-20250710",
17155+
version: "19.2.0-native-fb-fe813143-20250715",
1715617156
rendererPackageName: "react-dom",
1715717157
currentDispatcherRef: ReactSharedInternals,
17158-
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
17158+
reconcilerVersion: "19.2.0-native-fb-fe813143-20250715"
1715917159
};
1716017160
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1716117161
var hook$jscomp$inline_2524 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17253,4 +17253,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1725317253
listenToAllSupportedEvents(container);
1725417254
return new ReactDOMHydrationRoot(initialChildren);
1725517255
};
17256-
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
17256+
exports.version = "19.2.0-native-fb-fe813143-20250715";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-profiling.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<b3a064c8e61697bd26ac2532b42b95bc>>
10+
* @generated SignedSource<<b2e80df4111c66200fd65ae916e64fb2>>
1111
*/
1212

1313
/*
@@ -19080,14 +19080,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1908019080
};
1908119081
var isomorphicReactPackageVersion$jscomp$inline_2244 = React.version;
1908219082
if (
19083-
"19.2.0-native-fb-97cdd5d3-20250710" !==
19083+
"19.2.0-native-fb-fe813143-20250715" !==
1908419084
isomorphicReactPackageVersion$jscomp$inline_2244
1908519085
)
1908619086
throw Error(
1908719087
formatProdErrorMessage(
1908819088
527,
1908919089
isomorphicReactPackageVersion$jscomp$inline_2244,
19090-
"19.2.0-native-fb-97cdd5d3-20250710"
19090+
"19.2.0-native-fb-fe813143-20250715"
1909119091
)
1909219092
);
1909319093
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -19109,10 +19109,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1910919109
};
1911019110
var internals$jscomp$inline_2251 = {
1911119111
bundleType: 0,
19112-
version: "19.2.0-native-fb-97cdd5d3-20250710",
19112+
version: "19.2.0-native-fb-fe813143-20250715",
1911319113
rendererPackageName: "react-dom",
1911419114
currentDispatcherRef: ReactSharedInternals,
19115-
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710",
19115+
reconcilerVersion: "19.2.0-native-fb-fe813143-20250715",
1911619116
getLaneLabelMap: function () {
1911719117
for (
1911819118
var map = new Map(), lane = 1, index$319 = 0;
@@ -19225,4 +19225,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1922519225
listenToAllSupportedEvents(container);
1922619226
return new ReactDOMHydrationRoot(initialChildren);
1922719227
};
19228-
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
19228+
exports.version = "19.2.0-native-fb-fe813143-20250715";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMProfiling-dev.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<e326d7371a7cc26da4b5b01884683093>>
10+
* @generated SignedSource<<7e54731647e2a535d2105702d1ea8208>>
1111
*/
1212

1313
/*
@@ -29062,11 +29062,11 @@ __DEV__ &&
2906229062
};
2906329063
(function () {
2906429064
var isomorphicReactPackageVersion = React.version;
29065-
if ("19.2.0-native-fb-97cdd5d3-20250710" !== isomorphicReactPackageVersion)
29065+
if ("19.2.0-native-fb-fe813143-20250715" !== isomorphicReactPackageVersion)
2906629066
throw Error(
2906729067
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2906829068
(isomorphicReactPackageVersion +
29069-
"\n - react-dom: 19.2.0-native-fb-97cdd5d3-20250710\nLearn more: https://react.dev/warnings/version-mismatch")
29069+
"\n - react-dom: 19.2.0-native-fb-fe813143-20250715\nLearn more: https://react.dev/warnings/version-mismatch")
2907029070
);
2907129071
})();
2907229072
("function" === typeof Map &&
@@ -29103,10 +29103,10 @@ __DEV__ &&
2910329103
!(function () {
2910429104
var internals = {
2910529105
bundleType: 1,
29106-
version: "19.2.0-native-fb-97cdd5d3-20250710",
29106+
version: "19.2.0-native-fb-fe813143-20250715",
2910729107
rendererPackageName: "react-dom",
2910829108
currentDispatcherRef: ReactSharedInternals,
29109-
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
29109+
reconcilerVersion: "19.2.0-native-fb-fe813143-20250715"
2911029110
};
2911129111
internals.overrideHookState = overrideHookState;
2911229112
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -29560,7 +29560,7 @@ __DEV__ &&
2956029560
exports.useFormStatus = function () {
2956129561
return resolveDispatcher().useHostTransitionStatus();
2956229562
};
29563-
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
29563+
exports.version = "19.2.0-native-fb-fe813143-20250715";
2956429564
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
2956529565
"function" ===
2956629566
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMProfiling-prod.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<51223ca10c541710ebf7753f56ccd2eb>>
10+
* @generated SignedSource<<3ef373a70ccc148dcaadd636c6b7cc04>>
1111
*/
1212

1313
/*
@@ -17134,14 +17134,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1713417134
};
1713517135
var isomorphicReactPackageVersion$jscomp$inline_2005 = React.version;
1713617136
if (
17137-
"19.2.0-native-fb-97cdd5d3-20250710" !==
17137+
"19.2.0-native-fb-fe813143-20250715" !==
1713817138
isomorphicReactPackageVersion$jscomp$inline_2005
1713917139
)
1714017140
throw Error(
1714117141
formatProdErrorMessage(
1714217142
527,
1714317143
isomorphicReactPackageVersion$jscomp$inline_2005,
17144-
"19.2.0-native-fb-97cdd5d3-20250710"
17144+
"19.2.0-native-fb-fe813143-20250715"
1714517145
)
1714617146
);
1714717147
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -17163,10 +17163,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1716317163
};
1716417164
var internals$jscomp$inline_2526 = {
1716517165
bundleType: 0,
17166-
version: "19.2.0-native-fb-97cdd5d3-20250710",
17166+
version: "19.2.0-native-fb-fe813143-20250715",
1716717167
rendererPackageName: "react-dom",
1716817168
currentDispatcherRef: ReactSharedInternals,
17169-
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
17169+
reconcilerVersion: "19.2.0-native-fb-fe813143-20250715"
1717017170
};
1717117171
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1717217172
var hook$jscomp$inline_2527 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17417,4 +17417,4 @@ exports.useFormState = function (action, initialState, permalink) {
1741717417
exports.useFormStatus = function () {
1741817418
return ReactSharedInternals.H.useHostTransitionStatus();
1741917419
};
17420-
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
17420+
exports.version = "19.2.0-native-fb-fe813143-20250715";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMProfiling-profiling.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<5d506356eaed59dd393f2704ae6b6d19>>
10+
* @generated SignedSource<<eac2362a2265f7e85a522ed2b1f09c67>>
1111
*/
1212

1313
/*
@@ -19095,14 +19095,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1909519095
};
1909619096
var isomorphicReactPackageVersion$jscomp$inline_2245 = React.version;
1909719097
if (
19098-
"19.2.0-native-fb-97cdd5d3-20250710" !==
19098+
"19.2.0-native-fb-fe813143-20250715" !==
1909919099
isomorphicReactPackageVersion$jscomp$inline_2245
1910019100
)
1910119101
throw Error(
1910219102
formatProdErrorMessage(
1910319103
527,
1910419104
isomorphicReactPackageVersion$jscomp$inline_2245,
19105-
"19.2.0-native-fb-97cdd5d3-20250710"
19105+
"19.2.0-native-fb-fe813143-20250715"
1910619106
)
1910719107
);
1910819108
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -19124,10 +19124,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1912419124
};
1912519125
var internals$jscomp$inline_2252 = {
1912619126
bundleType: 0,
19127-
version: "19.2.0-native-fb-97cdd5d3-20250710",
19127+
version: "19.2.0-native-fb-fe813143-20250715",
1912819128
rendererPackageName: "react-dom",
1912919129
currentDispatcherRef: ReactSharedInternals,
19130-
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710",
19130+
reconcilerVersion: "19.2.0-native-fb-fe813143-20250715",
1913119131
getLaneLabelMap: function () {
1913219132
for (
1913319133
var map = new Map(), lane = 1, index$319 = 0;
@@ -19393,7 +19393,7 @@ exports.useFormState = function (action, initialState, permalink) {
1939319393
exports.useFormStatus = function () {
1939419394
return ReactSharedInternals.H.useHostTransitionStatus();
1939519395
};
19396-
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
19396+
exports.version = "19.2.0-native-fb-fe813143-20250715";
1939719397
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
1939819398
"function" ===
1939919399
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

0 commit comments

Comments
 (0)